为了让我爸使用 OpenClaw,我给它套上通话功能
我爸和众多中国老年人一样,其实已经是豆包的忠实用户了。 但作为一个 AI 博主,我内心总是想让老父亲知道 OpenClaw 的牛逼之处,让他开开眼。在家里给他演示一通后,他得出了个结论,软件不错,能控制很多东西,相当于有手脚了,但是就是不好用。 “啥不好用,最近不知道有多火!!” “我都老花眼了,还要打字,人家豆包说说话就行了。你不是程序员吗?干嘛不做一个。” 这话我一听就来气,所以这两天我就一直研究,如何给OpenClaw 套上通话功能。 现在先给大家看看实际的使用情况: 你可能以为我要短期内 vibecoding OpenClaw的插件之类的,但在这个普通人30 分钟都能写一个项目的年代。我估计这个功能早就实现了。 问题是如何找到这些代码呢? 第一是靠搜索:先随便搜搜,openclaw+voice,就会发现很多项目。 第二是靠积累:由于对架构的理解,我很早就知道有不少做 voice AI agents 接下来就是翻翻代码库,看看有没有上 OpenClaw 了。经过一番搜索,我选择了star 比较多,比较眼熟的ten-framework。 为什么这么选择呢? 首先他的文档比较完善,部署流程清晰了,我几乎不用写任何代码 还有个重要的原因,就是 OpenClaw 更新频繁,可能几天前的代码就变得老旧了,我还认识开发者,到时候督促他修修 bug。 为了让整个项目运行起来,你需要注册 4 个免费的服务,其中除了 DeepSeek,其他都不需要付费。 国内直连,OpenAI 兼容接口,价格极低(约 OpenAI 的 1/50)。 注册步骤 充值 获取 API Key 用于将用户语音实时转为文字。 注册步骤 获取 API Key 免费额度 新账号赠送 $200 免费额度,不需要绑信用卡,个人测试用很久。 用于将 AI 回复文字转为语音播报。 注册步骤 获取 API Key 免费额度 免费计划每月 10,000 字符的语音合成额度,包含 API 访问权限,测试够用。 用于浏览器与 AI 助手之间的实时音视频通信。 注册步骤 创建项目 获取 App ID 和 Certificate 信令服务rtm开启 免费额度 每月 10,000 分钟免费使用,个人测试完全够用。 将项目整体克隆下来: https://github.com/TEN-framework/ten-framework 环境变量配置 参考ai_agents/agents/examples/openclaw-example里面的 readme。 我们在ai_agents/下创建 .env文件,内容具体如下: 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 行改动 LLM base\_url 从硬编码 https\://api.openai.com/v1 → ${env:OPENAI\_API\_BASE} 上面主要是让 ASR 能转录中文,还有去除硬编码的环境变量,方便配置国内的模型。 mac arm 架构下部署注意事项: 由于这个项目不支持arm64 架构,你需要在 docker开启虚拟化,具体步骤如下 然后运行如下命令 首先保持 OpenClaw 开启,想看到网关的日志的话,推荐使用 * 然后运行容器 登录到http\://localhost:3000,会看到如下所示界面,我们复制这个命令运行,进行配对 具体如下图所示 现在开始就可以愉快对话了。 要求他创建在桌面创建一个文件,如下图所示,口喷就行: 很快就创建好了 接入语音对话功能后,OpenClaw 开始有能力给不懂技术的普通人使用。 普通人估计都没有接触过开口就能干活,不废话的 AI 我给我爸的 OpenClaw 套上了个修复图片的 skill,他就乐呵呵地年轻时候的照片进行修复了。 普通人其实对 AI 产品只有两个要求:好用,能干活。 这篇文章希望对你有帮助!! 喜欢我的文章可以关注我的公众号 阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么架构选择

基本服务购买
DeepSeek(国内替代推荐)

Deepgram(语音识别 STT)

ElevenLabs(语音合成 TTS)

Agora(实时音视频 RTC)

项目配置
克隆项目
配置
# --- 服务配置 ---LOG_PATH=/tmp/ten_agentLOG_STDOUT=trueGRAPH_DESIGNER_SERVER_PORT=49483SERVER_PORT=8080WORKERS_MAX=100WORKER_QUIT_TIMEOUT_SECONDS=60# --- 前端 ---AGENT_SERVER_URL=http://localhost:8080TEN_DEV_SERVER_URL=http://localhost:49483NEXT_PUBLIC_EDIT_GRAPH_MODE=false# --- Agora RTC/RTM ---AGORA_APP_ID=<你的 Agora App ID>AGORA_APP_CERTIFICATE=<你的 Agora App Certificate># --- LLM (DeepSeek) ---OPENAI_API_BASE=https://api.deepseek.comOPENAI_API_KEY=<你的 DeepSeek API Key>OPENAI_MODEL=deepseek-chat# OPENAI_PROXY_URL=# --- STT (Deepgram) ---DEEPGRAM_API_KEY=<你的 Deepgram API Key># --- TTS (ElevenLabs) ---ELEVENLABS_TTS_KEY=<你的 ElevenLabs API Key># --- OpenClaw Gateway ---OPENCLAW_GATEWAY_URL=ws://host.docker.internal:18789OPENCLAW_GATEWAY_PASSWORD=<你的 Gateway 密码>OPENCLAW_GATEWAY_ORIGIN=http://host.docker.internal:18789OPENCLAW_GATEWAY_SCOPES=operator.writeOPENCLAW_GATEWAY_DEVICE_IDENTITY_PATH=/data/openclaw/device_identity.jsopenclaw config set gateway.auth.mode password openclaw config set gateway.auth.password lxfater 

构建容器

# 1. 构建镜像 cd <项目所在目录>/ten-framework/ai_agents # 强制build amd64 版本 docker build --platform linux/amd64 -f agents/examples/openclaw-example/Dockerfile -t openclaw-example-app . 运行项目
openclaw gateway --force# 要在cd <项目所在目录>/ten-framework/ai_agents目录下
docker run --rm -it --env-file .env -p 8080:8080 -p 3000:3000 openclaw-example-app
使用项目



结束


