
LiveKit Agents
github.com/livekit/agents- Category
- AI Agents
- Rank
- No. 762Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Agent Building
- Interfaces
- CLI · Web · SDK · API
- Builder
- livekit
- GitHub
- 14.3k stars
- Latest release
- livekit-agents@1.8.2
- Date
About
A Python framework for building realtime, multi-modal voice AI agents that can see, hear, and understand, with pluggable STT/LLM/TTS providers, telephony and WebRTC integration, semantic turn detection, native MCP tool support, and a built-in testing framework.
What it does
LiveKit Agents turns an agent into a server-side participant in an interactive room. A session manages the conversation, while a server schedules work and launches participants for users. Developers compose speech recognition, language, speech generation, realtime model, and tool components, then connect the result to browser, mobile, or phone clients.
Why it's ranked here
The framework covers more of the operational path than a thin model wrapper. It combines conversation sessions, job distribution, client data exchange, phone connectivity, provider choice, local console testing, and behavioral assertions. That breadth makes it compelling for teams building deployed conversational systems, provided they accept the LiveKit-centered runtime model.
What's good
Provider integrations are modular, including fallback adapters for language, realtime, speech recognition, and speech generation layers. Multi-agent handoffs can preserve user data while changing behavior or models. The testing interface checks ordered messages, tool calls, tool outputs, and LLM-judged intent. Examples also cover text-only agents, transcription, avatars, outbound calling, and multi-user push-to-talk.
Tradeoffs
This is infrastructure for server-run participants, not a small prompt helper. The basic hosted example needs a LiveKit URL and API credentials, while direct provider use brings separate model integrations and keys. The repository is a large workspace with many provider packages and examples. Its older rich Python command interface is deprecated in favor of the LiveKit command-line path.
How to use it well
Choose it for production voice or mixed-media agents that must join rooms, serve phone calls, exchange client data, or hand conversations between specialized agents. Start in terminal mode, test event sequences and intent, then attach the required provider plugins and deployment credentials. It does not replace the client application; use LiveKit client SDKs to build that user-facing layer.
Technical notes+
The root pyproject.toml defines a uv workspace containing livekit-agents, many livekit-plugins/* packages, and multiple example projects; pytest targets tests with unit, provider, realtime, speech, evaluation, and documentation markers, while mypy runs in strict mode. livekit-agents/livekit/agents/__init__.py exposes Agent, AgentSession, AgentServer, simulation types, run assertions, model interfaces, room I/O, and tool abstractions. livekit-agents/livekit/agents/__main__.py implements start, console, and download-files commands with plugin discovery. livekit-agents/livekit/agents/cli/cli.py says run_app is deprecated and routes it to the legacy CLI, while the newer entry point discovers a server and runs workers or TCP console sessions.
Observed
- License
- Apache License 2.0 notices appear in the core Python package.
- Primary language
- Python.
- Install surface
- Published as livekit-agents on PyPI, with provider plugins selectable through pip extras.
- Interfaces
- Python library, command-line utilities, dispatch APIs, client RPC and data APIs, and native MCP tool integration.
- Packaging structure
- uv monorepo workspace containing the core package, many provider plugins, and example applications.
- Testing
- Pytest configuration includes unit, provider integration, realtime, speech, behavioral evaluation, and documentation test markers.
- Client platforms
- LiveKit client SDKs are described as supporting all major platforms.
Read from README.md, makefile, pyproject.toml, .github/download_stats.py, .github/update_versions.py, .github/convert_html_docs.py, .github/pin_example_to_ref.py, livekit-agents/livekit/agents/__init__.py, livekit-agents/livekit/agents/__main__.py, livekit-agents/livekit/agents/cli/cli.py, livekit-agents/livekit/agents/cli/__init__.py, livekit-agents/livekit/agents/ipc/__init__.py, livekit-agents/livekit/agents/llm/__init__.py, livekit-agents/livekit/agents/stt/__init__.py, livekit-agents/livekit/agents/tts/__init__.py.
What it can do
Build realtime voice AI agents that process speech input via pluggable STT/LLM/TTS providers
Audio/voice stream → Voice agent responses
Integrate voice agents with telephony and WebRTC systems
Telephony/WebRTC connection → Realtime agent communication
Detect semantic turn-taking in conversations
Conversation audio/text → Turn detection signal
Connect agents to external tools via native MCP support
MCP tool definitions → Tool invocation results
Hand off conversations between multiple agents
Active agent session → Transferred session to another agent
Test voice agents using a built-in testing framework
Agent code/session → Test results
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.