📅 2026-08-29 · 🏷️ 语音AI · 实时通信 · Python开发
项目概览
GitHub: livekit/agents · 语言: Python · ⭐ 13.5k+ · 可完全自托管
构建实时语音 AI 代理的开源框架,底层是 LiveKit 自家的 WebRTC 媒体服务器(开源可自部署)。它把 STT(语音转文本)→ LLM(思考)→ TTS(文本转语音)整条流水线封装好,你只需要关心业务逻辑:接什么模型、怎么回复、什么时候调工具。
典型应用:电话客服代理、餐厅订座机器人、AI 外呼、带数字人形象的语音助手。同一个代理代码还可以纯文本运行,语音和文本双模态。
pip install "livekit-agents[openai,deepgram,cartesia]"
方括号里是模型提供方的插件,按需选择组合。
官方推荐给编码代理装两样东西:
# LiveKit Agent Skill:架构指引与最佳实践
npx skills add livekit/agent-skills --skill livekit-agents
# 再配一个 LiveKit Docs MCP(docs.livekit.io/mcp)提供实时文档检索
最小示例需要:
LIVEKIT_URL=ws://localhost:7880 # 或云端地址
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=secret
# 各模型插件自己的 Key:OPENAI_API_KEY / DEEPGRAM_API_KEY / CARTESIA_API_KEY
python myagent.py console
本地录音输入、本地播放输出,最快验证代理行为的方式,零外部依赖。
配好 LiveKit 客户端后用 dev 模式跑,配合 Agents Playground 网页界面直接和代理对话,调 prompt 和工具最方便。
python myagent.py start
| 示例 | 说明 |
|---|---|
| 🎙️ Starter Agent | 语音对话优化的入门代理 |
| 🍽️ 餐厅订座 | 完整的订餐订位电话代理 |
| 📞 外呼代理 | 自动拨打电话的完整实现 |
| 🛠️ 动态工具创建 | 运行时注册 function tool |
| 📋 结构化输出 | 用 LLM 结构化输出控制 TTS 语气 |
| 🎥 视频 Avatar | 接 Tavus/Bithuman/LemonSlice 数字人 |
| 👁️ Gemini Live 视觉 | 能"看"的语音代理(含 iOS App) |
项目用 uv 管依赖:
uv sync --all-extras --dev
# examples/.env 填好凭据后运行任意示例
想了解 Agent 的任务编排与多代理交接设计,看OpenAI Agents SDK教程;更复杂的多代理状态机编排看LangGraph多Agent编排教程。
📅 2026-08-29 · 🏷️ 语音AI · 实时通信 · Python开发