需求从哪来
一个很真实的场景——家里老人已经在用豆包了,因为说说话就能交互。而 OpenClaw 虽然功能强大、能控制各种工具,但对老花眼的用户来说,打字交互就是个硬伤。
这个需求本质上是:如何给 OpenClaw 加一层语音接口,让它既保留强大的工具调用能力,又能通过语音完成交互。
架构选择:不造轮子,找现成的
在这个普通人 30 分钟就能用 AI 写一个项目的时代,语音接入这种功能大概率已经有人做了。关键是怎么找到靠谱的方案。
两个思路:
- 搜索驱动:用
openclaw + voice关键词搜索,能找到不少相关项目 - 积累驱动:如果平时关注 voice AI agents 领域,会知道一些成熟的框架
经过对比,最终选择了 star 数较多的 TEN Framework。选它的理由很实际:
- 文档完善,部署流程清晰,几乎不用写代码
- OpenClaw 更新频繁,可能几天前的代码就过时了,而 TEN Framework 的维护比较活跃
需要注册的四个服务
整个方案需要四个外部服务配合,除了 DeepSeek 需要少量充值,其他都有免费额度。
DeepSeek(LLM 大模型)
国内直连,兼容 OpenAI 接口,价格大约是 OpenAI 的 1/50。
- 打开 DeepSeek 开放平台,用手机号或邮箱注册
- 登录后点击左侧「费用(Billing)」,最低充值 ¥2,充 ¥10 能用很久
- 点击左侧「API Keys」,创建并立即复制保存——只显示一次
Deepgram(语音识别 STT)
用于将用户语音实时转为文字。
- 打开 Deepgram 控制台,支持 Google / GitHub 登录或邮箱注册
- 进入控制台,点击左侧「API Keys」→「Create a New API Key」
- 填写名称(如
openclaw),权限选 Member 或 Admin - 立即复制保存——页面关闭后无法再查看
新账号赠送 $200 免费额度,不需要绑信用卡,个人测试用很久。
ElevenLabs(语音合成 TTS)
用于将 AI 回复的文字转为语音播报。
- 打开 ElevenLabs,支持 Google / GitHub 登录或邮箱注册
- 登录后,点击左侧边栏最下面的「Developers」→「API Keys」
- 创建 API Key,权限建议全部打开(Access / Write)
- 立即复制保存
免费计划每月 10,000 字符的语音合成额度,包含 API 访问权限,测试够用。
Agora(实时音视频 RTC)
用于浏览器与 AI 助手之间的实时音视频通信。
- 打开 Agora 控制台,注册并登录
- 进入「项目管理」→「创建项目」,填写项目名称(如
openclaw-voice) - 使用场景选「互动直播」或「语音通话」,鉴权机制选「安全模式」
- 创建完成后,复制 App ID 和主要证书
- 在项目详情中,进入 Signaling 选择数据中心并开启信令服务(RTM)
每月 10,000 分钟免费使用,个人测试完全够用。
项目配置
克隆项目
将 TEN Framework 项目整体克隆下来:
git clone https://github.com/TEN-framework/ten-framework
环境变量配置
参考 ai_agents/agents/examples/openclaw-example 里面的 README,在 ai_agents/ 下创建 .env 文件,填入上面获取的各项 API Key。
OpenClaw 配置
这一步容易踩坑,需要注意两件事:
- 将 OpenClaw 的网关改成密码模式
- 配置 Control UI Allowed Origins:在 OpenClaw 的 Settings → Gateway → Control UI Allowed Origins 中添加:
http://host.docker.internal:18789
这个值必须与 .env 中的 OPENCLAW_GATEWAY_ORIGIN 完全一致,包括协议 http://——不能写成 wss://,不能带路径。如果不匹配,Gateway 会拒绝连接并返回 origin not allowed。
修改配置适配中文
为了方便中文用户使用,需要修改 ai_agents/agents/examples/openclaw-example/tenapp/property.json,共 4 处改动:
- STT 语言:
en-US→zh,模型:nova-3→nova-2 - LLM
base_url:从硬编码的https://api.openai.com/v1→${env:OPENAI_API_BASE} - LLM
model:从硬编码的gpt-4o→${env:OPENAI_MODEL}
这样做的目的是让语音识别支持中文转录,同时通过环境变量灵活配置国内模型。
构建与运行
Mac ARM 架构注意事项
这个项目不支持 ARM64 架构,Mac 用户需要在 Docker 中开启虚拟化:
- 打开 Docker Desktop → Settings → General
- 找到 Virtual Machine Options
- VMM 选择「Apple Virtualization framework」
- 勾选「Use Rosetta for x86_64/amd64 emulation on Apple Silicon」
- 点击 Apply & Restart
启动项目
- 保持 OpenClaw 开启(想看网关日志的话,推荐查看日志输出)
- 运行容器
- 访问
http://localhost:3000,按照界面提示复制配对命令并运行
开始使用
进入界面后:
- 选择麦克风
- 选择配置
voice-assistant - 检查是否联通
一切就绪后,直接开口说话就行。比如让它在桌面创建一个文件,口述需求即可完成。
写在最后
接入语音对话后,OpenClaw 的使用门槛大幅降低。对于不懂技术的普通用户来说,"开口就能干活"才是真正的好用。
这个方案的组合思路值得借鉴:不自己从零开发语音功能,而是用成熟的 Voice AI 框架桥接现有工具。同样的思路可以推广到其他 AI Agent 的语音化改造——找到合适的中间层,往往比自己造轮子更高效。如果你身边也有非技术用户想用上 AI 的能力,语音接入是一个投入产出比很高的方向。