Python Worker
The Python worker is a full port of the TypeScript agent using the LiveKit Agents Python SDK (v1.4+). It offers a broader provider and plugin ecosystem and is recommended when you need providers not yet available in the TypeScript agent.Prerequisites
- Python 3.12+
- uv (Python package manager)
Setup
Running
Development (auto-reload on file changes)
Production
Connecting to the playground
SetAGENT_RUNTIME=python in .env.local, then start both the app and the worker:
AgentConfig in metadata and dispatches the job to this worker.
Required environment variables
The worker loads environment variables from the project root.env.local.
Supported providers
LLM
OpenAI, Gemini, Groq, Together, Azure, Cerebras, xAI, Fireworks, Perplexity, DeepSeek, Moonshot, Telnyx, Ollama, OVHcloudTTS
ElevenLabs, Deepgram, OpenAI, Cartesia, Rime, Neuphonic, ResembleSTT
Deepgram, OpenAI, Groq, OVHcloudTools
- MCP servers — native
MCPServerHTTPsupport with bearer/API key auth - Exa web search — configurable search type and result count
Project structure
Python vs TypeScript worker
| TypeScript worker | Python worker | |
|---|---|---|
| Language | TypeScript | Python |
| Provider coverage | Good | Broader |
| ML model integration | Via JS packages | Via Python plugins |
AGENT_RUNTIME value | typescript | python |
| Start command | pnpm agent-typescript:dev | pnpm agent-python:dev |
AgentConfig format, same step progression logic, same voiceblox.agent.events data channel protocol.