昨晚刷 GitHub 看到 Hermes 0.13.0 发了。

代号 “The Tenacity Release”,官方 tagline 写的是“Hermes Agent now finishes what it starts”。我第一反应是:这口气不小。

看完 release note 之后,我觉得这口气它还真接得住。

864 个 commit,588 个 merged PR,282 个 issue 关掉,295 个贡献者。光看数字就知道这不是一次小版本迭代。但数字本身不重要,重要的是这次更新到底改了什么。

先说我最看重的一个点:Multi-agent Kanban

这次最让我眼前一亮的,是多代理看板系统。

Hermes 现在有了一个持久化的多 agent 任务面板,支持心跳检测、僵尸进程回收、任务认领、重试预算、异常退出自动阻断。多个 Hermes worker 可以在同一张看板上领任务、交接、关闭任务。

这个东西听起来偏工程,但你想想它解决的是什么问题。

以前让 Hermes 跑多个子任务,本质上是“开几个分身,各干各的,干完汇报”。任务之间的协调、失败重试、状态追踪,全靠你自己在 prompt 里写逻辑。

现在这些变成基础设施了。

你不用再在 prompt 里写“如果失败了请重试三次”,系统层面就兜住了。你不用再盯着子任务看它是不是卡死了,心跳检测会帮你盯着。你不用再担心某个子 agent 挂了之后任务丢失,看板会自动回收并重新分配。

这才是真正的多 agent 协作。不是“我能同时开 3 个 agent”,而是“多个 agent 能在一个有纪律的体系里一起干活”。

怎么用起来

开启步骤其实不复杂,我走一遍。

第一步,初始化看板数据库:

hermes kanban init

这一步会在 ~/.hermes/kanban.db 创建一个 SQLite 数据库。首次使用 kanban 相关命令时也会自动初始化,但手动跑一下更踏实。

第二步,确保 gateway 在运行:

hermes gateway start

Kanban 的调度器(dispatcher)默认嵌在 gateway 里跑。没 gateway 就没调度器,任务不会被自动分配。

第三步,创建第一个任务:

hermes kanban create "调研 AI Agent 市场格局" --assignee researcher

--assignee 指定哪个 profile 来干这个活。不指定的话任务会进入待分配池。

第四步,看板里看状态:

hermes kanban list          # 看所有任务
hermes kanban list --mine   # 只看分配给我的
hermes kanban stats         # 看统计
hermes kanban show <id>     # 看某个任务的详情

也可以在飞书、Telegram、Discord 这些平台里直接用 /kanban list 查看,跟 CLI 一样的命令。

第五步,盯着它跑:

hermes kanban watch

这个命令会实时显示任务认领、心跳、完成、阻断等事件。第一次跑的时候建议开着看看,心里有数。

如果你更喜欢图形界面:

hermes dashboard

打开 Web 面板,左侧导航直接切到 Kanban tab。可以看到 Triage → Todo → Ready → Running → Blocked → Done 的完整看板,支持拖拽、批量操作、实时 WebSocket 刷新。

几个实用的进阶操作:

# 给任务加子任务
hermes kanban create "分析竞品" --parent <父任务ID> --assignee analyst

# 任务卡住了需要人工介入
hermes kanban block <id> "需要确认 API 权限"

# 问题解决了,解除阻断
hermes kanban unblock <id>

# 完成任务并带上结果
hermes kanban complete <id> --result "已整理到 research.md"

# 创建独立看板(比如按项目分)
hermes kanban boards create my-project --name "我的项目" --icon 🚀 --switch

配置文件里也可以调参数,比如调度频率:

kanban:
  dispatch_in_gateway: true
  dispatch_interval_seconds: 60   # 默认 60 秒检查一次

实际用起来的感受是:上手门槛不高,但一旦跑起来,多个 agent 之间的协作体验跟以前完全不是一个级别。任务不会丢、僵尸会回收、失败会重试,你只需要关心“要做什么”,不用操心“怎么协调”。

/goal 命令:终于不用反复提醒它要干嘛了

这个我等了很久。

/goal 命令可以锁定一个目标,agent 会在后续所有轮次中围绕这个目标推进,不会聊着聊着就跑偏。

用过的人都知道,Agent 最烦的一个问题就是“聊了五轮之后它忘了最初要干嘛”。你不得不反复提醒、反复纠正、反复把话题拽回来。这个现象官方叫“Ralph loop”,现在 /goal 把它做成了一等公民。

对我这种经常让 Hermes 跑长任务的人来说,这个变化很实在。

安全这一波,力度很大

0.13.0 关掉了 8 个 P0 级别的安全问题。

几个比较有代表性的:

  • 敏感信息脱敏默认开启
  • Discord 角色白名单改成 guild 级别,堵住了跨服务器 DM 绕过漏洞(CVSS 8.1)
  • WhatsApp 默认拒绝陌生人消息
  • 浏览器工具加了云元数据 SSRF 防护
  • Cron 任务增加 prompt 注入扫描
  • hermes debug share 上传前自动脱敏

我对安全更新一般不会单独拎出来说,但这次不一样。Hermes 越来越多人在用,而且很多人是把它接进飞书、钉钉、企业微信这些工作场景里的。安全这块不补好,后面出事就是大事。

这次官方明显在认真对待这件事。

Sessions 终于不怕重启了

以前最烦的一件事:gateway 重启、/update 升级、source 文件重载之后,正在跑的会话直接断掉。上下文没了,任务进度没了,得重新来。

0.13.0 把这个问题修了。Gateway 重启后会自动恢复中断的会话。

这个改动看起来不大,但对长期在线使用的人影响很深。你的 Hermes 不再是一个“每次重启都要重新热身”的工具了,它开始更像一个持续运行的服务。

Providers 变成插件了

这次做了一个很关键的架构变化:模型 provider 从硬编码变成了插件体系。

ProviderProfile 抽象类加上 plugins/model-providers/ 目录,第三方可以自己写 provider 插件,不用动 Hermes 核心代码。

这个变化的长期价值很高。

现在 Hermes 支持 20 多个 provider,但模型市场变化太快了,每隔几周就有新的 API、新的推理路径、新的认证方式冒出来。如果每次加 provider 都要改核心代码,维护成本会越来越高。

插件化之后,社区自己就能接新模型,Hermes 核心团队也能更专注在框架本身。

自动 lint:写完代码立刻告诉你哪里错了

write_filepatch 这两个工具现在会自动做语法检查。Python、JSON、YAML、TOML,写完立刻 lint,语法错误当场暴露。

这个改动特别实用。

以前 agent 写完代码,你得自己跑一遍才知道有没有问题。很多时候语法错误要等到实际执行才发现,白白浪费一轮对话。现在写完即查,错误前置,效率直接拉上来。

Google Chat 进来了,消息平台到了 20 个

Google Chat 成为 Hermes 支持的第 20 个消息平台。同时官方还开放了通用的 platform-plugin hooks,方便第三方自己接 IRC、Teams 这些平台。

再加上 QQBot 也有了原生审批键盘,和 Telegram、Discord 一个待遇。

平台这条线,Hermes 越铺越宽。国内用户常用的飞书、钉钉、企业微信、QQ 都在持续补细节,这条路走对了。

还有几个值得提的点

视频理解video_analyze 工具,Gemini 和兼容的多模态模型可以直接分析视频内容。

MCP 升级:支持 SSE 传输和 OAuth 转发,长连接保活,图片结果直接变成 MEDIA tag。MCP 这条线在变得越来越实用。

SearXNG 搜索后端:可以把搜索和内容提取拆开用不同的后端,灵活性高了很多。

xAI 自定义语音:TTS 支持语音克隆。

7 种语言本地化:中日德西法乌土,CLI 和 gateway 的静态消息都翻了。官方文档站也加了中文。

no_agent cron 模式:定时任务可以跳过 agent,只跑脚本。很多监控、watchdog 类的场景终于不用每次都烧 token 了。

Nous OAuth 跨 profile 共享:登录一次,所有 profile 都能继承。不用每个 profile 都单独登一遍。

哪些人最该关注这次更新

说实话,这次更新覆盖面太广了,几乎所有人都能找到跟自己相关的点。

但我会特别推荐三类人认真看一下。

第一类,已经在用多 agent 工作流的人。Multi-agent Kanban + /goal + 更成熟的 delegation,这三个加在一起,多 agent 的可用性上了一个大台阶。

第二类,把 Hermes 接进团队协作场景的人。安全加固、会话持久化、平台 allowlist、Google Chat,这些都是生产环境需要的东西。

第三类,自己写插件或者在做深度定制的人。Provider 插件化、MCP 升级、transform_llm_output hook、[[as_document]] skill 指令,接口开放程度又进了一步。

我的建议

如果你现在停在 0.12.x,这次升级我会给一个很明确的建议:升。

尤其是你已经在重度使用 Hermes,不管是个人还是团队场景,0.13.0 里有太多东西是“用了就回不去”的。

如果你有自定义插件或者深度定制,先看一遍 release note 里跟 provider plugin、MCP、security 相关的部分再动手。这次改动量大,踩坑概率也会高一点。

官方这次把版本号叫 “Tenacity”,我觉得挺准确。

Hermes 这个项目从最开始的“又一个 Agent CLI”,一路长到今天 20 个消息平台、20 多个 provider、上百个 skill、完整的多 agent 协作体系。中间经历了好几次大的架构重构,每次都在往更稳的方向走。

这种坚持本身就是一种 tenacity。

0.13.0 给我的感觉是:Hermes 终于开始 finish what it starts 了。不只是功能上,而是整个系统的成熟度上。

这版更新值得认真对待。