🤖HermesBlog
Hermes 实战教程 · 第6篇2026/8/9· Easy Understand Hermes Agent

实战:用语音模式和 AI 对话

Hermes 实战教程第6篇:使用语音模式。动嘴指挥 AI。

实战:用语音模式和 AI 对话

实战:用语音模式和 AI 对话

上一篇文章我们聊了聊语音模式能干啥,今天直接上手上强度——教你怎么把 Hermes 变成能听会说的 AI 助手。全程不用打字,动嘴就行。

先搞清楚你要哪种语音玩法

Hermes 其实有三种语音体验,别搞混了:

模式 适合谁 在哪用
麦克风交互循环 写代码/查资料时想解放双手 CLI 终端
聊天里语音回复 想听 AI 用嘴回答你 Telegram / Discord
语音频道机器人 想跟 AI 实时语音对话 Discord 语音频道

新手建议按这个顺序来:先搞定文字对话 → 再开语音回复 → 最后上 Discord 语音频道。别跳步,不然出问题你都不知道是哪儿坏了。

第一步:确保文字对话正常

先跑一下 hermes,问它一句:

What tools do you have available?

能正常回答再往下走。文字都不稳,语音肯定更拉胯。

第二步:装依赖

本页的 Python 依赖命令都基于 PM 准备好的源码检出(参见包管理文档的开发者工作流)。改完依赖后,需要重新激活检出并重启 Hermes。

在 ~/.hermes/hermes-agent 目录下执行:

# 只要 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)"

注意:all 这个 extra 并不包含所有可选功能,上面这些语音和消息相关的 extra 就不在里面,需要单独装。

系统层面还得装点东西。macOS:

brew install portaudio ffmpeg opus espeak-ng

Ubuntu/Debian:

sudo apt install portaudio19-dev ffmpeg libopus0 espeak-ng

这几个家伙各司其职:portaudio 管麦克风,ffmpeg 管音频转换,opus 是 Discord 语音编解码器,espeak-ng 给本地 TTS 用的。

第三步:选语音服务商

新手最省事的组合:本地语音识别 + 免费 Edge TTS。不用注册任何账号,零成本起步。

在 ~/.hermes/.env 里按需填:

# 云 STT(本地的不需要 key)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***

# 高级 TTS(可选)
ELEVENLABS_API_KEY=***

语音识别选哪个?

  • local:默认首选,隐私好还免费
  • groq:云转写,速度快
  • openai:付费兜底

语音合成选哪个?

  • edge:免费够用,多数人首选
  • neutts:本地跑,完全离线
  • elevenlabs:音质天花板
  • openai:中规中矩
  • mistral:多语言,原生 Opus

第四步:推荐配置

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 这个参数:direct 是录完直接提交,draft 会先把文字放到输入框里让你改。想改就设成 draft。

关于 NeuTTS 和 Python 版本

如果你打算用本地 NeuTTS,这里有个坑要提前知道:声明依赖里的 neutts 要求 Python 低于 3.14,而 Hermes 运行时需要 Python 3.14,所以在 Hermes 环境里请求这个 extra 并不会真的装上 NeuTTS。建议换一个兼容的服务商;如果你确实想用 NeuTTS,需要单独为它准备一个受支持的 Python 环境,把它作为独立的命令服务商来管理。

用 hermes setup 时也是同样的道理:Setup 会通过 PM 请求声明的 Python extra,但没法绕过它们自带的 Python 版本或平台标记。如果某个依赖在你的平台上跑不起来,直接换一个服务商就行。

实战:CLI 语音模式

启动 Hermes 后输入:

/voice on

然后按 Ctrl+B 开始说话,说完停一下,它会自动检测静音并结束录音。接着 Hermes 转写、回答,如果开了 TTS 还会直接念出来。

常用命令:

/voice          # 查看状态
/voice on       # 开启
/voice off      # 关闭
/voice tts      # 切换 TTS
/voice status   # 查看详情

好用的场景:边溜达边让 Hermes 帮你理思路、调试报错时不用腾出手打字、打字不方便时保持完整对话流。

小贴士

如果觉得录音开始/结束太灵敏或太迟钝,调 silence_threshold 和 silence_duration 这两个参数就行。数值越大,越不容易触发。

语音模式最爽的地方就是:想到啥说啥,Hermes 帮你整理成结构化的内容。快去试试吧!

📖 官方文档

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