惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
G
Google Developers Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
量子位
月光博客
月光博客
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
Latest news
Latest news
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
TaoSecurity Blog
TaoSecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Cisco Blogs
Project Zero
Project Zero
Security Latest
Security Latest
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Scott Helme
Scott Helme
S
Securelist
有赞技术团队
有赞技术团队
T
Threat Research - Cisco Blogs
N
News | PayPal Newsroom
博客园 - 聂微东
小众软件
小众软件
S
SegmentFault 最新的问题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy & Cybersecurity Law Blog
博客园 - Franky
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Spread Privacy
Spread Privacy
A
Arctic Wolf
S
Security @ Cisco Blogs
The Hacker News
The Hacker News
腾讯CDC
博客园 - 【当耐特】
T
Troy Hunt's Blog
NISL@THU
NISL@THU
爱范儿
爱范儿

翔宇工作流

Hermes Kanban 多 Agent 编排:让多个 Agent 并行协作完成复杂任务 Hermes Agent 成本控制实战:模型路由 + 凭据池轮换 + Token 追踪 Hermes Agent + Home Assistant:用 AI 语音管家控制全屋智能家居 Hermes Agent 本地模型指南:Ollama + LM Studio 性能调优与模型选型 一人公司 AI 消息中枢:Hermes Agent 年省 12000 元实测 Hermes Agent 变现指南:7 种可落地的 AI Agent 商业模式详解 Hermes SOUL.md 人设工程 + 三层记忆深度解析:让 Agent 精确遵循你的人格 Hermes Skill 自我进化系统:让 AI 助手越用越聪明 循环工程 Loop Engineering 指南:Skill 解决终止条件难题 用 Hermes Agent 搭建跨平台 AI 消息助手:一个 Agent 同时管 Telegram + Discord + 微信 Ghost 建站最佳实践:一人公司从零到有订阅者的完整手册 Hermes Agent Cron 定时自动化:任务链 + 预运行门控 + 零成本触发 Agent 工作流完全指南 2026:一人公司如何用多 Agent 自动化运营 Claude Code + Hermes MCP 消息桥接实战:任务完成自动通知手机 AI 知识库最佳实践:CLAUDE.md 多级路由 + 纯文件系统完整指南 零基础 AI 编程入门 2026:不会写代码,也能用 AI 做出产品 2026 年 8 大 AI Agent 横评:从 OpenClaw 到 Hermes,谁最适合你? Runway Gen-4.5 提示词怎么写?八层框架从零到电影级 2026 AI 编程工具横评:Cursor vs Claude Code vs Codex vs Windsurf 深度对比 Codex 最佳实践完整指南 Hermes Agent Docker 部署实战:VPS 24/7 运行完整方案 Veo 3.1 视频提示词怎么写?八层框架从零到电影级 Claude Code 完全指南 2026:安装到 Agent 工作流 | 翔宇工作流 AI 配图不用找参考图:GPT Image 2 + 100 种风格方案 | 翔宇工作流 Hermes Agent 完全指南:架构、部署、成本对比与 14 篇实战教程导航 可灵 AI 视频提示词怎么写?八层框架从零到电影级 MCP 最佳实践:8 大场景推荐 + 安装提示词 Vibe Coding 完全指南 2026:氛围编程入门到进阶 | 翔宇工作流 即梦 Seedance 2.0 提示词怎么写?八层框架从零到电影级 Claude Code /loop 实战指南:十个场景让 AI 替你干活 | 翔宇工作流 Claude Code 最佳实践完整指南 CLAUDE.md 最佳实践 | 6 套完整模板直接复制 小红书 AI 运营完全指南(2026):选品到批量发布 Agent 工作流实战指南(2026):从单 Agent 到多 Agent 协作 Agent 编程方法论(2026):从驾驭工程到上下文工程 AI 知识库构建指南(2026):从文档到 Agent 可用的知识资产 自媒体 AI 自动化指南(2026):从手动创作到 Agent 驱动 AI 图片与视频生成指南(2026):提示词、工具、工作流 一人公司 AI 创收指南(2026):从副业到全职的完整路径 Claude Code Skill 开发指南(2026):从零开发到变现 Claude Code 动态工作流(Dynamic Workflows)+ ultracode 实战 | 翔宇工作流 什么是 Harness Engineering(驾驭工程)?概念到实战(2026)| 翔宇工作流 多Agent协作完全指南:SSH+tmux 跨机器 AI 调度 AI 编程工具中文教程到底去哪学?我做了 aiworkflowtutorials.com Claude Code thinking modes 新手指南 | 翔宇工作流 Claude Code Subagents 新手指南 | 翔宇工作流 Claude Code Slash Commands 新手指南 | 翔宇工作流 Claude Code Plugins 新手指南 插件生态 | 翔宇工作流 Claude Code 权限新手指南:6 模式 + 沙箱 Claude Code MCP 怎么装新手指南 | 翔宇工作流 Claude Code Hooks 新手指南 | 翔宇工作流 Claude Code 上下文窗口新手指南 1M context | 翔宇 OpenAI Codex 团队协作指南:单人到小团队 | 翔宇工作流 怎么给 OpenAI Codex 派活不跑偏?7 步任务拆解 | 翔宇工作流 Codex Skills/Subagents/Hooks 新手指南 | 翔宇工作流 OpenAI Codex 沙箱与审批怎么配?双层防线新手指南 | 翔宇工作流 OpenAI Codex 模型怎么选?任务×推理档位速查表 | 翔宇工作流 OpenAI Codex MCP 服务器怎么装?新手指南 | 翔宇工作流 AI 副业实战中文教程站:8 条路怎么选 | 翔宇工作流 AI 自媒体运营中文教程站:6 平台怎么选 | 翔宇工作流 vibe coding 第一个项目手把手 | 翔宇工作流 OpenCode 安装教程:Claude Code、Codex 的第三条后路 Q-Day OpenClaw AI 销售介绍:Agent 销售闭环 | 翔宇工作流 vibe coding 工具怎么选?按身份选 | 翔宇工作流 SEO工具实战指南:用112条命令完成网站SEO诊断、GEO优化与AI搜索优化全流程 GoodTrans 介绍:长文档翻译交付可审校成果 | 翔宇工作流 AI 编程入门:零基础别再先学语法 | 翔宇工作流 学员实践:openbili AI 接入驾驶舱介绍 | 翔宇工作流 学员实践:42织序播客介绍 | 翔宇工作流 AI 编程中文教程哪里找?10 大主流工具公开站完整指南 vibe coding 是什么?能不能用、适合谁 | 翔宇工作流 Animaker Dev 介绍:头像照片+参考视频生成 AI 动画的学员实践 | 翔宇工作流 2026 RSS 订阅源大全:开源 1745 个源 + Claude Code 工作流
Hermes 语音模式完全攻略:CLI + Telegram + Discord 三表面免费搭建
翔宇 · 2026-06-26 · via 翔宇工作流

Hermes Agent 不是只能打字的 Agent。它的语音模式覆盖三种交互表面——CLI 终端按键录音、Telegram 语音气泡、Discord 语音频道实时对话。搭配 10 种文字转语音(TTS)和 6 种语音转文字(STT)提供商,零成本方案只需 faster-whisper + Edge TTS,连 API 密钥都不用申请。

一句话对比三个表面:CLI 适合编码时免提调试(按 Ctrl+B 录音,本地延迟最低),Telegram 适合移动端随时随地(语音气泡收发,按住按钮说话就行),Discord 语音频道适合团队实时讨论(Bot 坐在频道里持续监听,多人独立流处理)。

如果你还没安装 Hermes,先看 Hermes Agent 完全指南;如果你对跨平台消息桥接感兴趣,配合阅读 跨平台消息。本文专注语音这一个维度,把三个表面、全部提供商、幻觉过滤、完整配置讲透。


前置条件:先让文字模式跑通

语音模式建立在 Hermes 的完整 Agent 流水线之上——语音只是入口和出口,中间的工具调用、记忆、技能系统跟文字模式完全一样。所以第一步永远是确保文字模式正常工作。

需要安装的东西分两层:

Python 包依赖

提示词:安装 Hermes 语音依赖

请帮我安装 Hermes Agent 的语音相关 Python 包。要求:

  • 三个可选安装范围:voice(CLI 麦克风+音频播放)、messaging(Discord+Telegram 消息平台)、all(全部一次装,推荐)
  • 安装命令格式:pipx install "hermes-agent[范围名]"
  • 推荐直接用 all 一步到位
Extra 名称 安装的包 用途
voice sounddevice, numpy CLI 麦克风录音和音频播放
messaging discord.py[voice], python-telegram-bot, aiohttp Discord 和 Telegram Bot
tts-premium elevenlabs ElevenLabs 高级 TTS

系统依赖

# macOS
brew install portaudio ffmpeg opus espeak-ng

# Ubuntu/Debian
sudo apt install portaudio19-dev ffmpeg libopus0 espeak-ng
依赖 用途 必需场景
PortAudio 麦克风输入和音频播放 CLI 语音模式
ffmpeg 音频格式转换(MP3→Opus、PCM→WAV) 全平台
Opus Discord 语音编解码器 Discord 语音频道
espeak-ng 音素化后端 本地 NeuTTS

安装完成后运行 hermes doctor,确认输出中 tts ✓discord ✓ 都是绿的。

Hermes Agent GitHub 仓库首页

第一个表面:CLI 按键录音模式

CLI 语音模式:终端窗口中的音量波形条和 Ctrl+B 快捷键

CLI 语音模式在经典终端(hermes chat)和 TUI(hermes --tui)中均可用,行为完全一致。

启动和命令

hermes                # 启动交互式 CLI

进入后可用的语音命令:

/voice          切换语音模式开/关
/voice on       启用语音模式
/voice off      关闭语音模式
/voice tts      切换 TTS 输出
/voice status   显示当前状态

工作流程

整个录音循环是这样的:

  1. 启动 CLI 后执行 /voice on 启用语音模式
  2. Ctrl+B——播放一声 880Hz 蜂鸣,开始录音
  3. 说话——终端实时显示音量条:● [▁▂▃▅▇▇▅▂] ❯
  4. 停止说话——3 秒连续静音后自动停止录音
  5. 播放两声 660Hz 蜂鸣确认录音结束
  6. 音频通过 Whisper 转写后发送给 Agent
  7. 若 TTS 已启用,Agent 的回复会朗读出来
  8. 录音自动重启——不需要再按键,继续说话即可

循环持续运行,直到手动按 Ctrl+B 退出或连续 3 次录音都未检测到语音。

💡 通俗讲:按一下 Ctrl+B 进入语音循环后,你只管说话,说完了 Agent 自动回答,回答完了自动等你下一句。整个过程双手不碰键盘。

静音检测算法

Hermes 用两阶段算法判断你是否说完了:

  1. 语音确认——等音频 RMS 超过阈值(默认 200)并持续至少 0.3 秒,容忍音节间的短暂低谷
  2. 结束检测——确认有语音后,3.0 秒连续静音触发停止

如果完全没检测到语音,15 秒后自动停止录音,避免静默挂起。

两个关键参数都可以在 config.yaml 中调整:

  • silence_threshold:值越高越不敏感,噪声环境建议调到 300-400
  • silence_duration:说话节奏慢的人可以加长到 4.0 秒

录音快捷键也可以改。如果 Ctrl+B 跟 tmux 冲突,设置 voice.record_key: "ctrl+space"

流式 TTS

启用 TTS 后,Agent 的回复是逐句朗读的,不用等完整回复生成完毕:

  1. 将文本增量缓冲为完整句子(最少 20 字符)
  2. 自动剥离 Markdown 格式和 <think> 推理块
  3. 逐句实时生成并播放音频

这意味着 Agent 开始思考后几秒钟你就能听到第一句话,而不是等 30 秒看完整文字再听。

实战场景

免提编程调试——散步时想到一个 Bug,对着终端说"Docker 容器启动报权限错误,帮我调试",Agent 自动执行 docker logs、分析错误、给出修复方案。你可以继续语音追问:"再读一遍最后那个错误"、"用更简单的话解释根因"、"现在给我修复命令"。整个过程双手不碰键盘。

研究和头脑风暴——口述半成型的想法,让 Hermes 实时组织你的思路。适合走路时思考、不方便打字时快速捕捉灵感。

无障碍场景——打字不便时(手腕不适、站着操作、视力原因),语音模式是保持完整 Agent 交互循环的最快方式之一。语音输入加上 TTS 输出,基本实现了纯听说的交互循环。


第二个表面:Telegram 语音气泡

Telegram 语音气泡:手机界面展示用户与 Hermes 的语音对话

Telegram 的语音模式是 Hermes 对非技术用户最有吸引力的功能。不需要学 CLI,不需要懂模型配置,按住 Telegram 的麦克风按钮说话就行。

启动网关

hermes gateway        # 启动网关,连接已配置的平台
hermes gateway setup  # 首次配置的交互式向导

语音回复命令

在 Telegram 聊天中发送的语音命令和 CLI 一致(/voice/voice on/voice off/voice tts/voice status),区别在于 /voice on 的含义是"仅在收到语音消息时回复语音"。

三种回复模式

模式 命令 行为
off /voice off 纯文字(默认)
voice_only /voice on 仅在用户发语音时回复语音
all /voice tts 每条消息都回复语音

voice_only 模式最自然——你发语音它回语音,你打字它回文字,自动匹配沟通风格。

语音模式设置在网关重启后持久保留,不需要每次重新配置。

语音气泡格式要求

Telegram 语音气泡要求 Opus/OGG 格式。不同 TTS 提供商的原生输出格式不同,决定了是否需要 ffmpeg 转换:

TTS 提供商 原生格式 原生 Opus 需要 ffmpeg
OpenAI TTS Opus
ElevenLabs Opus
Mistral Voxtral Opus
Edge TTS MP3
MiniMax TTS MP3
xAI TTS MP3
Google Gemini 原始 PCM
NeuTTS WAV
KittenTTS WAV
Piper WAV

没有 ffmpeg 时,音频以普通文件附件形式发送——可以播放,但显示的是矩形播放器而非圆形语音气泡。所以 brew install ffmpeg 是强烈建议的。

实战场景

完全基于语音的 Telegram 交互:按住麦克风说"今天有什么日程?提醒我下午 3 点打牙医电话",松开后 Hermes 转写处理,返回语音气泡回复日程和确认。整个交互从未打开键盘。

这也是为家人、朋友搭建 Hermes Agent 时最实用的界面。他们不需要学终端命令,Telegram 上的语音是他们真正会用的入口。

隐私考量

使用 Telegram 语音模式时需要注意:Telegram 在其服务器上存储语音消息,Bot 下载音频用于转写,但原始语音文件留在 Telegram 云端。如果你对语音数据隐私有要求,可以选择本地 Whisper 做转写(音频只在你的机器上处理),但传输到 Telegram 服务器的部分无法控制。

最大隐私方案是:本地 Whisper 转写 + 本地 NeuTTS 合成,所有音频处理留在自己的基础设施上。但 Telegram 作为传输通道本身的数据留存无法规避。


第三个表面:Discord 语音频道实时对话

Discord 语音频道是最沉浸式的语音功能:Bot 加入语音频道,监听用户说话,转写语音,通过完整 Agent 流水线处理,再把回复说回语音频道。

配置步骤

这个表面的配置比前两个复杂一些,需要在 Discord 开发者门户做额外设置。

第一步:Bot 权限

在 Discord 开发者门户中添加语音相关权限:Connect、Speak、Use Voice Activity。权限整数从纯文字模式的 274878286912 升级到含语音的 274881432640。升级权限后需要重新邀请 Bot 到服务器。

第二步:特权网关意图

在开发者门户中启用:

  • Message Content Intent(必需)
  • Presence Intent
  • Server Members Intent(仅当 ALLOWED_USERS 使用用户名而非数字 ID 时需要)

第三步:Opus 编解码器

# macOS
brew install opus

# Ubuntu
sudo apt install libopus0

Bot 会自动加载 Opus 库——macOS 路径 /opt/homebrew/lib/libopus.dylib,Linux 路径 libopus.so.0

第四步:环境变量

DISCORD_TOKEN=your-bot-token
DISCORD_ALLOWED_USERS=user_id_1,user_id_2
DISCORD_FREE_RESPONSE_CHANNELS=channel_id_1

语音频道命令

在 Discord 文字频道中发送:

/voice join      Bot 加入你所在的语音频道
/voice channel   /voice join 的别名
/voice leave     Bot 离开语音频道
/voice status    显示语音模式和已连接的频道

必须先在语音频道中才能使用 /voice join,Bot 会加入你所在的同一个频道。

工作原理

Bot 进入语音频道后的处理流程:

  1. 独立监听每个用户的音频流(多人同时说话互不干扰)
  2. 1.5 秒静音(至少 0.5 秒语音后)触发处理
  3. 通过 Whisper STT 转写音频
  4. 通过完整 Agent 流水线处理(会话、工具、记忆)
  5. 通过 TTS 将回复说回语音频道

两个关键机制保证体验:

  • 文字频道联动:转写会同步出现在文字频道,格式为 [Voice] @user: what you said。Agent 的回复同时以文字发送到频道并在语音频道朗读
  • 回声防止:Bot 在播放 TTS 回复时自动暂停音频监听,防止听到并重新处理自己的输出

应用场景

  • 团队头脑风暴:Agent 坐在语音频道参与讨论,实时提供建议和回答技术问题
  • 学习小组:在实时语音讨论中让 Agent 解释概念、查找资料
  • 社区语音助手:游戏或社交服务器中的常驻语音助手
  • 无障碍交互:不能打字的用户通过语音与 Agent 完整交互

最佳实践

  • 保持 DISCORD_ALLOWED_USERS 精简,只放真正需要语音交互的用户
  • 先在专用的 Bot 测试频道试用,确认 STT 和 TTS 都正常后再开放
  • 在文字聊天中用 /voice on 确认语音回复正常后,再尝试语音频道模式

已知限制

  • 语音不活动超时硬编码为 300 秒(5 分钟)——无活动后 Bot 自动离开(Issue #17790 请求可配置化)
  • 只有 DISCORD_ALLOWED_USERS 列表中的用户可通过语音交互,其他用户的音频被静默忽略
  • Discord 语音数据通过 Discord 基础设施后才到达 Bot,在隐私要求严格的场景需要注意
  • 如果需要完整的 Discord 部署指南,参考 Docker 部署教程

10 种 TTS 提供商完整对比

10 种 TTS 提供商全景:4 种免费(绿色高亮)和 6 种付费方案

Hermes 支持 10 种文字转语音(TTS)提供商——4 种免费零密钥,6 种付费需凭据。

提供商 质量 成本 需要密钥 延迟 语音数量 语言覆盖 特色
Edge TTS(默认) 免费 ~1 秒 322 个 74 种 零配置即用,微软神经语音
NeuTTS 免费 取决于硬件 可克隆 多语言 完全本地,支持语音克隆
KittenTTS 免费 取决于硬件 8 种 英语为主 25-80 MB 超轻量模型
Piper 免费 取决于硬件 30+ 种语言预训练 44 种 Home Assistant 维护,CPU 运行
ElevenLabs 最佳 付费 ELEVENLABS_API_KEY ~2 秒 海量语音库 多语言 最自然人声,语音克隆
OpenAI TTS 付费 VOICE_TOOLS_OPENAI_KEY ~1.5 秒 6 种 多语言 快速一致,原生 Opus
MiniMax 优秀 付费 MINIMAX_API_KEY 中等 多种 亚洲语言强 语速/音量/音调可调
Mistral Voxtral 优秀 付费 MISTRAL_API_KEY 多种 多语言 低延迟,原生 Opus
Google Gemini 优秀 有免费额度 GEMINI_API_KEY 中等 30 个预置 广泛 Gemini 生态复用
xAI 优秀 付费 XAI_API_KEY 中等 支持克隆 多语言 语音克隆,Grok 生态

每提供商输入字符上限

Hermes 在调用 TTS 前自动截断超长文本,请求不会因长度失败:

提供商 默认上限(字符)
Edge TTS 5,000
OpenAI 4,096
xAI 15,000
MiniMax 10,000
Mistral 4,000
Google Gemini 5,000
ElevenLabs 5,000 - 40,000(按模型)
NeuTTS 2,000
KittenTTS 2,000
Piper 5,000

可通过每个提供商配置中的 max_text_length 覆盖默认值。

四大免费提供商详解

Edge TTS——使用微软神经语音合成基础设施,322 个语音覆盖 74 种语言。Hermes 已经默认使用它,什么都不用改。质量扎实,延迟约 1 秒,唯一的"缺点"是需要网络连接(调用微软在线服务)。

NeuTTS——最佳的免费完全本地方案。通过 llama.cpp 风格推理在本地运行神经 TTS 模型,支持 GPU 和 CPU 加速。还支持语音克隆——提供一段短音频样本和转录稿,Agent 就能用你的声音说话。安装需要 espeak-ngffmpeg

Piper——来自 Open Home Foundation(Home Assistant 维护者)的快速本地神经 TTS 引擎。完全 CPU 运行,44 种语言预训练语音,模型仅 20-90 MB。通过 hermes tools 一键安装,首次调用时自动下载语音模型到 ~/.hermes/cache/piper-voices/。支持自定义训练的 .onnx 模型。

KittenTTS——超轻量本地替代方案,nano 模型仅 25 MB。8 种英语语音,支持速度调节和文本清洗(自动展开数字、货币、单位)。适合对模型体积敏感的部署场景。

选型建议

  • 零配置零成本→ Edge TTS。已经是默认值,什么都不用改
  • 完全离线 + 隐私优先→ NeuTTS 或 Piper。所有处理在本地完成
  • 最佳语音质量→ ElevenLabs。个人使用免费额度(10,000 字符/月)通常够用
  • 已有 OpenAI API 密钥→ OpenAI TTS。复用现有凭据,一致性好
  • 亚洲语言→ MiniMax。中日韩等语言支持显著优于其他提供商
  • Grok 用户→ xAI。语音克隆功能让 Agent 用你的声音说话

自定义命令提供商

如果需要的 TTS 引擎不在内置列表中(比如字节豆包 seed-tts-2.0、VoxCPM),可以通过 command 类型接入,不用写代码:

提示词:生成自定义命令 TTS 提供商配置

请帮我生成 Hermes config.yaml 中自定义命令 TTS 提供商的配置。要求:

  • tts.provider 设为自定义名称(如 doubao
  • tts.providers.{名称} 下声明 type: command
  • command 字段填 shell 命令,支持 6 个占位符:{input_path}(输入文本文件)、{output_path}(输出音频文件)、{format}{voice}{model}{speed}
  • 指定 output_format(如 mp3)、max_text_length(如 1024)、timeout(秒数,如 30

对于无法用单条命令表达的引擎——Python SDK、流式处理、OAuth 刷新——通过 ctx.register_tts_provider() 注册 Python 插件,放在 ~/.hermes/plugins/ 目录即可。


6 种 STT 提供商完整对比

语音转文字(STT)是语音模式的入口。Hermes 支持 6 种 STT 提供商(含自定义命令)。

提供商 模型 速度 质量 成本 需要密钥
Local(faster-whisper) tiny (75MB) 最快 基础 免费
Local(faster-whisper) base (150MB) 好(默认) 免费
Local(faster-whisper) small (500MB) 中等 更好 免费
Local(faster-whisper) medium (1.5GB) 较慢 很好 免费
Local(faster-whisper) large-v3 (3GB) 最慢 最佳 免费
Groq whisper-large-v3-turbo 极快 (~0.5s) 有免费额度 GROQ_API_KEY
Groq whisper-large-v3 快 (~1s) 更好 有免费额度 GROQ_API_KEY
OpenAI whisper-1 快 (~1s) 付费 VOICE_TOOLS_OPENAI_KEY
OpenAI gpt-4o-transcribe 中等 (~2s) 最佳 付费 VOICE_TOOLS_OPENAI_KEY
Mistral voxtral-mini-latest 付费 MISTRAL_API_KEY
xAI grok-stt 付费 XAI_API_KEY

自动回退优先级

Hermes 的 STT 有自动回退机制:local → groq → openai。本地 faster-whisper 不可用时自动尝试 Groq,Groq 也不行再尝试 OpenAI。全部不可用时,语音消息附带准确的提示直接传给 Agent(不转写但不丢失)。

本地模型选择建议

场景 推荐模型 理由
英文日常对话 base 150 MB,速度快,英文质量足够
中文识别 small 或 medium base 对中文断句偶有不准
最高精度 large-v3 3 GB,99 种语言最佳质量
低配机器 tiny 75 MB,牺牲一些质量换速度

💡 通俗讲:faster-whisper 是 OpenAI Whisper 的加速版(SYSTRAN 公司用 CTranslate2 重写),同样的精度跑快最多 4 倍,内存占用还更低。Hermes 默认用它作本地 STT 后端。


零成本方案:faster-whisper + Edge TTS

零成本语音方案:faster-whisper 本地转写 + Edge TTS 免费合成

这是 Hermes 语音模式的免费方案——完全免费、零 API 密钥、质量完全够用。

faster-whisper GitHub 仓库:SYSTRAN 维护的 CTranslate2 高性能 Whisper 重实现,23.5k Stars

完整安装步骤(macOS)

提示词:生成 macOS 零成本语音模式安装脚本

请帮我生成 macOS 上从零搭建 Hermes Agent 语音模式的完整安装步骤。要求:

  • 第一步:pipx install "hermes-agent[voice,messaging]" 安装 Hermes 含语音和消息依赖
  • 第二步:brew install portaudio ffmpeg opus espeak-ng 安装系统级依赖
  • 第三步:pipx inject hermes-agent Pillow pydub pyaudio PyNaCl 注入多媒体和语音 Python 依赖
  • 第四步:pipx inject hermes-agent faster-whisper 安装本地 STT 后端
  • 第五步:运行 hermes doctor 验证安装,期望看到 vision ✓ tts ✓ discord ✓
  • 第六步:启动 hermes,执行 /voice on,按 Ctrl+B 开始录音

总成本:$0

注意事项

首次使用语音转文字时,faster-whisper 需要从 HuggingFace 下载模型文件。base 模型约 150 MB,过程中 CLI 看起来像挂起了(没有进度条——这是一个已知问题)。耐心等 1-2 分钟,下载完成后后续使用不再需要等待。

建议提前手动运行一次 pipx inject hermes-agent faster-whisper 触发模型缓存。

从零到语音的渐进路径

官方推荐的学习路径是渐进式的,不要一步到位:

  1. 第一天:确保文字模式的 Hermes 正常工作
  2. 第二天:安装 hermes-agent[voice],在 CLI 中用 local STT + Edge TTS 试语音
  3. 第三天:在 Telegram 或 Discord 中启用 /voice on,体验平台语音回复
  4. 最后:一切就绪后再尝试 Discord 语音频道

每一步都确认正常再走下一步。如果跳步直接搞语音频道,出问题时很难定位是 STT、TTS、网络还是权限的问题。


幻觉过滤器:Whisper 的已知问题和 Hermes 的应对

Whisper 有一个被广泛记录的问题:从静音或背景噪声中凭空生成文本。学术研究(arXiv 论文 Careless Whisper)发现约 1% 的音频转写包含完全虚构的短语。社区收集了 135 个 Whisper 常见幻觉短语。

Hermes 的五层防御

  1. 26 个多语言幻觉短语黑名单——涵盖最常见的幻觉模式,包括英文的"Thank you for watching"、"Subscribe",中文的"请订阅",德文的"Vielen Dank"等
  2. 正则表达式匹配——捕获重复变体和模式化幻觉
  3. 两阶段 VAD(语音活动检测)——先确认语音存在(RMS 超阈值持续 0.3 秒),再检测结束(3 秒连续静音)
  4. 15 秒无语音超时——完全没有语音时自动停止录音,避免长时间静音积累幻觉
  5. 可调参数——silence_thresholdsilence_duration 均可配置

噪声环境优化配置

提示词:生成噪声环境下的语音优化配置

请帮我生成 Hermes config.yaml 中适合噪声环境的语音参数。要求:

  • voice.silence_threshold 从默认 200 提高到 300-400(值越高越不敏感)
  • voice.silence_duration 从默认 3.0 秒加长到 4.0 秒(适合说话节奏慢的人)
  • stt.provider 设为 local,模型选 small(比 base 幻觉更少)

如果仍然出现垃圾转写,最有效的方法是换一个更大的模型(small → medium → large-v3),或者切到云端 STT(Groq 的 whisper-large-v3-turbo 延迟仅约 0.5 秒)。


完整 config.yaml 四档配置

极速免费档(日常使用)

适合大多数人的保守默认配置。STT 用本地 base 模型,TTS 用 Edge TTS,全免费。

提示词:生成零成本语音 config.yaml

请帮我生成 Hermes 极速免费档的完整 config.yaml。要求:

  • voice 区块:录音键 ctrl+b、最长录音 120 秒、auto_tts 关闭、蜂鸣开启、静音阈值 200、静音时长 3.0 秒
  • stt:提供商 local,模型 base(150 MB,速度快,英文质量好)
  • tts:提供商 edge,语音 en-US-AriaNeural(322 个语音可选)

高质量付费档(内容创作)

STT 用 Groq 云端加速,TTS 用 ElevenLabs 最自然人声。

提示词:生成高质量付费语音 config.yaml

请帮我生成 Hermes 高质量付费档的完整 config.yaml。要求:

  • voice 区块:录音键 ctrl+b、最长录音 120 秒、auto_tts 开启、蜂鸣开启、静音阈值 200、静音时长 3.0 秒
  • stt:提供商 groq(约 0.5 秒延迟,有免费额度)
  • tts:提供商 elevenlabs,voice_id 为 pNInz6obpgDQGcFmaJgB(Adam),model_id 为 eleven_multilingual_v2

完全离线档(隐私优先)

所有音频处理留在本地,适合对隐私有要求的场景。

提示词:生成完全离线隐私优先语音 config.yaml

请帮我生成 Hermes 完全离线档的完整 config.yaml。要求:

  • voice 区块:录音键 ctrl+b、最长录音 120 秒、auto_tts 开启、蜂鸣开启、静音阈值 200、静音时长 3.0 秒
  • stt:提供商 local,模型 large-v3(3 GB,最佳质量,完全离线)
  • tts:提供商 piper,语音 en_US-lessac-medium(首次自动下载 20-90 MB)
  • 所有音频处理留在本地,零网络请求

中文优化档

STT 用 medium 模型(中文识别质量好),TTS 用 Edge 的中文语音。

提示词:生成中文优化语音 config.yaml

请帮我生成 Hermes 中文优化档的完整 config.yaml。要求:

  • voice 区块:录音键 ctrl+b、最长录音 120 秒、auto_tts 开启、蜂鸣开启、静音阈值 250(中文语音特点适当提高)、静音时长 3.5 秒
  • stt:提供商 local,模型 medium(1.5 GB,中文识别推荐)
  • tts:提供商 edge,语音 zh-CN-XiaoxiaoNeural(晓晓,女声);备选 zh-CN-YunxiNeural(云希,男声)

各档配置完整 TTS 参数参考

如果想切换到其他 TTS 提供商,以下是每个提供商的完整配置:

提示词:生成完整 TTS 提供商参考配置

请帮我生成 Hermes config.yaml 中所有 10 种 TTS 提供商的完整参考配置。要求:

  • 顶层 tts.provider 设为当前使用的提供商名(切换此处即可),tts.speed 设全局速度倍率(默认 1.0)
  • Edgevoice(如 en-US-AriaNeural)、speed
  • ElevenLabsvoice_id(如 pNInz6obpgDQGcFmaJgB Adam)、model_id(如 eleven_multilingual_v2
  • OpenAImodel(如 gpt-4o-mini-tts)、voice(alloy/echo/fable/onyx/nova/shimmer)、base_urlspeed(0.25-4.0)
  • MiniMaxmodel(如 speech-2.8-hd)、voice_idspeed(0.5-2.0)、vol(0-10)、pitch(-12 到 12)
  • Mistralmodel(如 voxtral-mini-tts-2603)、voice_id(UUID 格式)
  • Geminimodel(如 gemini-2.5-flash-preview-tts)、voice(30 个预置语音,如 Kore
  • xAIvoice_id(如 eve)、languagesample_rate(24000)、bit_rate(128000)
  • NeuTTSref_audio(语音克隆参考音频路径)、ref_text(参考转录稿)、model(如 neuphonic/neutts-air-q4-gguf)、device(cpu/gpu)
  • KittenTTSmodel(如 KittenML/kitten-tts-nano-0.8-int8,25 MB)、voice(如 Jasper)、speedclean_text(布尔值)
  • Pipervoice(如 en_US-lessac-medium

速度控制说明:全局 tts.speed 对所有提供商生效,每个提供商可通过各自的 speed 字段覆盖全局值。当前 TTS 速度控制仅对部分提供商生效(Issue #6926)。


速度 / 质量 / 成本搭配矩阵

场景 STT 方案 TTS 方案 总成本
极速免费 local (base) Edge TTS $0
高质量免费 local (large-v3) NeuTTS $0(需要 GPU 才流畅)
云端极速 Groq (whisper-large-v3-turbo) Edge TTS Groq 免费额度内 $0
最佳质量 local (large-v3) ElevenLabs ElevenLabs 月费
亚洲语言优化 local (small) MiniMax MiniMax 按量付费
全 xAI 生态 xAI (grok-stt) xAI (语音克隆) xAI 按量付费
中文优化 local (medium) Edge (zh-CN) $0

三表面完整对比表

维度 CLI Telegram Discord 语音频道
触发方式 Ctrl+B 按键录音 按住麦克风按钮 直接在频道说话
延迟体验 最低(本地处理) 中等(网络往返) 中等(网络+处理)
适用场景 编码时免提调试 移动端随时随地 团队实时讨论
多人支持 单用户 单用户 多用户(独立音频流)
回声防止 不需要 不适用 内置自动暂停
文字联动 终端内显示 文字+语音并发 文字频道同步转写
免提循环 自动重启录音 需再次按住发送 持续监听
额外依赖 sounddevice, numpy python-telegram-bot discord.py[voice], Opus, PyNaCl

语音模式与其他能力的联动

语音模式不是一个独立功能,它叠加在 Hermes 的完整 Agent 流水线上。这意味着语音触发的对话可以调用工具、访问记忆、使用技能——和打字完全一样。

几个有趣的联动场景:

  • 语音 + Computer Use(macOS 桌面控制):语音说"打开 Safari 搜索今天的 AI 新闻",Agent 在后台操作桌面截屏执行,完成后 TTS 语音汇报结果。完全免提的桌面操作
  • 语音 + 定时任务:通过 Telegram 语音设置提醒和定时任务,相关内容详见 Hermes 定时自动化
  • 语音 + 记忆系统:语音对话的内容会被记忆系统记录,Agent 能在后续对话中引用之前的语音交流。详见 灵魂记忆系统

常见故障排除

症状 检查点
"No audio device found"(CLI) 未安装 PortAudio:brew install portaudio。Docker 环境还需配置 PulseAudio/PipeWire 桥接
首次语音模式 CLI 挂起 faster-whisper 正在下载模型(base 约 150 MB),耐心等 1-2 分钟
Bot 在 Discord 服务器频道不响应 默认需要 @提及。设置 DISCORD_REQUIRE_MENTION=false 或指定免提及频道
Bot 加入语音频道但听不到 检查 DISCORD_ALLOWED_USERS 列表、Discord 是否未静音、特权意图是否已启用
能转写但不说话 TTS 提供商配置错误或密钥过期。Edge TTS(免费)是默认回退
Whisper 输出垃圾文本 幻觉问题。调高 silence_threshold、换更大 STT 模型、在更安静环境使用
Telegram 语音不显示气泡 缺少 ffmpeg。安装后 MP3/WAV 自动转换为 Opus 气泡格式
Discord 语音 5 分钟自动断开 不活动超时硬编码 300 秒,保持对话或等待后续版本可配置化

FAQ

Hermes 语音模式支持哪些平台?

三种交互表面:CLI(Ctrl+B 录音)、Telegram(语音气泡)、Discord(语音频道实时对话)。三个表面都支持文字和语音并发回复。

Hermes 语音模式可以完全免费使用吗?

可以。faster-whisper 本地 STT 加 Edge TTS 免费合成(322 个语音、74 种语言),全套零成本、零 API 密钥。

faster-whisper 和 OpenAI Whisper 有什么区别?

CTranslate2 高性能重实现,同等精度下速度最高提升 4 倍、内存更低。Hermes 默认使用它作为本地 STT 后端。

Whisper 转写出现乱码怎么办?

已知幻觉问题,Hermes 内置 26 个多语言幻觉短语黑名单加正则自动过滤。额外建议:调高 silence_threshold、用 small 及以上模型、在安静环境录音。

Discord 语音频道 Bot 为什么 5 分钟后自动离开?

硬编码 300 秒不活动超时(Issue #17790 请求可配置化)。持续说话或发文字消息可重置计时器。

Telegram 语音气泡需要什么格式?

Opus/OGG 格式。OpenAI TTS、ElevenLabs、Mistral 原生 Opus 无需转换;Edge TTS 等 MP3/WAV 提供商需要 ffmpeg。缺 ffmpeg 时音频以文件附件形式发送。

中文语音识别推荐什么配置?

STT 用 faster-whisper 的 small 或 medium 模型,TTS 用 Edge TTS 的 zh-CN-XiaoxiaoNeuralzh-CN-YunxiNeural。完全免费。

如何接入 Hermes 不内置的 TTS 引擎?

两种方式:config.yaml 中声明 type: command 的自定义命令提供商(无需写代码),或通过 ctx.register_tts_provider() 注册 Python 插件到 ~/.hermes/plugins/


推荐阅读

这篇文章是 Hermes 系列教程的一篇。完整的学习路径:


下一步

  • AI 编程实操课:Claude Code + Codex + Agent 工作流,覆盖一人公司、自媒体自动化、AI 副业全场景。237 篇实战教程 + 最佳实践 + 源码包,跟着做就出成果。国内版-FlowUS | 国际版-BMC
  • YouTube 频道翔宇工作流
  • 微信公众号:搜索「翔宇工作流」