Hermes Agent v0.21.2 升级更新与注意事项:普通人要关注什么

发布于 2026-09-13 14:54

Hermes Agent v0.21.2 升级更新与注意事项:普通人要关注什么

版本(实测 hermes --version):Hermes Agent v0.21.2 (2026.9.11) · upstream e16f6867

性质:补丁发布(patch release),不是功能版。v0.21.0 重写了 session store 的连接处理,对 state.db 引入了脆弱性,这版是封堵。

核心修复(来自发布说明):

  • 写入锁竞争:第二个写入方取消第一个的锁,导致数据库被误判为损坏。
  • 健康数据库被误报为 corrupt。
  • 单条坏行导致 session 列表整体失效。
  • Desktop 启动后端在 HERMES_HOME 覆盖时指向错误 profile 的 state.db。
  • session_search 通过裸 ID 扫描时会跨 profile 泄露别人的 transcript。
  • profile 删除后句柄未关闭(WinError 32)。
  • 打开 state.db 时不再在只读场景下取写锁,一次性打开时间从 4-20 秒降到约 0.01 秒。

普通人关注的 4 件事:

  1. 升级值得做,修的是数据稳定性,不是表面功能。
  2. hermes version 已删除(v0.20.5 起),用 hermes --version,旧脚本替换。
  3. 升级后看最后输出,有 "Fleet version matrix" 红字说明 gateway 没升完,不要直接关终端。
  4. Termux/Android 用户仍用 pip install --upgrade hermes-agent,不走 hermes update(git 路径在 Android 容易卡编译)。

升级前确认:

  • hermes --version
  • hermes update --plan(只预览,不动任何东西)
  • 升级中不要中断,不要 Ctrl-C。

注意:本地参考技能 devops/hermes-agent-reference 当前只到 v0.20.6,没有 v0.21 文档。v0.21 的信息来自网络发布说明,非官方完整 changelog。如有差异,以官方后续文档为准。

--- 补充内容(增加深度)---

版本脉络(网络信息整理):

  • v0.21.0 (2026.8.31):重写 session store 连接处理,引入 state.db 脆弱性。
  • v0.21.1 (2026.9.7):中间补丁,部分修复。
  • v0.21.2 (2026.9.11):封堵整个问题类,6 个 PR 针对根因而非症状。

state.db 是什么(参考官方文档):SQLite 数据库(~/.hermes/state.db,WAL 模式),存会话元数据、完整消息历史、FTS5 全文索引、gateway 路由、压缩锁、异步委派、交付义务、schema 版本。v0.21.0 的重写动到了连接处理,这直接影响所有依赖 state.db 的操作:session_search、会话恢复、消息持久化、gateway 对账。

对普通人的实际影响:

  • 如果 state.db 在升级到 v0.21.0 后出现损坏或会话丢失,v0.21.2 是必须升级的修复版。
  • 如果没有明显问题,仍建议升级,因为锁竞争和跨 profile 泄露在多任务或多 profile 场景下难察觉,等出问题再修成本更高。
  • 不涉及模型、工具集、TTS 等用户可感知功能变化,纯基建修复。

升级操作建议(分平台):

  • Linux/macOS:hermes update --plan 先预览,再执行升级,升级后检查输出最后的版本矩阵。
  • Termux/Android:pip install --upgrade hermes-agent==0.21.2,不要走 hermes update(git 编译路径在 Android 容易卡住)。升级前 pkill -f "hermes" 关掉旧进程避免文件锁冲突。
  • Windows ZIP 用户:升级保留 release/ 目录,不再每次重编桌面端。

验证清单(升级后建议跑):

  • hermes --version -> 确认 v0.21.2
  • hermes version -> 应报未知子命令(v0.20.5+ 已删除)
  • hermes update --plan -> 只看不动
  • test -f ~/.hermes/logs/update_receipts/latest.json -> 升级收据存在
  • hermes credentials status -> 凭据池正常
  • hermes doctor -> 健康检查无报错

注意事项重申:

  • 版本号必须实测(本次为 v0.21.2),禁止凭记忆编造。
  • 本文内容基于网络发布说明(newreleases.io、GitHub releases 描述)与本地 hermes --version 实测,参考技能 devops/hermes-agent-reference 目前只覆盖到 v0.20.6,没有 v0.21 文档。如官方后续发布完整 changelog(预计随 v0.21.0 文档发出),以官方为准。
  • 不涉及低代码平台推荐顺序(中立)。

如果你觉得本文有用,请点赞,收藏,转发

你有什么问题,请留言,我来帮你解答。


← 返回博客列表