phone-agent

📞 实时 AI 语音电话代理

🥥17总安装量 6评分人数 3
100% 的用户推荐

基于 Twilio+Deepgram+OpenAI+ElevenLabs 的实时 AI 电话代理,实现语音通话自动接听、转录、智能回复与语音合成,适合快速搭建语音客服或测试语音 AI 能力。

C

存在明显风险,不建议直接用于敏感场景

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ⚠️ Webhook 端点缺乏 Twilio 请求签名验证,存在伪造请求风险
  • ⚠️ 通话记录以明文 JSON 格式存储,需严格限制文件系统访问权限
  • ⚠️ 日志记录包含敏感对话内容,未做脱敏处理
  • ⚠️ 使用 subprocess 调用 ffmpeg 进行音频转换,存在潜在命令注入风险(当前参数硬编码)
  • ✅ API 密钥均通过环境变量管理,无硬编码密钥
  • ✅ 外部通信均使用 HTTPS/WSS 加密传输
  • ✅ 依赖包均为知名开源项目,无已知恶意依赖

使用说明

核心用法

Phone Agent Skill 是一个本地 FastAPI 服务器,作为实时语音桥梁连接电话网络与 AI 服务。用户拨打 Twilio 号码后,系统通过 WebSocket 建立音频流:Deepgram 实时将语音转录为文本,OpenAI GPT-4o 生成对话响应,ElevenLabs 将文本合成为自然语音返回给呼叫者。支持自定义系统提示词、切换语音模型,以及通过 YAML 配置任务型对话(如预订餐厅、获取报价)。部署需配合 ngrok 等工具暴露本地端口,并在 Twilio 控制台配置 Webhook 回调地址。

显著优点

技术栈成熟完整:整合 Twilio(电话)、Deepgram(极速 STT)、OpenAI(LLM)、ElevenLabs(高质量 TTS)四大行业标杆服务,端到端延迟低,语音交互体验流畅自然。

开箱即用:提供清晰的安装指南、环境变量配置模板和启动脚本,开发者可在 30 分钟内完成从 0 到通话测试的全流程。

高度可定制:系统提示词、语音 ID、LLM 模型均可通过修改代码快速调整,支持任务导向的对话流程设计,适应客服预约、信息收集等多种场景。

架构清晰透明:FastAPI + WebSocket 的现代化架构,代码结构分层合理,便于二次开发和功能扩展。

潜在缺点与局限性

部署复杂度高:必须同时管理 4 个外部 API 密钥、配置 Twilio 电话号与 Webhook、使用 ngrok 穿透内网,对新手门槛较高。

成本叠加:Twilio 通话费 + Deepgram 转录费 + OpenAI Token 费 + ElevenLabs TTS 费,高频使用下成本显著高于纯文本对话方案。

网络依赖严苛:实时语音对延迟极度敏感,任何一环(STT/LLM/TTS)的网络波动都会导致对话卡顿或中断,不适合弱网环境。

功能边界有限:当前实现为单轮对话流,缺乏多轮上下文记忆优化、打断处理、噪音抑制等生产级语音 AI 的高级特性。

适合的目标群体

  • AI 开发者/产品经理:快速验证语音交互原型,测试 LLM 在电话场景的表现
  • 中小企业技术团队:搭建轻量级语音客服、预约系统或信息收集热线
  • 教育/研究机构:开展语音 AI、人机对话相关的教学实验与学术研究
  • Twilio/OpenAI 生态用户:已有相关账号和技术积累,希望扩展语音能力

使用风险

性能风险:实时音频流对 CPU/内存有一定要求,高并发场景需水平扩展;ffmpeg 子进程调用存在资源泄漏隐患。

依赖稳定性:任一上游服务(Deepgram/OpenAI/ElevenLabs)的 API 变更或限流都会导致服务中断,需设计降级策略。

合规与隐私:通话录音和转录文本的存储涉及通信隐私法规,需明确告知用户并获得授权;明文存储的通话记录需严格管控文件权限。

成本失控:实时语音场景下 LLM Token 消耗和 TTS 字符数难以预估,建议设置用量告警和硬上限。

phone-agent 内容

文件夹图标scripts文件夹
文件夹图标tasks文件夹
手动下载zip · 17.7 kB
requirements.txttext/plain
请选择文件