v0.20.0

Hermes Agent v0.20.0 — The Herald Release(信使版本)


概览

v0.20.0 — The Herald Release(信使版本),2026 年 8 月 3 日发布。~3,650 次提交 · ~1,400 个合并 PR · ~5,200 个文件变更 · ~559,000 行新增 · ~405,000 行删除 · ~1,200 个 issue 关闭 · 650+ 社区贡献者

Hermes 是众神的信使,这个版本让他名至实归:他能说了(实时流式对话语音,带打断能力、设备端唤醒词、免手提控制,覆盖 CLI、桌面端和所有支持音频的 Gateway 平台),他能向其他 Agent 传信了(A2A v1.0),他能向你的系统发布事件了(签名的外发 Webhook),他还能为自己的答案提供来源了(带验证引用的可信研究,支持事实核查)。

在这条脊梁骨上,桌面端从一个聊天客户端升级为真正的平台(Artifacts 带沙箱实时预览、插件 SDK、全局快捷键快速输入、多窗口),CLI 迎来一波硬核命令潮(! shell 模式、/init/diff/context/focus),上下文压缩变得更聪明、更温和,而工具系统也学会了自我修复——不用再浪费对话轮次让模型猜哪里出错了。

社区反应热烈——发布 24 小时内 Digg 科技板块热度超 90 万次浏览、5,400+ 点赞,Teknium 在 X 上称其“宣告新时代的到来”。本次发版同时整合了 v0.19.1 基础设施补丁标签的全部内容。


核心亮点

1. 和 Hermes 真正对话——流式语音、实时打断、自然交流

以前的语音模式是这样的:你说一句,等着整段回复生成完毕,然后听一大段音频。现在 Hermes 逐句流式合成语音,回复刚生成一点就开始说话;你可以在它说话时直接开口打断——它停下来听你说,模型也会被告知你插嘴了;还有繁忙感知的静音检测,不会抢着说话。

这种改变不是量变而是质变——跟 Hermes 说话终于像对话了,不再是“留言交换”。CLI 语音模式、桌面端、Gateway 适配器全部支持。

# 在 CLI 或 TUI 中进入语音模式
hermes chat --voice

# Hermes 逐句回应,你说"等一下"就能打断
# 全程免提,不用键盘

2. 唤醒词和免手提控制——终端从房间另一头对话

自己选唤醒词(“嘿 Hermes”,什么都行),检测在设备端本地运行——音频不会离开你的机器。多 Profile 语音路由让不同唤醒词唤起不同配置;说“Stop”就能在所有平台上免提结束语音对话。你的终端现在可以从房间另一头说话了。

# 自定义唤醒词(语音注册,3 次采样)
hermes voice wake-word register --phrase "早上好 Hermes"

# 不同 Profile 绑定不同唤醒词
hermes voice wake-word bind --profile work --phrase "开工"
hermes voice wake-word bind --profile personal --phrase "嘿助手"

社区对此反应热烈,有开发者评论“终于可以丢掉 Alexa 和 Google Home 了”。Wake word 检测无声无息地跑在后台,不占用模型预算。

3. 语音无处不在——WhatsApp、飞书、钉钉、LINE、QQ、微信

把语音消息发到 WhatsApp、飞书、钉钉、LINE、QQ、Photon 或微信上,Hermes 自动转写并回复;自动 TTS 回复平台感知投递(opus 格式该交给 opus 平台的不会搞错,字幕正确附带)。

STT(语音识别)现在完全可配置——在 hermes tools 中有自己的分类,GUI 有开关矩阵,Dashboard 有下拉菜单。统一语言解析解决了“转写结果语言不对”的常见问题,并且支持了 OpenAI 的 gpt-transcribe

所有 TTS Provider 共享一个统一的口语文本预处理管道——markdown、代码块、URL 从语音中智能清除。

4. 研究可验证——来源引用与事实核查

新增 grounded-citations 技能,让 Hermes 做的每条结论都有可验证的来源支撑:引用与页面实际文本精确匹配(不是模型幻觉),每条引文链接到具体证据位置。配合事实核查模式,你可以把任意文档或声明丢给 Hermes——它告诉你哪些站得住、哪些不行、哪些无法验证。

如果你用 Hermes 做研究,这不只是在 AI 嘴里问了个“大概是这样”,而是“有据可查”。

# 在对话中激活可信研究模式
/grounded-citations

# 对已有文档做事实核查
/fact-check "这篇关于AI安全的报告是否准确?"

5. Agent 间通信——A2A v1.0 协议

全新内置插件实现了 Agent-to-Agent 协议——Hermes 可以发现、对话其他 A2A 兼容 Agent,也可以被其他 Agent 驱动。这个问题——issue #514——是仓库里最古老的功能请求之一,现在终于闭环了。

如果你在构建异构技术栈的多 Agent 系统,Hermes 现在有标准协议加入协作。

# 启用 A2A 插件
hermes plugins enable a2a

# Hermes 自动发现局域网内的其他 Agent
# 收到复合任务时,可主动委托给其他 Agent

Teknium 提到,这是本次发版最重要的基础设施变化之一——Agent 之间终于有了标准通信协议,而不是各自孤立的黑箱。

6. 外发 Webhook——Hermes 主动推事件给你的系统

以前让 Hermes 和别的系统联动得轮询或者等平台回调。现在 Hermes主动推送带 HMAC 签名的生命周期事件(会话活动、轮次完成、工具事件)到你注册的任意 HTTP 端点——接收端可以验证消息真实性。

把你 Hermes 接入 CI/CD 流水线、家庭自动化、监控仪表盘、或者任何讲 HTTP 的服务,无需轮询循环。

# hermes.config.yaml
webhooks:
  - url: "https://your-service.example.com/hermes-events"
    events: ["turn_complete", "tool_invocation", "session_activity"]
    hmac_secret: "${env:WEBHOOK_HMAC_KEY}"

7. 桌面端变成平台——Artifacts、插件 SDK、全局快速输入

桌面端不再只是一个聊天界面,它是一个工作台

  • Artifacts:带版本号的卡片,右侧面板沙箱实时预览——生成的 HTML 或 Web 应用直接在聊天旁边安全运行
  • 插件 SDK 正式落地,看板(Kanban)是第一个官方插件;ctx.download 让插件给你下载文件;浮动窗格布局;多窗口支持
  • 全局快捷键快速窗口:从任何地方捕获想法,输入到任意会话中
# 桌面端:Ctrl+Space 弹出全局快速输入框
# 输入一句 "帮我写个登录页面的 HTML"
# Hermes 生成后自动作为 Artifact 在右侧面板展示

Julian Goldie 在评测视频中将 Artifacts 实时预览视为桌面端最重要的新增能力,因为它把“查看代码”变成了“看到效果”。

8. CLI 硬核命令潮——更少撤销、更多控制

一波重磅 CLI 命令落地,终结了“打错就得重来”的时代:

命令 功能
!command 直接执行 shell 命令——不花模型轮次,瞬间返回
/init 扫描项目,生成或更新 AGENTS.md 上下文文件
/diff 从任意界面查看 staged / all / session 三种级别差异
/context 精确展示什么在填满你的上下文窗口
/focus 精简输出视图,隐藏行可恢复
Ctrl+S 暂存半截 Prompt 到可浏览面板
hermes import-agent 一条命令从 Claude Code 或 Codex CLI 迁移过来
# 快速执行 shell 命令——不消耗模型预算
! ls -la && cat package.json

# 看看上下文窗口到底被什么占了
/context
# 输出:
# 系统 Prompt: 12,450 tokens
# 前 3 轮对话: 2,100 tokens
# 工具定义: 4,800 tokens
# 当前技能文档: 3,200 tokens
# 剩余空间: 15,450 / 38,000 tokens

# 从 Claude Code 迁移——一条命令搞定
hermes import-agent

社区评价/context 是开发者最期待的诊断命令,从此不用再“猜”上下文窗口的占用情况。

9. 中途纠正——不用停下重来

如果 Hermes 正在跑偏,以前你得 /stop、重写 Prompt、等它重新开始。现在输一条纠正信息,当前轮次直接转向——进行中的工作保留,原始 Prompt 保留,Agent 在你的新指导下修正路线。

配合双击 ESC 丢弃草稿和输入框撤销栈,操作 Hermes 的感觉更像“编辑”而不是“重启”。

# Hermes 正在执行过程中,你发现方向不对
# 不用 /stop,直接打字纠正:
> 等一下,应该先查 Node 版本再决定用什么包管理器

# Hermes 立即转向,保留已完成的工作,继续执行

10. 工具自我修复——Agent 不再为工具摩擦浪费轮次

一波系统性的工具自我修复升级,让 Agent 浪费在工具故障上的轮次大幅下降:

  • 终端输出截断时,完整内容溢写到文件,Agent 可以重新读取
  • patch 命令能检测已应用的编辑(返回成功而非报错),并诊断空白字符不匹配
  • 搜索零结果时探测近似匹配并恢复
  • write_file 验证磁盘上的实际内容
  • 常见故障类别附带可操作的修复提示

迭代上限也从 90 跃升至 500——长自主运行不再撞上人工天花板。

# 默认工具调用迭代上限大幅提升
# 旧:90 次迭代后强制停止
# 新:500 次迭代,足够完成复杂任务链

社区解读:工具自我修复是“静默生产力提升”——你不会注意到它,但它每天帮你省下 5-10 个浪费的对话轮次。


语音与对话

流式对话语音

  • 逐句流式 TTS,带打断能力,覆盖所有终端(CLI 语音模式 + Gateway 适配器)
  • 全双工转向监听器——你说 Hermes 就停(生成中和播放中都生效)
  • 繁忙感知静音、停止提示、思考音效、打断修复
  • 模型被告知用户打断了它的口头回复——上下文保持连贯
  • 桌面端完整朗读完整轮次,空闲时输出保留的叙述

TTS / STT 基础设施

  • 统一语音文本预处理 + 速度/指令/Provider 工具参数;统一语言解析修复了“转写语言错误”的长期问题
  • STT 完全可配置——hermes tools 分类、GUI 开关矩阵、Dashboard 下拉菜单、安装状态显示;OpenAI gpt-transcribe 支持
  • 平台感知自动 TTS 投递(opus 平台正确交付、字幕附带)
  • WhatsApp、飞书、钉钉、LINE、QQ、Photon、Weixin 语音消息分类和路由
  • 命令 TTS/STT Provider 加固(空闲超时、环境变量清理、无 shell、路径守卫)
  • 逐句 TTS 合成与播放流水线并行——下一句在播放当前句时渲染
  • Discord 语音 PCM 流直接传给 ffmpeg stdin,不再写临时文件

唤醒词与免提

  • 设备端开放式词汇唤醒词(语音注册,3 次采样)
  • 多 Profile 语音路由——不同唤醒词唤起不同 Profile
  • 说 “Stop” 在所有终端上免提结束语音对话
  • CLI/TUI 语音模式 15 项 UX 和环境修复

核心 Agent 与架构

上下文压缩——聪明又温和

  • 主动式工具结果修剪:大窗口模型的工具输出及时回收
  • 逐轮微压缩:压缩开销平摊到每轮,不再一次大卡顿
  • 保证保留最近 N 条用户消息compression.min_tail_user_messages)——最近的对话总在上下文中
  • 幽灵技能防御——被修剪的技能再也不会悄悄残留影响后续对话
  • 进度感知超时:不惩罚慢速摘要模型
  • 每模型阈值覆盖;绝对 token 阈值(compression.threshold_tokens);可选空闲触发压缩

长期会话保持连贯,不再卡顿。

中转向——纠正 Agent

  • 用户纠正操作当前轮次(保留进行中工作和原始 Prompt)
  • 双击 ESC 丢弃草稿
  • 输入框撤销栈

审批系统升级

  • hermes approvals suggest:从你的审批历史中挖掘模式,生成白名单建议
  • 自定义智能审批策略approvals.smart_policy
  • 连续拒绝断路器:三次连续拒绝后,强制停止循环
  • Docker/podman 守护进程重定向命令现在需要额外审批
  • 跨终端审批模式命令
  • 桌面端配对审批:Profile 正确,且有专属界面供操作

Prompt 缓存与性能

  • 工具 Schema 在原生 Anthropic 上缓存,不丢失对话历史
  • DeepSeek Prompt 缓存在 OpenCode Gateway
  • 每次 API 调用的 Token 核算移出转向线程
  • OpenAI 线缆客户端跨连续 LLM 调用复用
  • 工具调用规范化记忆化

Provider 与模型

  • Vercel AI Gateway Provider 和 Vercel Sandbox 终端后端回归(现代化至 SDK 0.7.2,关闭遥测)
  • Gemini 3.1 Pro + 3.6 Flash 加入目录;Gemini 修复集群
  • claude-opus-5 进入 OpenRouter 和 Nous Portal
  • deepseek-v4-flash-0731 就位
  • Bedrock Converse API Prompt 缓存(cachePoint)
  • 模型选择器:精选默认项 + 可折叠 Provider + 全选
  • 过期缓存后台刷新、前端即时返回

委托与子 Agent

  • 结构化超时/暂停元数据 + /agents 中实时子进程状态
  • 子 Agent 可以使用 execute_code
  • 脱敏的子工具历史暴露在 subagent_stop
  • 面向插件的公共子 Agent 生命周期 API

桌面端——从聊天 App 到开发平台

平台能力

  • Artifacts:版本化卡片 + 右侧面板沙箱实时预览
  • 插件 SDK:看板为首个桌面插件;ctx.download 交付文件;Widget App SDK(状态 + reducer + 渲染);Widget 网格布局引擎 + 背景感知主题引擎
  • 快速输入窗口:全局快捷键 → 任意会话
  • 多 GUI 窗口:多会话并列操作
  • 浮动窗格:面板可在任意位置放置
  • SSH 远程后端连接模式
  • 让 Agent 操纵 Shell(预览窗格 + 窗格焦点)并检查它自己开发的桌面 App

输入框与 UX

  • 文件/文件夹/链接通过选择器附件;@ 路径和粘贴链接的输入框标记
  • 输入框撤销栈;双击 ESC 丢弃草稿;双击 Enter 发送队列轮次
  • 两键切换模型(⌘⇧M);⌘K 中 YOLO 模式实时切换状态
  • 侧边栏日期分隔符 + 置顶会话区 + 可选过期会话自动归档
  • 分组实时滴答工具活动行;@session 链接解析为可点击标题
  • iMessage 风格表情反应(可选,双向);双击点赞
  • 信用使用量 Toast 通知
  • RFC 8252 原生桌面登录(系统浏览器 + PKCE,无 WebView Cookie)
  • 保持计算机唤醒开关 + 状态栏唤醒指示器

桌面性能——第二波 60fps

  • 流式渲染成本与对话长度无关——不管聊了多久都一样丝滑
  • 真实会话 60fps(重排门控固定、自适应刷新)
  • 五个流式 Tab 下拖拽依然 60fps
  • 隐藏面板计时器暂停、滚动/状态循环在繁忙会话中停止
  • 后台空闲 CPU 接近零
  • 侧边栏/叠加层渲染流失消除
  • ⌘K 瞬间打开
  • 渲染器冷启动:shiki/mermaid 不进入启动路径
  • 状态诊断(渲染 + Store 流失计数器)+ Lint 规则禁止镜像原子引用
  • Playwright E2E 测试套件 + 视觉回归差异对比

CLI、TUI 与运行时

命令/功能 说明
!command 速度最快的 shell 命令——不花模型轮次
/init 扫描项目 → 生成/更新 AGENTS.md
/diff 三种差异视图——staged / all / session
/context 上下文窗口占用精确分析
/focus 精简输出视图 + 隐藏行恢复
Ctrl+S Prompt 暂存到可浏览面板
/goal 持久化目标指示器
hermes import-agent 从 Claude Code / Codex CLI 一键迁移
多选澄清 CLI/gateway/TUI 复选框交互
逐轮摘要行 + 旋转器中实时 Token 流 进度透明
跨终端主题 SDK 一套主题同时给 CLI、TUI 和桌面端上色
hermes -w 冷启动 ~14s → ~1.8s
hermes update 空操作 快 2–6s
运行时 Node 26 全安装器要求;brew/pip/PyPI 渠道退役(Shell 安装器 / Docker / Nix 仍支持)

TUI 方面,模型选择器不再破坏你的草稿,斜杠菜单优先展示你常用的技能,附件在输入框中可见。阿拉伯语(ar)区域设置全面支持,含 RTL。


Gateway、平台与 Relay

新平台

  • Buzz:(Block 基于 Nostr 的 Messenger)原生 WebSocket 传输 + NIP-42 认证
  • Photon:原生投票、效果、澄清为投票、富链接(4 个 PR salvage)
  • Vercel AI Gateway Provider + Vercel Sandbox 终端后端回归
  • Slack:原生 Block Kit 澄清按钮;可选表情触发;外发 Payload 净化
  • Discord:自动线程会话按 prospective_thread_id 索引;回复引用从 ID 构建
  • WhatsApp:可配置入站已读回执
  • 看板唤醒恢复创建者的 DM/线程会话;看板/委托唤醒可触达 API 服务器会话

Relay 四阶段平等

  • Phase 1supported_ops 发现、身份字段、/handoff 别名
  • Phase 2:媒体
  • Phase 3:交互式 Prompt
  • Phase 4:线程生命周期
  • 出口键入指示器

HSP 技能同步

  • 个人客户端 (M1) + 组织技能客户端 (M2) + 组织技能命名空间(Token 门控发现)

投递可靠性

  • 会话活动心跳、停滞看门狗、有界压缩等待——先前窗口内回滚后重新加固上线
  • SessionState 整合:19 个会话键字典 → 1 个面向轮次/对话/持久化作用域的对象

技能、插件与 MCP

新增与更新

  • A2A v1.0:Agent 间通信协议插件(关闭 issue #514
  • grounded-citations 技能:来源引用 + 事实核查模式
  • Curator:暴露非托管技能 + curator adopt 命令
  • Office 技能集:docx、xlsx、pdf 打包 + 更新的 PowerPoint
  • 技能树持续瘦身:yuanbao、segment-anything、jupyter、heartmula、audiocraft → 可选技能
  • tldraw-offline 脚本技能
  • simplify-code v1.1

MCP

  • Comfy Cloud 目录条目,预选 20 个工具
  • MCP 懒启动——从指纹键控的磁盘工具 Schema 缓存启动,不会在会话开始时全部启动所有已配置服务器
  • 隐藏空白字符警告
  • NeMo Relay 可观测性集成(稳定版 0.6 重新上线)

安全与可靠性

凭证与秘密

  • Iron-proxy 凭证注入出口防火墙(重新上线)
  • DNS 锚定 SSRF 安全抓取 + Slack CDN 白名单
  • 压缩边界严格脱敏
  • ReDoS 消除(配置键脱敏模式)
  • Tier-3 凭证读取范围化
  • CVE 依赖版本锁定刷新
  • Windows 加固波:全仓库文本模式子进程解码 Bug 修复、控制台闪烁隐藏、残留编码缺口闭合
  • 密钥来源 Command-Helper(与所有 Vault 组合)
  • ${env:VAR} SecretRef 在 config.yaml 和 MCP 配置间平等

会话与状态完整性

  • 四项会话状态修复(安全关闭追踪、刷新游标类修复、行重试、用量 PK 修复)
  • 紧凑 v23 FTS 布局 + hermes sessions optimize + CJK 双字 FTS
  • 读路径拆分:每线程只读连接
  • OpenViking 内存 Provider 加固
  • 凭证池:重置感知主凭据恢复 + 延迟刷新锁定修复

升级

hermes update

全新安装:

# macOS / Linux / WSL2
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Windows(PowerShell)
iex (irm https://hermes-agent.nousresearch.com/install.ps1)

如果你之前在使用 Claude CodeCodex CLI,迁移只需一条命令:

hermes import-agent

GitHub 完整 Changelog

← Hermes Agent Changelog