Skip to main content

Run multiple LiveKit voice agents in a single shared worker process.

Project description

OpenRTC

OpenRTC is a Python framework for running multiple LiveKit voice agents in a single worker process with shared prewarmed models.

Decorator-based discovery with shared defaults

Use @agent_config(...) on a standard LiveKit Agent subclass to attach optional discovery metadata. Then set shared providers once on AgentPool and only override the values that differ per agent.

from pathlib import Path

from openrtc import AgentPool, agent_config
from livekit.agents import Agent


@agent_config(name="restaurant")
class RestaurantAgent(Agent):
    ...


pool = AgentPool(
    default_stt="deepgram/nova-3:multi",
    default_llm="openai/gpt-4.1-mini",
    default_tts="cartesia/sonic-3",
)
pool.discover(Path("./agents"))
pool.run()

The CLI also accepts shared defaults for discovered agents:

openrtc list \
  --agents-dir ./examples/agents \
  --default-stt deepgram/nova-3:multi \
  --default-llm openai/gpt-4.1-mini \
  --default-tts cartesia/sonic-3

For backward compatibility, discovery still supports legacy module-level AGENT_* variables, but the decorator is the preferred pattern.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openrtc-0.0.5.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openrtc-0.0.5-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file openrtc-0.0.5.tar.gz.

File metadata

  • Download URL: openrtc-0.0.5.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openrtc-0.0.5.tar.gz
Algorithm Hash digest
SHA256 8e3d21ae685c00df88116f268f25414962d3ac3bfccc0dec67da0171a1673c90
MD5 96ea185ff1aacc92c3684422ac10084f
BLAKE2b-256 0681e6ec94f2e0e3a3990a100ea202c9a56240a73b47d45e84eb5bb3b399b335

See more details on using hashes here.

File details

Details for the file openrtc-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: openrtc-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openrtc-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5e174a6715c437567a6cef54b59e9735e29d8f48f4457fe71b083e1629a48d4b
MD5 bbe113c97d5dfc0f59788fd909c1fdb4
BLAKE2b-256 4b8e234f103436e0a0d4294ab4334261c4c2fe28354c1b17af3829459d5ad46d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page