第27篇:语音模式——动嘴指挥 AI
Hermes Agent 官方教程第27篇:动嘴指挥 AI
第27篇:语音模式——动嘴指挥 AI
打字打累了?想一边踱步一边跟 AI 聊天?Hermes 的语音模式就是为你准备的。这篇咱们把语音模式从零到一捋一遍,保证你看完就能“动嘴”干活。
语音模式能干啥?
简单说,三种玩法:
| 模式 | 适合谁 | 在哪用 |
|---|---|---|
| 麦克风循环对话 | 写代码、查资料时不想动手 | CLI 终端 |
| 语音回复 | 正常聊天,AI 用嘴回你 | Telegram、Discord |
| 语音频道机器人 | 一群人实时语音唠嗑 | Discord 语音频道 |
建议路线:先把文字模式跑通 → 再开语音回复 → 最后上 Discord 语音频道。
第一步:确认 Hermes 正常
先跑一下:
hermes
然后问它一句:
What tools do you have available?
能正常回答?好,咱们继续。
第二步:装依赖
按需选择,装多了不亏。注意:下面的依赖命令都基于 PM 准备好的源码检出(source checkout),改完依赖后要重新激活检出并重启 Hermes:
# CLI 麦克风 + 播放
cd ~/.hermes/hermes-agent && python -c "import pm; pm.sync_venv(['voice'], explicit=True)"
# 聊天平台(Telegram/Discord)
cd ~/.hermes/hermes-agent && python -c "import pm; pm.sync_venv(['messaging'], explicit=True)"
# 高级 ElevenLabs 语音
cd ~/.hermes/hermes-agent && python -c "import pm; pm.sync_venv(['tts-premium'], explicit=True)"
# 语音 + 聊天平台一起装
python -c "import pm; pm.sync_venv(['voice', 'messaging', 'tts-premium', 'edge-tts'], explicit=True)"
关于本地 NeuTTS(可选):声明的 neutts 依赖要求 Python 低于 3.14,而 Hermes 运行时需要 Python 3.14,所以请求这个 extra 并不会真的装上 NeuTTS。请换一个兼容的语音服务;如果你单独管理 NeuTTS 命令服务,它需要自己独立的、受支持的 Python 环境。
另外提醒一句:all 这个 extra 并不等于“所有可选功能”,它并不包含上面这些语音和聊天平台的 extra。
第三步:系统依赖
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 给 NeuTTS 用。
第四步:选语音服务
最省事组合:本地语音识别(STT)+ 免费 Edge 语音合成(TTS)。
在 ~/.hermes/.env 里加:
# 云端 STT(本地不需要 key)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***
# 高级 TTS(可选)
ELEVENLABS_API_KEY=***
STT 推荐:local(免费隐私好)> groq(快)> openai(付费兜底)
TTS 推荐:edge(免费够用)> neutts(本地免费)> elevenlabs(音质天花板)
如果你用 hermes setup:它会通过 PM 请求声明的 Python extra,但没法覆盖这些 extra 自身的 Python 版本或平台限制。所以如果某个依赖在你的平台上跑不起来,直接换一个语音服务就好。
第五步:推荐配置
voice:
record_key: "ctrl+b"
submit_mode: "direct" # 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,语音转文字后会先进输入框,你确认了再发送。
实战:CLI 语音模式
启动 Hermes 后输入:
/voice on
录音流程:
- 按
Ctrl+B - 开口说话
- 停顿 3 秒自动结束录音
- Hermes 转文字并回答
- 开了 TTS 的话,它会直接念出来
常用命令:
/voice # 查看状态
/voice on # 开启
/voice off # 关闭
/voice tts # 切换语音播报
/voice status # 查看详情
实用场景:
调试报错时直接说:“我老遇到 docker 权限错误,帮我查查。”然后继续追问:“再说简单点”“给我具体修复命令”。
调灵敏度:如果录音老断或不停,改 silence_threshold(阈值)和 silence_duration(静音时长)就行。
语音模式最爽的地方就是:手不用碰键盘,脑子不用断思路。快去试试吧!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › guides/use-voice-mode-with-hermes