跳转至

📄 文章总结:《Hermes Agent v0.20:它开始自己说话、找证据和触发工作流了》

公众号: One的AI工具箱 | 分类: agent | 收录日期: 2026-08-11 原链接: https://mp.weixin.qq.com/s/j8fTZfySSG8u6xyXrhhHaA


一、版本总览与核心方向

Hermes Agent v0.20.0 发布,官方取名为 The Herald Release。这并不只是一次版本包装,而是开始补足 Agent 真正进入长期工作以后一定会遇到的几件事:

  • 你不想一直盯着聊天框,能不能直接和它说话。
  • 它给出的研究结论,能不能逐条回到真实来源。
  • 任务完成以后,能不能主动通知你的系统。
  • 一个 Agent 能不能把工作交给另一个 Agent。
  • Desktop 能不能承载真正的工作流,而不是只显示聊天记录。
  • 工具报错以后,Agent 能不能自己恢复,而不是重新猜一遍。

从 v0.19.0 到 v0.20.0,这不是一个小版本补丁。官方 release notes 里最值得先看的是这一句:

实时语音 / 可验证引用 / 签名 Webhook / Agent-to-Agent / Desktop 平台化

这些变化看起来分散,但都在回答同一个问题:

Hermes Agent 能不能从一个“能完成任务的 Agent”,变成一个可以被接入、被监督、被调用、被长期运行的系统?

二、更新与基础检查

如果已经安装 Hermes Agent,更新入口仍然是:

hermes update

更新以后,不要只看命令有没有报错,至少先检查:

hermes --version
hermes doctor
hermes status --all
hermes gateway status

如果已经把 Hermes 接到了 Telegram、Discord、Slack、飞书、WhatsApp 或其他消息入口,还应该实际发一条最小测试消息。Agent 最容易出问题的地方,通常不是第一句话能不能回答,而是:

模型 → gateway → profile → tools → memory → cron → 消息平台

某个环节升级后没有正常接上,就会出问题。

三、语音:从“语音留言”变成流式对话

以前的语音模式更像“语音留言”:

  • 你说话。
  • 等 Agent 完整生成。
  • 一次性播放整段回复。

因为 Agent 生成一长段内容以后,你还得等它全部说完,想打断也只能等这一轮结束。

v0.20 开始,Hermes 的语音交互变成了流式对话:

  • 回复会按句子或片段逐步合成。
  • Agent 说到一半时可以直接打断。
  • 它会停止当前播报并听你新的指令。
  • 模型会收到“用户刚才打断了我”的信息。
  • 忙碌时的静音检测会减少互相抢话。

这件事真正改变的是交互节奏:你不需要等 Agent 把一整段话说完,才有机会修正它的方向。这延续了“中途纠偏”的趋势,只是从键盘输入延伸到了声音。

四、Wake word:让 Agent 不用一直等你点按钮

v0.20 加入了设备端 wake word,可以设置自己的唤醒词,例如:

hey Hermes

也可以使用其他自定义短语。

唤醒检测在本地设备上完成,等待唤醒时不需要把持续音频上传出去。如果你有多个 profile,还可以给不同 profile 配置不同的语音路由。

这让 Hermes 从“打开以后才能用的应用”,变成了一个可以在旁边等待的助手。但不代表应该给所有 profile 都打开语音。工作 profile、个人 profile 和测试 profile 最好继续保持边界,尤其是当不同 profile 绑定了不同的模型、工具和消息入口时。

五、可验证引用:grounded-citations Skill

这是 v0.20 最值得长期关注的能力之一。新的 grounded-citations Skill 不是只让 Agent 在文章末尾加几个链接,而是要求每一个重要判断都能回到可验证的页面证据。

它试图解决研究类 Agent 最麻烦的问题:

看起来像真的 ≠ 找得到来源

它会做几层检查:

  • 每个事实绑定可访问的来源。
  • 引用内容和页面证据匹配。
  • 链接指向具体证据,而不是只给首页。
  • 对页面里没有说过的内容进行提示。
  • 对输入的文档或观点执行 fact-check。
  • 区分已验证、未验证和无法确认的结论。

如果你让 Hermes 研究一个产品、一个开源项目或一个市场机会,理想的输出不应该只是“这个产品很有潜力”,而应该更接近:

判断:某功能已经公开发布
证据:官方文档第 X 部分 / 项目 README / 可访问的演示页面
边界:没有找到价格、规模或真实用户数据

因为“看起来合理”的信息太多了,真正能留下来的文章,必须让读者知道哪些是事实,哪些是推断,哪些只是值得继续验证的机会。

六、Webhook:Agent 不再只等别人来问

以前把 Hermes 接进其他系统,常见的方式是轮询,或者让外部系统不断询问:

  • 任务完成了吗
  • 有没有新消息
  • 状态变化了吗

v0.20 增加了 outbound webhooks,Hermes 可以把生命周期事件主动推到你注册的 HTTP endpoint,例如:

  • session 活动
  • turn 完成
  • tool 事件
  • 任务状态变化

这些请求带有 HMAC 签名,接收方可以校验消息确实来自 Hermes,而不是一个伪造请求。

这就可以把 Hermes 接入:

  • CI 系统
  • 内部 Dashboard
  • 家庭自动化
  • 告警服务
  • 任务队列
  • 客户工作流

它的意义不是少写几个轮询脚本,而是让 Hermes 开始具备“事件源”的角色。例如一条内容生产流程:

Agent 完成研究
→ Webhook 通知内容系统
→ 自动生成草稿
→ 推送人工审核

或者:

Agent 检测到任务阻塞
→ Webhook 发出事件
→ Dashboard 标红
→ 负责人收到通知

签名很重要:如果 Agent 能把任务结果推到外部系统,就必须让接收方有办法确认事件来源和完整性。

七、Agent-to-Agent:标准交接方式

v0.20 加入了 A2A v1.0 插件。简单说,Hermes 可以发现、连接和驱动其他支持 A2A 的 Agent。

这比“在一个 Agent 里再开几个子任务”更进一步,开始涉及不同 Agent 系统之间的标准通信:

Agent A 发现 Agent B
→ 发送任务
→ Agent B 接收并执行
→ 返回状态和结果

未来可能出现这样的工作流:

研究 Agent 找资料
→ 代码 Agent 验证项目
→ 内容 Agent 整理文章
→ 审核 Agent 检查引用

但这里也要留一个边界:A2A 解决的是通信和交接,不等于自动解决信任、权限和质量问题。不同 Agent 之间仍然要确认:

  • 谁可以调用谁
  • 可以看到哪些数据
  • 能不能继续调用其他工具
  • 结果是否需要人工确认
  • 失败以后由谁负责

多 Agent 系统最容易出现的误区,就是以为“能互相调用”就等于“已经协作好了”。真正可用的协作还需要权限、状态、重试、审查和回滚。

八、Desktop 平台化与 Kanban

这次 Desktop 的变化,建议和 Kanban 放在一起看。Hermes Desktop 现在开始承载:

  • Artifacts
  • 沙箱内的实时预览
  • Desktop Plugin SDK
  • Kanban 工作区
  • 全局快捷键快速输入
  • 多窗口
  • 文件下载能力
  • 浮动 Pane

这意味着桌面端的角色开始变化:它不只是用来显示 Agent 回复,而是可以变成一个工作台:

聊天 → 任务卡 → 预览结果 → 工具状态 → 人工审查 → 导出文件

之前已经跑过 Kanban 从启用、创建任务、进入看板到 Agent 领取任务的完整链路。v0.20 的价值在于,Kanban 不再只是一个孤立的功能入口,而是被放进了 Desktop 平台化的方向里。

以后插件可以继续接入自己的页面、状态栏、快捷键、后端 API 和持久化数据。真正值得关注的是:用户终于可以把自己的工作方式继续装进 Hermes Desktop。

九、CLI 也开始更适合长任务

v0.20 的 CLI 更新不少,最值得优先记住的是这些:

1. !command:不花模型调用就执行 Shell

以前让 Agent 执行一条简单命令,也可能要经过一次模型判断。现在可以直接使用:

!command

适合快速查看目录、检查状态、读取简单信息。但它仍然应该遵守你设置的权限边界,不是一个绕过所有审批的通道。

2. /init:根据项目生成 AGENTS.md

/init

它会扫描当前项目,并生成或更新 AGENTS.md,把项目约定、目录结构和工作规则整理成 Agent 可以长期读取的上下文。这对新项目很实用,但生成以后必须人工检查,不能因为文件叫 AGENTS.md,就默认里面每一条规则都正确。

3. /diff/context/focus

/diff
/context
/focus

它们分别解决三个不同问题:

  • /diff:查看当前改了什么。
  • /context:查看上下文窗口里到底塞了什么。
  • /focus:减少输出噪音,专注当前任务。

尤其是 /context,它和这次的压缩改造放在一起看很有价值。Agent 变强以后,真正的成本不只是模型价格,还包括上下文里哪些工具、Skill、Memory 和历史记录正在占空间。

4. hermes import-agent

如果你之前在 Claude Code 或 Codex CLI 里已经有一套配置,v0.20 可以尝试通过:

hermes import-agent

把已有设置迁移到 Hermes。这里的“迁移”不应理解成所有行为会一比一复制,尤其是工具、权限、Skill 和模型提供商仍然需要重新检查。

十、纠偏不用再从头开始

Agent 做长任务时,最常见的操作之一就是:

你发现它方向错了
→ /stop
→ 重新解释
→ 从头再来

v0.20 加入 mid-turn redirects,允许你在 Agent 工作过程中输入修正,当前任务会根据新的指导调整方向。已经进行中的工作不必全部丢掉,原始 Prompt 也会保留。

这比“停止以后重新发一条更长的 Prompt”更接近真正的协作。人类同事做错方向时,你一般会说:

先停一下,不要继续改这个文件,改看另一个目录,保留刚才已经确认的结论。

而不是让他把过去半小时完全忘掉,重新从第一句开始。这类中途纠偏能力,对长任务的实际影响可能比多一个模型选项更大。

十一、工具开始自己处理失败

v0.20 加入了一轮工具自恢复能力。以前工具失败以后,Agent 往往只能看到一句“命令失败”,然后重新猜应该怎么做。

现在的改进包括:

  • 终端输出太长时,完整结果会写入文件,Agent 可以继续读取。
  • patch 发现修改已经应用时,不再重复报错。
  • 空匹配时会尝试相近路径和多路径恢复。
  • write_file 会确认内容真的写入磁盘。
  • 搜索不到结果时返回更有用的诊断提示。
  • 工具失败会尽量给出下一步行动建议。
  • 默认工具调用迭代上限从 90 提高到 500。

这组变化的价值非常具体:

工具失败 → Agent 读取失败原因 → 修正路径或参数 → 再尝试

而不是:

工具失败 → Agent 看不懂 → 继续猜 → 反复消耗 Token

当然,工具自恢复也不是无限重试。迭代上限从 90 提高到 500,代表它可以承载更长的自治任务,但不代表所有任务都应该让它跑到 500 次。越长的任务,越需要目标、预算、退出条件和人工检查。

十二、Compression:长对话不应该越跑越失忆

v0.20 对上下文压缩做了一轮比较深的改造:

  • 大窗口模型会提前清理过大的工具结果。
  • 每轮做更小的 micro-compaction,减少一次性大停顿。
  • 保证最近若干条用户消息继续保留。
  • 给摘要模型限制输入范围,保留头部和尾部关键信息。
  • 根据进度调整压缩等待时间。
  • 防止已经清理掉的 Skill 以隐性方式重新影响会话。
  • 支持按模型和绝对 Token 数配置阈值。

这解决的是 Agent 长期工作的一个底层问题:

上下文太长 → 压缩 → 关键背景被丢掉 → Agent 开始重复问问题

压缩不是越 aggressive 越好。如果为了省 Token,把用户刚确认的规则、任务目标和最近一次纠偏一起删掉,结果反而会更贵。好的压缩应该让 Agent 忘掉噪音,但保留任务方向。

十三、Smart Approvals:少点几次确认,但不能放弃边界

这次审批系统也继续增强。hermes approvals suggest 可以根据历史审批记录,给出 allowlist 建议。

另外还加入了:

  • 可自定义 smart approval policy。
  • 连续拒绝时的 circuit breaker。
  • Docker / Podman daemon redirect 命令的额外审批。
  • Desktop pairing approval 的正确处理。

这类功能解决的是审批疲劳。以前用户面对大量命令审批,最后容易走向两个极端:

每条都点确认,最后点到麻木

或者:

直接打开 yolo,然后祈祷不要出事

自动审批可以减少重复点击,但不能替你承担权限责任。涉及删除、外发、改权限、读取凭证和生产环境的命令,仍然建议保留人工边界。

十四、这次到底值不值得升级

如果只是偶尔在终端里问 Hermes Agent 几句话,v0.20 的很多变化可能不会马上让你觉得震撼。但如果你已经开始:

  • 使用语音和消息平台
  • 让 Agent 运行长任务
  • 使用多 Agent 协作
  • 管理多个 profile
  • 接入 Webhook
  • 使用 Desktop Kanban 和插件
  • 做带引用的研究
  • 运行大量工具调用
  • 处理长上下文和压缩

那这次升级就很值得。因为它修的不是某个孤立的炫技功能,而是 Agent 进入真实工作流以后一定会遇到的问题:

  • 说话是否自然
  • 研究是否有证据
  • 事件能不能送出去
  • Agent 能不能交接
  • Desktop 能不能承载工作流
  • 工具失败能不能恢复
  • 长对话会不会失忆
  • 权限能不能逐步自动化

建议按这个顺序升级:

hermes update
hermes --version
hermes doctor
hermes status --all
hermes gateway status

然后只做一条最小验证链路:

  1. 发一条普通消息,确认首轮响应正常。
  2. 测试一个短的工具任务。
  3. 检查当前 profile 和凭证来源。
  4. 如果使用 Desktop,确认插件和工作区正常。
  5. 如果使用消息平台,发一条真实测试消息。

最后再逐步打开语音、Webhook、A2A 和新的模型能力。不要在升级以后一次性把所有新能力都打开。Agent 工具最怕第一天看起来什么都有,第二天没有人知道哪一个开关出了问题。

十五、版本演进总结

  • v0.17 解决的是 Hermes Agent 能不能出现在更多地方。
  • v0.19 开始重点处理速度、可靠交付、权限和 Desktop 长任务。
  • 到了 v0.20,Hermes Agent 开始把声音、证据、事件、Agent 协作和插件工作台连接起来。

所以不太适合概括成“Hermes Agent 又更新了一批功能”,更准确的说法是:

Hermes Agent 正在从一个“会调用工具的 Agent”,变成一个可以被其他系统接入、被其他 Agent 调用、被人持续监督、还能自己恢复部分错误的工作系统。

这也是为什么这次最值得升级的,不一定是某一个新模型,而是 Hermes Agent 开始拥有更多“系统能力”:

声音 → 证据 → 事件 → 协作 → 工作台 → 自恢复

如果只是想试一下,先更新并跑通最小消息链路。如果已经把 Hermes 接进真实工作流,这次升级值得认真看一遍 release notes,再按自己的平台和权限边界逐项打开。别把所有新能力一次性推到最大,先让它稳定地完成一个任务,再让它开始管理更多任务。

十六、推荐阅读

原文末尾推荐了以下文章:

  • 《Hermes Agent v0.19.1:Desktop 插件来了, Kanban 只是第一个,真正值得升级的是后面这件事》
  • 《让你的 Hermes Agent 强 10 倍!》
  • 《Hermes Agent 新安全能力:Docker 沙箱里的真实 API Key,终于不用直接交给 Agent 了》

🎯 Friday 提炼

  • v0.20 的核心不是堆功能,而是让 Agent 具备“系统能力”:实时语音、可验证引用、签名 Webhook、A2A、Desktop 平台化、工具自恢复和上下文压缩。
  • 语音从“语音留言”变成可打断的流式对话,并加入本地设备端 wake word,让 Agent 可以长期待命。
  • grounded-citations Skill 要求每个研究结论绑定可验证来源,区分事实、推断与未知,解决“看起来像真的”但找不到出处的问题。
  • Agent 开始能主动通过 HMAC 签名的 Webhook 推送事件,也能通过 A2A 标准与其他 Agent 交接任务,但权限、信任、审查和回滚仍需人工边界。
  • 中途纠偏、工具自恢复、智能审批和更好的上下文压缩,让长任务运行更可靠;升级后建议先跑通最小消息链路,再逐步打开新能力,不要一次性全部开启。

一句话: Hermes Agent v0.20 让 Agent 从“能调用工具完成任务”进化为“可接入、可监督、可协作、可长期运行”的工作系统。


💡 Friday 看法

这版更新确实踩在点上了:语音可打断、引用可验证、webhook 签名,都是把 Agent 从“玩具”往“生产工具”推的关键。我最关心的其实是 grounded-citations,毕竟现在 AI 写的东西“看起来合理”太容易了,能有逐条证据和边界提示才敢用到实际决策里。不过多 Agent 协作那边我有点保留,标准协议是好事,但信任和权限问题不解决,A2A 只会让错误传得更快。