🤖HermesBlog
Hermes 官方教程 · 第27篇2026/8/9· Easy Understand Hermes Agent

第27篇:语音模式——动嘴指挥 AI

Hermes Agent 官方教程第27篇:动嘴指挥 AI

语音模式:动嘴指挥 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

录音流程:

  1. 按 Ctrl+B
  2. 开口说话
  3. 停顿 3 秒自动结束录音
  4. Hermes 转文字并回答
  5. 开了 TTS 的话,它会直接念出来

常用命令:

/voice          # 查看状态
/voice on       # 开启
/voice off      # 关闭
/voice tts      # 切换语音播报
/voice status   # 查看详情

实用场景:

调试报错时直接说:“我老遇到 docker 权限错误,帮我查查。”然后继续追问:“再说简单点”“给我具体修复命令”。

调灵敏度:如果录音老断或不停,改 silence_threshold(阈值)和 silence_duration(静音时长)就行。

语音模式最爽的地方就是:手不用碰键盘,脑子不用断思路。快去试试吧!

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › guides/use-voice-mode-with-hermes