Hermes Agent v0.22.2
Overview
v0.22.2 —— v0.22.1 本该是的那个版本。 发布于 2026 年 10 月 15 日,距离 v0.22.1 大约九个小时。
v0.22.1 是从错误的提交构建出来的。那个 tag 打包进了尚未发布的网关改动,Microsoft Store 版本还可能卡在 “Connecting.” 上,启动流程走不完。0.22.2 用本该被打包的代码树重新构建,并额外带了两个修复:重启后受管网关能正常启动,笔记本上的本地模型长对话能跑完。从已发布的 v0.22.1 到 v0.22.2,比较范围内共 11 个提交,最后一个是 Release 0.22.2 from release/0.22.1 with the published v0.22.1 as a parent。
下面列出的全部内容,是 v0.22.0 以来 0.22 系列的改动——0.22.1 本该交付的修复,加上这两个重点。只存在于 main 上的工作,会随 v0.23.0 发布。
已知问题: 在 0.22.1 网关下运行过的会话,在 0.22.2 里无法删除。
Highlights
1. 重启之后,网关又能启动了
在 Linux 上,重启时系统可能把某个很靠前的 PID 分给一个毫无关系的进程,而网关的存活检测可能把这个被回收的 PID 当成“还有一个网关在跑”。于是受管网关(systemd、launchd 或 Docker)拒绝启动——因为看起来已经有人占着这台机器了。
现在 Hermes 会记录自己是哪一次开机启动的,并把记录的开机标识和当前开机标识做比对。当记录无法比对时——比如旧格式的记录,或者读不到开机时间——它不再猜,而是去问 host lock(只有活着的网关才会持有的锁文件)。这个检查自己绝不会去创建锁文件;argv 特征也从会合检测里移除了,因为被回收的 PID 完全可能同时匹配上启动时间和命令行。(#138594,修复 #133744)
2. 笔记本上的本地模型长对话能跑完了
这一个修复里包含四处改动,都是为在自己机器上跑模型的人准备的 (#138560):
- 本地请求始终流式返回。 服务器还在读长提示词时,状态栏会显示“正在读提示词”的进度,而不是让这一轮看起来像卡死。
- 停顿计时器会跳过睡眠时间。 中途合盖的笔记本,不再把休眠的那几个小时算成模型思考的时间。
- 恢复后的服务器会有第二次机会。 之前只要有一次超时,熔断器就会让之后每条消息都失败——哪怕本地服务器已经恢复。
- 压缩不再在服务器还在读的时候超时。 上下文压缩会等模型出结果,而模型当时还在消化输入,结果提前放弃。
在统一内存的 Windows 机器上,模型启动和提示词缓存现在按可用内存来定容,而不是按总内存。
本窗口内的其他改动
- 模型选择器: 选择器顶部新增一份精选模型列表;NVIDIA NIM 有了自己的默认模型列表;Nemotron 3.5 Super VL 带上了专属默认参数。
- Mistral 线路: 复合工具 ID 保证成对出现,被拆开的 ID 会在发给供应商之前还原——Mistral 对工具 ID 有 9 个字符的长度限制。
- Profile: 新建 profile 会连同 endpoint 一起继承
custom启动模型,env 引用的供应商也一样;合并时不再丢掉没有 URL 或已禁用的目标条目。 - 终端与搜索:
PATH里用户自己的工具排在 Hermes 的工具前面;本地文件搜索使用 Hermes 固定的 ripgrep,而不是机器上第一个rg;封装载荷的 venv 会从子进程PYTHONPATH中剥离。 - 插件目录: 新增韩语(
hermes-lang-ko)和巴西葡萄牙语(hermes-lang-pt-br)桌面语言包,以及 author-feed、wait-ledger、openinvest、TeamoRouter、Hermes AAC、Agent Mixer 等目录条目。 - 依赖: httpx2/httpcore2 升到 2.12.0,固定的 npm 包一并升级以清掉审计告警。
Upgrading
- CLI:
hermes update - Docker / Hermes Cloud:
nousresearch/hermes-agent:stable - 桌面端:自动更新;Microsoft Store 版本通过商店更新。
如果你装的是 v0.22.1,请更新——那个 tag 打包了还没有准备好进入稳定版的工作。
完整变更:v0.22.1…v0.22.2
← Hermes Agent Changelog