Getting Started
Install and run your first multi-agent worker in minutes.
Architecture
Learn how coroutine mode, routing, and shared prewarm work.
AgentPool API
Full reference for registration, routing, and session configuration.
CLI
openrtc dev, start, console, connect, and JSONL metrics.Why OpenRTC?
| Problem | OpenRTC |
|---|---|
| One worker process per agent class | One worker hosts all your agents |
| VAD and turn detector load per subprocess | Loaded once, shared across every session |
| Hard-coded single-agent entrypoints | Route by room metadata, job metadata, or room-name prefix |
| 3 GB per idle worker | 50+ concurrent sessions in a single process |
Features
Coroutine-mode worker (v0.1): Host 50+ concurrent sessions per process asasyncio tasks instead of paying one subprocess per session. Cooperative
backpressure is routed back to LiveKit dispatch via current_load.
Multi-agent routing: Dispatch the right Agent implementation from a single
worker using room or job metadata. Priority order:
ctx.job.metadata["agent"]ctx.job.metadata["demo"]ctx.job.room.metadata["agent"]/["demo"]- Room name prefix (
support-call-123routes to thesupportagent) - First registered agent (fallback)
livekit-agents with the same dev, start,
console, and connect workflows. Drop into isolation="process" for
per-subprocess isolation when you need it.