mrkeyoor.com_
Fri 18 Sept 19:10 UTC
LLM Toolsevaluationupdated 26 Aug 2026

agents review

LiveKit Agents is a Python framework for server-side voice and video agents that join real-time rooms as programmable participants. It connects speech recognition, language models, speech synthesis, turn detection, telephony, client apps, and MCP tools around a shared session and job runtime.

+96stars / 7d
Verdict

Our LiveKit Agents install took 27 seconds and only 37 MB, but pytest stopped in 6 seconds because the livekit package could not be imported. The framework is a strong candidate when real-time media, telephony, dispatch, and model choice must work as one system. Adopt it with end-to-end audio canaries and provider-specific tests, because a successful source build does not prove that a live call can hear, think, and speak through every turn.

We ran it

Lab card: what happened when we ran agentsScreenshot of agents (docs.livekit.io/agents)
Install✓ · 27s35 packages · 37 MB
Build✓ · 7s
Tests✗ · 6sran, no count parsed
Known vulns0(pip-audit)
Repo1338 files~225,858 lines of source · 10.5 MB · 13 CI workflows · tests dir

Answers from our run

Does agents build from source?

Dependencies installed in 27 seconds (35 packages), and the build succeeded in 7 seconds. We cloned commit 0ab5562 into a clean Debian container with 3 CPUs and no project-specific setup.

Do agents's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does agents have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use agents?

Text-only assistants that do not need WebRTC or telephony: the repository includes a text example, but most of its value and operating cost sit in real-time media.

What are the alternatives to agents?

Pipecat, OpenAI Agents SDK, LiveKit Agents for JavaScript. Our LiveKit Agents install took 27 seconds and only 37 MB, but pytest stopped in 6 seconds because the livekit package could not be imported.

Setup3/5Small core install, followed by media services and provider credentials
Docs5/5Clear concepts, code, deployment modes, tests, and many examples
Community5/513,165 stars, release 1.7.0, and a same-day repository push
Maturity4/5Production scope and active fixes, with real-time regression reports

Discussed on

  1. hnShow HN: Open source framework OpenAI uses for Advanced Voice266 points

Who it’s for

Teams building production voice agents for web, mobile, or telephone calls.
LiveKit users who want agent scheduling, WebRTC clients, SIP, and model providers in one stack.
Python developers who need multi-agent handoffs, tool calls, turn detection, and voice-session testing.
Operators prepared to monitor latency, audio routing, provider failures, and per-call costs.

Who it’s NOT for

Text-only assistants that do not need WebRTC or telephony: the repository includes a text example, but most of its value and operating cost sit in real-time media.
Teams wanting a single-provider install with no service credentials: the main example needs LiveKit credentials plus STT, LLM, and TTS access through LiveKit Inference or direct providers.
Contributors expecting tests to start after the documented dependency install in every clean container: our pytest run failed while importing tests/conftest.py because Python could not find livekit.
Voice products that cannot tolerate provider-specific regressions without their own canary calls: open reports cover audio routing freezes, false speech detection, missing metrics, and model content leaks in specific configurations.
Organizations unprepared to govern recorded audio and transcripts: release 1.7.0 added PII redaction for observability, which still requires a deliberate data policy.

Setup reality

Our sandbox installed 35 packages in 27 seconds and used 37 MB on disk. The build succeeded in 7 seconds. Pytest exited 4 after 6 seconds while loading tests/conftest.py, with ModuleNotFoundError: No module named 'livekit', so no test counts were produced.

The basic example needs LIVEKIT_URL, LIVEKIT_API_KEY, and LIVEKIT_API_SECRET. It also needs access to speech recognition, a language model, and speech synthesis through LiveKit Inference or provider plugins and keys.

Console mode can test local audio without an external server. Development and production modes connect to LiveKit Cloud or a self-hosted LiveKit server. Telephony, avatars, MCP tools, and provider plugins each add services, credentials, and failure paths.

LiveKit Agents 1.7.0 joins voice AI to a media runtime

The repository is large enough to match that promise: our checkout contained 1,338 files and about 225,858 lines of source at commit 0ab5562. Plugins connect providers for speech, models, avatars, and other services. The README also covers multi-agent handoffs, semantic turn detection, telephone calls through SIP, RPC data exchange with clients, and native MCP tools. A separate JavaScript repository exists for teams that want the same model in Node.js.

What happened when we ran it

Our sandbox installed 35 packages in 27 seconds and used 37 MB on disk. The source build succeeded in 7 seconds. We used Python 3.12 on Debian, 3 CPUs, 8 GB of RAM, no secrets, and an unprivileged container. Pip-audit reported 0 known vulnerabilities. The checkout had 13 CI workflow files and a tests directory, but no Dockerfile.

Pytest exited with code 4 after 6 seconds. While loading tests/conftest.py, Python raised ModuleNotFoundError: No module named 'livekit', so the suite never produced pass, fail, or skip totals. The log gives us the missing import and no deeper cause. We cannot tell from that tail whether the intended contributor command, package layout, or harness environment needed another step. The practical finding is simple: a successful build did not make the documented tests collect in our clean container.

A 37 MB core sits in front of several paid or self-hosted services

The first example installs the framework with OpenAI, Deepgram, and Cartesia extras. Its session uses speech recognition, a language model, and speech synthesis through LiveKit Inference, while comments show how to use direct provider plugins instead. Either route needs model service access. The agent itself also needs LIVEKIT_URL, LIVEKIT_API_KEY, and LIVEKIT_API_SECRET before it can join a room outside console testing.

Our 35-package install is therefore a useful measure of the tested core, not the full production bill. A real call can cross a client SDK, LiveKit server, dispatch service, STT provider, LLM provider, TTS provider, observability pipeline, and SIP carrier. Each hop adds latency, credentials, quotas, regional choices, and a failure mode. LiveKit reduces integration code around those pieces. It does not remove the need to measure them together under the exact languages, networks, and call flows your users have.

Console, dev, and start modes separate three operating stages

python myagent.py console runs with local audio and does not require an external LiveKit server. That is the cheapest place to test prompts, tools, handoffs, and basic speech behavior. dev connects to Cloud or a self-hosted server and adds hot reload. start enables the production path. This separation is sensible because a microphone demo and a distributed telephone service need different checks.

The built-in test framework can assert function calls, outputs, assistant messages, and judge an intent with an LLM. The repository says unit tests run with uv run pytest --unit, while plugin integration tests need provider credentials and run in CI for maintainer pull requests. Our 6-second import failure means adopters should verify the contributor setup before modifying the framework. Application teams should add recorded or synthetic audio tests above those units, since turn timing and provider streaming behavior are where real calls fail.

Open issues show why voice needs end-to-end canaries

Issue #6919 reports audio routing freezing during multi-turn self-hosted SIP calls on version 1.6.9, leaving the agent listening without transcripts. Issue #6956 reports a 1.6.10 Silero checkpoint detecting false speech and interrupting the agent's own playback. Issue #6942 describes thought content reaching speech in one LiveKit Inference model path. These are configuration-specific reports, and release 1.7.0 may change parts of the stack. They are still useful examples of failures that a normal unit test can miss.

GitHub showed 785 open issues and pull requests combined, 13,165 stars, and 3,598 forks. The repository was pushed on August 26, 2026, and release 1.7.0 arrived on August 20. That is a busy, current project rather than one resting on an old release. The large queue also reflects a wide matrix of providers, media paths, and plugins. Health should be judged by the active fixes and release cadence together with the defects that affect your chosen path.

Version 1.7.0 adds PII handling and changes observability fields

The latest release adds PII redaction for Agent Observability across chat history, audio recordings, logs, and traces. It also renames sensitive trace attributes and log fields, so existing third-party queries may need updates. The release includes many fixes around interruptions, tool events, timestamps, transcripts, provider events, audio frames, and terminal cleanup. That list is a reminder that voice correctness includes timing and state, not only the text an LLM returns.

A release feature cannot define an organization's privacy policy. Teams must decide whether calls are recorded, where transcripts and traces are stored, how long they remain, who can retrieve them, and which providers receive audio or text. Run a redaction test with representative names, account numbers, and domain terms before relying on the observability setting. Keep raw audio access separate from application logs and use provider regions that fit the deployment's obligations.

Choose it when LiveKit already solves the transport problem

LiveKit Agents is easiest to recommend when a product needs WebRTC or SIP, multiple client platforms, dispatch, and a choice of speech and model providers. Those pieces already share LiveKit rooms and job concepts, so the framework gives the agent a natural place to run. MCP support and multi-agent handoffs then extend a media product without replacing its transport.

Our run sets the adoption gate: the 27-second install and 7-second build were clean, while tests stopped at the first livekit import. Resolve that contributor-path issue, then run a complete call through the chosen STT, LLM, TTS, transport, and region. Add canaries for silence, interruption, long turns, dropped connections, and provider errors. For a text chatbot, choose a smaller agent SDK. For a real-time voice product already committed to LiveKit, this framework belongs on the shortlist.

Alternatives

ProjectWhat it isPick it when
Pipecat gh↗A Python framework for real-time voice and multimodal pipelines across many transports and providers.pick this instead when transport-neutral pipeline composition matters more than LiveKit rooms and dispatch.
OpenAI Agents SDK gh↗A Python agent SDK with realtime agent support in a provider-centered stack.pick this instead when OpenAI Realtime is the settled model path and you do not need LiveKit's media platform.
LiveKit Agents for JavaScriptThe TypeScript implementation of LiveKit's agent framework.pick this instead when your team wants the same LiveKit architecture in a Node.js and TypeScript codebase.

What people are saying

  1. [techcrunch-ai] Accel-backed Keenable is indexing the web for AI agents
  2. [hackernews] Headlong: A Microharness for Persistent Agents
  3. [techcrunch-ai] OpenAI is building AI agents for everything. Will everyone use them?
  4. [hackernews] Show HN: OzBrain, a shared brain for knowledge between agents and your team
  5. [mastodon-trends] The True Story of Why Immigration Agents Raided a Chicago Apartment Building
  6. [techcrunch-ai] Binance now lets AI agents trade, but keeping them in check is largely up to users

Sources

  1. LiveKit Agents README
  2. LiveKit Agents 1.7.0 release
  3. Audio routing freeze report #6919
  4. Silero false speech report #6956
  5. Inference thought leak report #6942

More llm tools reviews

cc-haha · agent-lightning · harness-sdk · 12306-mcp · ouroboros · headcount · the whole board →