让 Hermes 开口说话:Buzz 接入实战
Hermes 消息平台接入第15篇:Buzz。语音聊天应用接入。
让 Hermes 开口说话:Buzz 接入实战
嘿,朋友们!今天咱们来聊聊怎么让 Hermes 从“打字聊天”进化成“语音对话”。没错,就是那种你对着电脑说话,它回你人声的科幻场景——现在用 Buzz 接入就能轻松搞定。
语音模式到底能干啥?
先别急着装,看看这仨场景哪个戳中你:
- 命令行语音循环:写代码、查资料时双手不离开键盘,直接说话交互
- 聊天软件语音回复:Telegram 或 Discord 里,Hermes 用语音回你消息
- Discord 语音频道机器人:直接进语音频道,实时对话,跟打电话似的
新手建议按这个顺序来:先搞定文字对话 → 再开语音回复 → 最后玩 Discord 语音频道。
第一步:确认文字模式正常
老规矩,先跑起来:
hermes
然后随便问一句:
你有哪些工具可以用?
如果这都卡壳,先别折腾语音,把基础修好再说。
第二步:安装语音组件
根据你的需求选装:
# 命令行麦克风+播放
cd ~/.hermes/hermes-agent && uv pip install -e ".[voice]"
# 聊天平台支持(Telegram/Discord)
cd ~/.hermes/hermes-agent && uv pip install -e ".[messaging]"
# 高级 ElevenLabs 语音(可选)
cd ~/.hermes/hermes-agent && uv pip install -e ".[tts-premium]"
# 本地 NeuTTS(可选)
python -m pip install -U neutts[all]
# 全都要
cd ~/.hermes/hermes-agent && uv pip install -e ".[all]"
第三步:装系统依赖
macOS:
brew install portaudio ffmpeg opus
brew install espeak-ng
Ubuntu / Debian:
sudo apt install portaudio19-dev ffmpeg libopus0
sudo apt install espeak-ng
这几个家伙各有分工:portaudio 管麦克风,ffmpeg 管音频转换,opus 是 Discord 语音的编解码器,espeak-ng 给本地语音合成用的。
第四步:选语音引擎
最省心的组合:本地语音识别 + 免费 Edge 语音合成。在 ~/.hermes/.env 里加:
# 云语音识别(本地不需要 key)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***
# 高级语音合成(可选)
ELEVENLABS_API_KEY=***
语音识别推荐:
local:本地处理,隐私好还免费groq:云转录,速度飞快openai:付费备选
语音合成推荐:
edge:免费够用,大多数人的首选neutts:本地运行,不花钱elevenlabs:音质天花板openai:中规中矩mistral:多语言支持好
第五步:推荐配置
voice:
record_key: "ctrl+b"
submit_mode: "direct" # TUI: direct | draft
max_recording_seconds: 120
auto_tts: false
beep_enabled: true
silence_threshold: 200
silence_duration: 3.0
stt:
provider: "local"
local:
model: "base"
tts:
provider: "edge"
edge:
voice: "en-US-AriaNeural"
这里有个小技巧:submit_mode 设成 draft 的话,语音转文字后会先放到输入框里,你可以改改再发送,适合不想说错话直接发出去的场合。
实战:命令行语音模式
启动 Hermes 后输入:
/voice on
然后按 Ctrl+B 开始说话,说完停一下,它会自动检测静音并停止录音。接着 Hermes 转文字、给回复,如果开了 TTS 还会直接念出来。
实用命令:
/voice # 查看状态
/voice on # 开启
/voice off # 关闭
/voice tts # 切换语音回复
/voice status # 查看详情
好玩的用法:比如你遇到 Docker 权限报错,直接说“我老遇到 docker 权限错误,帮我调试下”,然后继续追问“再读一遍报错”“用大白话解释原因”“给我具体修复方案”——全程不用打字,爽不爽?
调优小贴士
如果觉得语音识别太灵敏或太迟钝,调这两个参数:
voice:
silence_threshold: 200 # 静音判定阈值,越大越不敏感
silence_duration: 3.0 # 静音多久算说完,单位秒
好了,现在就去让 Hermes 开口说话吧!有问题随时在社区里喊我。🎤
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › guides/use-voice-mode-with-hermes