Hermes Agent v0.21.5 深度解读:460 个 PR 背后的桌面端插件 SDK、Connectors 页与订阅授权修复
发布于 2026-10-05 03:46
Hermes Agent v0.21.5 深度解读:460 个 PR 背后的桌面端插件 SDK、Connectors 页与订阅授权修复
Hermes Agent 当前最新版本是 v0.21.5,发布日期 2026-09-24,tag 为 v2026.9.24。这是 Nous Research 开源终端 AI Agent 框架的第 21 个大版本系列的第 5 个补丁。
需要先说清楚一件事:v0.21.5 本身是补丁发布,不是功能版本。官方在发布说明里明确写着,这个窗口的完整策划发行说明推迟到尚未发布的 v0.22.0。所以本文不是"新功能首发解读",而是把 v0.21.0 到 v0.21.5 这条线上官方正文里提到、但故意没有展开的内容做一次梳理。
本文所有版本号、commit 数、PR 数均来自 GitHub release 正文实测抓取,没有凭记忆编造。凡是我无法在本机验证的内容,会注明来源。
一、v0.21 系列的版本脉络
先看时间线。GitHub releases 接口返回的顺序如下:
| 版本 | tag | 日期 | 性质 |
|---|---|---|---|
| v0.21.0 | v2026.8.31 | 2026-08-31 | 功能版,Pantheon Release |
| v0.21.1 | v2026.9.7 | 2026-09-07 | 补丁 |
| v0.21.2 | v2026.9.11 | 2026-09-11 | 补丁,state.db 修复 |
| v0.21.3 | v2026.9.14 | 2026-09-14 | 补丁,远程登录修复 |
| v0.21.4 | v2026.9.21 | 2026-09-21 | 补丁,rollup 约 1800 PR |
| v0.21.5 | v2026.9.24 | 2026-09-24 | 补丁,rollup 约 460 PR |
从 v0.21.2 之后,每个补丁版本都在做同一件事:把 main 分支上积累的 PR 打包成一个稳定 tag,供 Docker 镜像、Hermes Cloud 和托管部署这些下游消费。v0.21.4 打包了约 1812 个 PR,v0.21.5 打包了约 460 个 PR。这不是"改得少",而是"发得勤"。
二、v0.21.0:Bot Mode 与 agent 之间的私信
v0.21.0 是整个系列唯一的功能版,官方称其为 Pantheon Release。核心是把"多 agent"从需要自己搭管道变成桌面端自带的能力。
Bot Mode 直接内置在桌面应用里。每个 agent profile 有名字、有确定性生成的头像(可随机化、可锁定),并出现在共享花名册里。可以创建 Discord 风格的群聊,多个 bot 和你在同一个房间里对话,在输入框里 @ 任意 bot。
配套的是 hermes peer 命令。任何 Hermes agent 都可以通过句柄给另一个 agent 发私信,跨 profile、跨 gateway,既能在 CLI 里用,也能在对话里用。官方举的例子是让研究 bot 把找到的东西直接交给写作 bot。
同一版本里还有:cron 作业获得记忆和延续性,让定时 agent 在两次运行之间能真正积累经验;subagent 支持在飞行中途被实时干预;MCP 从工具列表变成真正的命令中心;agent 可以驱动桌面自带的浏览器。
三、v0.21.2:一次必须升级的数据库修复
v0.21.2 值得单独讲,因为它修的不是表面功能,是数据稳定性。
v0.21.0 重写了 session store 的连接处理,对 state.db 引入了脆弱性。state.db 是 SQLite 数据库,WAL 模式,存在 ~/.hermes/state.db,负责会话元数据、完整消息历史、FTS5 全文索引、gateway 路由、压缩锁、异步委派、交付义务和 schema 版本。依赖它的功能包括 session_search、会话恢复、消息持久化和 gateway 对账。
v0.21.2 封堵的问题清单:
- 写入锁竞争:第二个写入方取消第一个的锁,导致数据库被误判为损坏。
- 健康数据库被误报为 corrupt。
- 单条坏行导致整个 session 列表失效。
- Desktop 后端在
HERMES_HOME被覆盖时指向错误 profile 的state.db。 session_search通过裸 ID 扫描时会跨 profile 泄露别人的 transcript。- profile 删除后句柄未关闭,Windows 上报 WinError 32。
- 只读场景打开
state.db时不再取写锁,一次性打开时间从 4 到 20 秒降到约 0.01 秒。
最后一条对普通用户也有感知价值:升级前每次打开数据库都要等十几秒的场景,升级后基本消失。
四、v0.21.3:远程桌面和 Cloud 用户的登录修复
v0.21.3 这个 tag 的存在理由很具体:让远程 gateway 的登录修复能触达 Cloud agent,因为 Cloud agent 会自动更新到最新的 release tag。
修的是刷新风暴导致会话过期。gateway 上两条刷新路径(cookie 门和桌面原生 bearer 路由)现在会合并携带同一个轮换 refresh token 的并发请求。修复前,桌面从睡眠中唤醒时的一波并发刷新,会把已经轮换过的 token 重放进 Portal 的复用检测,结果是整个会话被撤销。修复后刷新也跑在事件循环之外,慢速身份提供方不会再冻结 /api/status。
同一窗口还修了长生命周期进程泄漏重复 state.db 写入句柄的问题。gateway、dashboard/Desktop 后端、ACP 和 CLI 读取方改为只读挂载,进程内写入方共享注册表句柄,健康拓扑下不再误报"N live SessionDB handles"。
五、v0.21.4:gateway 单例锁与结构化输出
v0.21.4 rollup 了约 1812 个 PR,自 v0.21.3 起有 5071 个非合并 commit、5169 个文件变更、2116 个已关闭 issue。
其中透露的功能点:
- host 级 gateway 单例锁加会合记录,桌面端改为附着到正在运行的 host 后端,而不是再启一个。
- 单个由后端持有的 connector 操作,在桌面、TUI 和 CLI 上都有一张配置卡。
- CLI 新增
--format stream-json,输出结构化 JSONL,便于脚本消费。 skills.auto_load可以把指定技能固定进每个新会话的 prompt。- 桌面端聊天/界面字体选择器、本地引擎一键更新、从插件中心卸载插件。
- gateway 新增
decline未授权私信行为。 mcp.discovery_concurrency可配置 MCP 发现连接上限。session_search新增 after/before 时间边界,以及 OR 放宽召回重试。- 新增
hermes sessions set-journal-mode命令。 - 视频目录加入 LTX 2.5 和 Kling O3。
- 目录里新增十几个社区插件,包括 tailscale、ssh、shodan、terminal、rss、resetwatch、done-bell、kiwi、cognee、Octen。
--format stream-json 和 skills.auto_load 这两条对想用脚本或 CI 包装 Hermes 的用户比较实用。
六、v0.21.5:桌面端插件 SDK 与 Connectors 页
回到当前最新版本。v0.21.5 自 v0.21.4 起包含 1610 个非合并 commit、4828 个文件变更(+164132 / -149440)、460 个已合并 PR、475 个已关闭 issue,测量于 commit f97608f1。
官方正文里点名、但标注为"故意未展开"的内容:
桌面端插件 SDK 这一波。包括 composer 草稿 API、会话列表和行装饰插槽、侧边栏导航偏好、model-pill 标签提供者、类型化的 settings/skills/toolsets/profiles 桥接、沙箱化 embed 原语、appearance 设置插槽,以及插件后端的公开事件桥。对写桌面插件的人来说,这是从"改源码"到"用公开 API"的变化。
Connectors 页取代了原来的 MCP 标签页。新装的插件,其 MCP server 会有"Connect now"入口;已装插件带过来的工具和技能,会在所有打开的聊天里直接生效。引导流程也会在 connectors 旁边提供目录插件。
界面和本地化方面:桌面端新增 Simple/Advanced 两档界面模式;补齐法语、德语、西班牙语完整目录;新增 RTL/LTR 文字方向设置。
输入和模型方面:composer 和设置选择器里可以直接录入自定义模型;新增功能键和听写语音快捷键。
运行方式方面:host multiplexer 下支持按 profile 停止/启动/重启,gateway.standalone 可以让某个 profile 退出;CLI 和 TUI 的 live dock 会显示常驻的 /goal 和排队中的 prompt。
其他:kanban 设计改版,双列 ticket 弹窗加 markdown 任务文本;webhook 交付会镜像到目标 chat 会话;托管 -desktop 镜像上提供 Bot Screen;Nous 和 OpenRouter 目录加入 GPT-6 Sol/Terra/Luna 和 Claude Opus 5.5;官方 Blender Lab 集成和 NVIDIA app/Broadcast 插件;config 加载、工具注册表、gateway 消息处理、模型选择器等热路径的性能优化;目录里新增数十个社区插件。
需要重复的一点:这些是官方在正文里"点名但未展开"的条目,不是完整 changelog。完整策划说明官方说会随 v0.22.0 一起发。
七、升级方式
按安装方式分:
git 安装的用户,用 hermes update,或重跑安装脚本一行命令。
Docker 和 Hermes Cloud 用户,镜像从该 tag 构建,即 nousresearch/hermes-agent:v2026.9.24。
Termux 和 Android 用户,仍然建议用 pip install --upgrade hermes-agent,不要走 hermes update,git 编译路径在 Android 上容易卡住。升级前先 pkill -f hermes 关掉旧进程,避免文件锁冲突。
八、升级前后检查清单
升级前:
hermes --version
hermes update --plan
--plan 只预览,不动任何东西。升级过程中不要中断,不要按 Ctrl-C。
升级后:
hermes --version
hermes version
hermes update --plan
test -f ~/.hermes/logs/update_receipts/latest.json
hermes credentials status
hermes doctor
hermes --version 应显示 v0.21.5。hermes version 应该报未知子命令,因为这个子命令从 v0.20.5 起就被删掉了,旧脚本和 CI 里写的 hermes version 需要全局替换成 hermes --version。test -f 那条确认升级收据存在。hermes doctor 跑健康检查。
升级收尾时如果屏幕打出"Fleet version matrix"并且有红字,说明有 gateway 没有升上去,不要直接关终端。红字的具体含义可以对照 ~/.hermes/logs/update_receipts/latest.json。
九、这份解读的边界
本文版本号、日期、commit 和 PR 数据全部来自 GitHub releases 接口的实测抓取,可以对照 https://api.github.com/repos/NousResearch/hermes-agent/releases 复核。
文章里没有"我在本机实测了某个新功能"这类表述,因为我本机装的是较早版本,无法验证 v0.21.5 的实际行为。所以所有功能描述都属于官方发布说明的转述,具体交互细节以你升级后的实际界面为准。
另外,v0.21.x 全线都是补丁发布,官方把完整的策划发行说明留给了 v0.22.0。等 v0.22.0 发布后,本文提到的窗口内容会被官方文档正式覆盖,届时以官方为准。
如果你觉得本文有用,请点赞,收藏,转发。
你有什么问题,请留言,我来帮你解答。
← 返回博客列表