Voice Assistant

🎙️ 实时语音对话,2秒即刻应答

OpenClaw 实时语音助手,支持 Deepgram/ElevenLabs 双引擎,全链路流式传输,2秒内首音响应

收藏
10.1k
安装
2.5k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

Voice Assistant 深度评估

核心用法

Voice Assistant 是 OpenClaw 生态的实时语音交互层,将传统文本对话扩展为自然语音对话。用户通过浏览器麦克风输入语音,系统经 WebSocket 实时传输至后端,由配置好的 STT(语音识别)服务转为文本,送入 OpenClaw 网关的 LLM 代理,再将流式生成的回复通过 TTS(语音合成)转换为音频回传播放。

配置过程通过环境变量 .env 完成,支持 Deepgram 与 ElevenLabs 双供应商自由组合。运行依赖单一工具 uv(Python 包管理器),启动后访问本地 7860 端口即可交互。

典型工作流
1. 浏览器捕获麦克风 PCM 音频流 → WebSocket 上传

2. STT 实时返回部分转写,话尾检测后完整文本送入 OpenClaw 网关

3. LLM 通过 SSE 流式生成回复

4. 句子级分块送入 TTS,音频流即时回传浏览器播放

5. 支持「打断」(Barge-In):用户说话时自动取消当前播放并启新会话

显著优点

  • 低延迟架构:端到端首音频目标 <2.5s,实测 1.0-2.5s,满足实时对话体感阈值
  • 全链路流式:音频、转写、LLM 输出、合成全程流式,无等待完整响应
  • 供应商灵活:STT/TTS 各支持两家主流厂商,可按质量、成本、延迟、多语言需求组合
  • OpenClaw 原生:直接复用现有 agent 的上下文、工具调用与记忆,零迁移成本
  • 打断友好:内置 VAD(语音活动检测)与打断机制,交互自然

潜在局限

  • 环境依赖重:需有效 API Key(Deepgram/ElevenLabs)、本地运行 OpenClaw 网关、浏览器麦克风权限,配置门槛不低
  • 网络敏感:WebSocket 长连接对网络稳定性要求高,弱网场景易中断
  • 成本叠加:STT + TTS + LLM 三重 API 调用,高频使用下费用显著高于纯文本交互
  • 浏览器限制:首次使用需手动授权麦克风,部分安全策略严格的浏览器/企业环境可能受阻
  • 无内置降噪:依赖浏览器或系统级音频处理,嘈杂环境识别率下降

适合人群

  • 已部署 OpenClaw 且希望扩展语音交互能力的开发者
  • 追求低延迟、高质量语音合成的 AI 应用原型搭建者
  • 需要多语言支持或特定品牌声音(ElevenLabs 优势)的产品场景
  • 愿意承担 API 成本换取体验升级的高级用户

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| API 密钥泄露 | `.env` 文件明文存储密钥 | 使用环境变量注入或密钥管理服务,禁止提交至版本控制 |
| 本地网关暴露 | 默认监听 `localhost:7860`,若误配为 `0.0.0.0` 可能被内网利用 | 保持默认绑定,或添加身份验证层 |
| 音频数据隐私 | 麦克风音频流经第三方 STT/TTS 服务商 | 审阅供应商数据条款,敏感场景考虑本地 STT/TTS 方案 |
| 过度授权 | 浏览器麦克风权限一旦授予持续有效 | 使用后主动撤销权限,或采用一次性会话 |
| 依赖单点故障 | `uv` 工具链或供应商 API 异常将导致服务中断 | 监控供应商状态,保留文本交互降级方案 |

Voice Assistant 内容

scripts文件夹
static文件夹
手动下载zip · 14.5 kB
__init__.pytext/plain
请选择文件