Agent 长出了嘴和耳朵:从 OpenClaw 和 Hermes 看文本交互正在向语音迁移
个人 AI agent 正从纯文本交互走向语音输入、语音输出和多端实时协作,核心痛点在于键盘与屏幕限制了 agent 在移动、办公和多任务场景中的使用效率。本文分析 OpenClaw 与 Hermes 两类路径:前者依靠社区插件扩展语音前端,后者将转写、语音合成、消息平台和语音频道能力内建进 agent 管线。落地时需要关注 STT 准确率、TTS 流式输出、打断处理、回答长度控制、Markdown 清洗和跨平台权限。评估这类语音 agent,应从交互入口、工具调用连续性、延迟体验、部署复杂度和隐私边界判断其是否真正提升生产力。
📖 目录导航
- 01. 先认识两位主角
- 02. OpenClaw 的语音化:社区在外面长出一圈
- 03. Hermes 的语音化:官方在里面内建一条管线
- 04. 两种路径,反映两个项目的不同气质
- 05. 关键:这不是"又一个语音助手"
- 06. 给一个文本 agent 装上语音,要解决的共性问题
- 07. 收个尾
过去一年,个人 AI agent 这一波基本是文本驱动的:你在终端、在 Telegram、在 Discord 里打字,它读你的字、调工具、跑多步任务、再打字回你。这套很好用,但有个明显的天花板——你得有手、有键盘、有屏幕。
最近一个值得注意的变化是:这些原本纯文本的 agent,正在不约而同地长出"嘴和耳朵"。两个代表性项目是 OpenClaw 和 Hermes。有意思的是,它们补语音的方式几乎相反——一个靠社区在外面长出一圈语音插件,一个是官方在里面内建了一条语音管线。这篇就借这两个项目,讲清楚这个迁移是怎么发生的、技术上要解决哪些共性问题,以及它和"又一个语音助手"的本质区别在哪。
01. 先认识两位主角
OpenClaw:据多篇报道,这是开发者 Peter Steinberger 做的开源个人 AI agent,2025 年底发布后极速爆火(有报道称首周就破 10 万 GitHub star),MIT 协议。它的定位是"能动手的个人助手"——跑在你自己的设备上,接管你的文件、shell、以及一堆消息平台(WhatsApp、Telegram、Slack、Discord),通过插件/skill 调几乎任何工具。被人称作"长了手的 Claude"。后续 OpenAI 在 2026 年 2 月把 Steinberger 招了进去,据报道项目仍以开源形式、由独立基金会延续。
Hermes(Hermes Agent):Nous Research 的开源个人 agent(仓库 NousResearch/hermes-agent),同样是跨 CLI + 消息平台(Telegram、Discord、WhatsApp、Slack、Signal 等)的"能干活"型助手——有记忆、能调工具和 skill、能跑多步工作流。
两者的共同前提很重要:它们都不是聊天玩具,而是已经能在文本里真正干活的 agent。 这是后面理解"为什么加语音"的关键。
02. OpenClaw 的语音化:社区在外面长出一圈
OpenClaw 的语音能力,很能体现一个爆火开源项目的典型生长方式——不是官方一步到位,而是社区围着它长出一圈各有侧重的语音组件。我见到的就有好几个:
- deepclaw(基于 Deepgram):让你能"打电话"给你的 OpenClaw。据其介绍,整个语音 agent server 约 400 行 Python,开源,把 skill 拷到
~/.openclaw/skills/deepclaw-voice/,然后对你的 OpenClaw 说一句"我想给你打电话"即可。它的链路是 Twilio/Telnyx 电话层 → Deepgram/Whisper 转写 → OpenClaw 推理 → Aura-2/ElevenLabs 合成; - VoxClaw:一个 macOS 菜单栏 app + CLI,给 OpenClaw 一个"声音"。默认用 Apple 自带 TTS(免配置),也可 BYOK 接 OpenAI 或 ElevenLabs 的神经语音;还有个 teleprompter 浮层做逐词高亮,能跨局域网把别的机器上的 OpenClaw 输出拿到你的 Mac 上读出来,仓库里还带个 iPhone app;
- openclaw-voice(Purple-Horizons):浏览器里的语音对话界面,"像跟 Alexa 说话一样,但自托管、私有"。本地 faster-whisper 做 STT、ElevenLabs 流式 TTS,Silero VAD 过滤背景噪声,合成前把 markdown、井号、URL 清洗掉(否则会念出"井号井号"),可以接到完整的 OpenClaw gateway,共享同一套记忆、工具和人设;
- 设备形态:还有人(sachaabot)把它做到 PamirAI Distiller 硬件上,带 "hey openclaw" 唤醒词、跑成 systemd 服务开机自启。
这种"插件式生长"本身就是个信号:当一个文本 agent 足够有用,社区做的第一批增强里,语音前端几乎必然出现。 因为一旦 agent 能真干活,人就自然想在走路、做饭、开车的时候也能使唤它,而不只是坐在键盘前。
03. Hermes 的语音化:官方在里面内建一条管线
Hermes 走的是另一条路——语音是官方内建的,而且据其文档强调,这不是一个外挂的 TTS 包装,而是完整的语音交互。它把语音铺在三个面上:
- CLI:全双工语音模式,按
Ctrl+B录音,底层用 sounddevice + numpy 做低延迟音频 I/O,还做了环境检测以兼容 SSH、Docker、WSL; - Telegram:你发语音条,它转写、处理、再用语音条回你(ffmpeg 把 MP3 转 Opus 以内联成语音气泡,失败则回退成文件附件)。在手机上几乎可以全程不碰键盘;
- Discord:除了 DM 和文字频道,最沉浸的是它能加入语音频道,实时听用户说话、转写、过 agent 处理、再把回答说回频道里。
管线三段也清晰:转写默认用 Whisper(可本地 faster-whisper,也可 Groq/云),据其说明支持 90+ 语言、带幻觉过滤(滤掉 Whisper 对背景噪声产生的幻觉文本);合成支持 Edge/OpenAI/ElevenLabs/本地 TTS,并且逐句流式输出(把文本增量缓冲成完整句子、最少 20 字符就开念),不用等整段生成完。它还会按语音场景自动调整回答长度——知道用嘴读和用眼看不是一回事。
控制也做得很"产品化",一组 /voice 命令切换行为:
/voice on # 仅当你发语音时才语音回复
/voice tts # 所有消息都语音回复
/voice off # 关闭语音回复
/voice status # 查看当前设置
配置走 ~/.hermes/config.yaml 和 ~/.hermes/.env,hermes gateway setup 有交互式向导;若有 Nous Portal 订阅,OpenAI TTS 能直接通过 Tool Gateway 用、不用单独配 key。文档里还给了一条很实在的部署建议:先把文本跑通,再单独加语音,STT 稳了再加 TTS——别同时调音频和消息路由,否则会陷入"哪儿都坏了"的排查地狱。
04. 两种路径,反映两个项目的不同气质
把两者放一起看,语音化的路径差异其实映射了项目本身的气质:
- OpenClaw 是"平台 + 生态"型:核心做好、留出 skill/插件机制,语音这种增强交给社区百花齐放。好处是形态丰富(打电话、菜单栏、浏览器、硬件设备都有),代价是质量参差、要自己挑、各组件的延迟和体验不统一;
- Hermes 是"内建 + 一致"型:语音作为一等公民铺在 CLI/Telegram/Discord 上,体验统一、文档完整、有官方的流式和幻觉过滤这些打磨。代价是你被它选定的那套管线框住,想换花样不如插件生态自由。
没有谁对谁错,这就是开源项目两种典型的能力扩张方式。
05. 关键:这不是"又一个语音助手"
很容易把这波东西误解成 Alexa、Siri 的开源平替。最本质的区别在于语音后面接的是什么。
传统语音助手,你说一句,它做的基本是查天气、查百科、定闹钟这类单步、查询型的事。而 OpenClaw、Hermes 这类 agent,语音只是换了个前端,后面接的是一个能调工具、有记忆、能跑多步工作流的内核。据 Hermes 的文档,"检查一下部署日志,告诉我昨晚有没有失败"这种话,触发的是真实的工具调用——SSH、日志解析、分析,而不是一次网页搜索。
换句话说:语音化的价值,不在于多了个能说话的玩具,而在于让一个本来就能干活的 agent,变得可以用嘴使唤。 走路时口述一个任务、开车时听它播报、在 Discord 频道里直接跟它对话——能力没变,门槛变低了。
06. 给一个文本 agent 装上语音,要解决的共性问题
抛开具体项目,把语音前端接到一个文本 agent 上,这几个坑是绕不开的,从这两个项目的做法里能总结出来:
- Whisper 幻觉过滤:Whisper 在静音/噪声段会"脑补"出文本,不滤掉就会凭空触发指令。Hermes 专门做了幻觉过滤,这是必须项;
- TTS 前的文本清洗:agent 的文本输出里满是 markdown、井号、URL、代码块,直接喂 TTS 会念出"井号井号""http 冒号斜杠斜杠"。openclaw-voice 在合成前先把这些剥掉,Hermes 也做了面向语音的处理;
- 流式合成:别等整段生成完再念。Hermes 的做法是把文本增量缓冲成句子、够一句就开念,大幅降低首字延迟;
- 为耳朵调整回答长度:屏幕上能扫一屏的长回答,用嘴读会让人崩溃。需要让 agent 知道"现在是语音场景"并相应缩短;
- 轮次与打断 / VAD:实时语音要处理用户插话、判断说话结束(Silero VAD 这类),否则对话节奏会很怪;
- 延迟预算:语音对话对延迟敏感得多(这也是这个系列反复出现的主题),消息条形态(发完语音等回复)对延迟容忍高些,实时语音频道形态就紧得多;
- 隐私:本地还是云:两个项目都给了"本地 Whisper + 本地 TTS"的纯离线路径,和"云端 STT/TTS 换质量和省事"的路径。涉及敏感内容时,本地这条值得优先。
07. 收个尾
文本交互不会消失——精确指令、贴代码、改长文,键盘永远更快。但可以确定的是,个人 agent 正在从"只能打字使唤"变成"也可以喊一嗓子、甚至打个电话使唤"的东西。 OpenClaw 靠社区在外面长出一圈语音插件,Hermes 在里面内建一条统一管线,路径不同,方向一致。
对在这个领域做东西的人,值得记住的一点是:语音这层之所以现在能快速长出来,是因为它底下那个 agent 已经能真干活了——STT/TTS 组件成熟又便宜、消息平台是天然的语音载体,剩下的就是把幻觉过滤、文本清洗、流式合成、为耳朵调整长度这些"接缝"处理干净。能力在内核,语音只是让你够得着它的又一只手。