Hermes Agent 部署用户最关心的是:升级后还会不会追 main,本地配置和补丁会不会丢?本文按 Linux 源代码安装记录版本变化、升级命令和验收结果,也把本机遇到的两个边界情况讲清楚。
文中提到的 Windows 桌面安装资料已整理在:查看 Windows 安装资料
先看结论:这次升级主要改了什么
v0.21.7 是 2026 年 10 月 11 日发布的补丁版。官方说明称,它把 v0.21.6 之后约 204 个 PR 汇总到稳定版本;完整整理版变更记录预计随 v0.22.0 发布。别把"204 个 PR"理解成 204 个新功能。

对源代码安装用户,最直观的变化是更新通道:默认只跟正式发布标签。若仍要逐提交体验 main,可以显式切换。桌面端也增加了通道选择;此外,恢复会话时的推理内容处理得到修复。
源代码版怎么升级
先确认当前版本,再用官方更新命令;结束后重新查看版本并跑健康检查:
bash
hermes --version
hermes update
hermes --version
hermes doctor
hermes update 负责更新程序;第二次 --version 用来确认当前代码版本;doctor 检查配置和依赖。若本机改过 Hermes 源代码或维护了本地补丁,先备份并检查工作区状态,不要直接覆盖。
源代码安装想继续追逐每次提交,可使用官方发布说明给出的通道命令:
bash
hermes update --set-channel main
稳定通道适合希望版本固定、变更可追溯的日常使用;main 通道适合愿意承担频繁变化的测试环境。Fork 和镜像仓库仍跟随 main;Store、MSIX 和已打包桌面版的更新方式不因这个通道设置改变。
若需要手动切换源代码仓库到明确版本标签,可按下面流程。先备份配置,并记录升级前的完整提交号;git status --short 有输出时先停下,备份或处理本地修改,不要强制覆盖:
bash
$ cd ~/.hermes/hermes-agent
$ git status --short
$ git rev-parse HEAD
$ git fetch origin tag v0.21.7
$ git checkout --detach v0.21.7
$ ./venv/bin/pip install -e .
$ ./venv/bin/pip check
$ ./venv/bin/hermes --version
fetch 拉取指定发布标签;checkout --detach 让工作目录固定在这个版本;pip install -e . 按当前代码更新依赖;pip check 检查依赖冲突;最后用 --version 确认程序显示目标版本。本次本机升级是按发布标签切换后重新安装依赖,再完成下方验收。

本机升级验收记录
本次实测对象是 Linux 源代码安装:代码从 v2026.9.24 切换到 v0.21.7,再按项目依赖重新安装。验收不是只看版本号:
bash
$ ./venv/bin/hermes --version
$ ./venv/bin/pip check
$ ./venv/bin/python -c "import hermes_cli, agent, tools.registry, gateway.run, cron.scheduler; print('核心模块导入通过')"
实际结果:版本命令报告 v0.21.7;pip check 返回 No broken requirements found;hermes_cli、agent、tools.registry、gateway.run、cron.scheduler 五个核心模块都能导入。
若升级后确认不符合预期,代码回退点是升级前记录的提交号:在本地工作区干净时执行 git checkout --detach <升级前提交号>,再运行 ./venv/bin/pip install -e .,最后重新检查版本与依赖。这只回退代码,不会回退用户配置、会话或插件状态;若依赖也需回退,应按本机备份恢复,不能把 Git 回退当成全量回滚。
同一轮还把 Python 版 WebUI 从 exp-v0.52.379 更新到 exp-v0.52.468,14 行本地定制补丁成功重贴,server.py 和 api/config.py 语法检查通过。WebUI 与 Agent 是两个独立仓库,版本号不要混成一个。

两个容易误判的地方
第一,配置里的 session_reset.mode: both 并不是这次升级才失效。上游在 2026 年 9 月 7 日已经停止按空闲时长或每日时间轮换会话;升级前的 v2026.9.24 已包含该提交。v0.21.7 新增的是提示,让 doctor 和启动日志明确指出这项设置不再生效。它只说明旧行为早已改变,不代表这次升级突然改了会话。
第二,本机虚拟环境是 Python 3.11.0rc1。调用插件搜索时,自动依赖补全报 TarFile.extractall() got an unexpected keyword argument 'filter';检查确认当前解释器的 extractall 不接受 filter 参数。这个现象出现在预览版 Python 环境,不能直接推成所有用户都会遇到。它与 pip check 通过、核心模块可导入是不同层面的检查;若遇到同类报错,先看 Python 的实际版本。
是否值得升级
如果您使用源代码安装,想让更新默认停在正式标签,或需要恢复会话时保留推理内容,这个补丁版值得评估。升级后至少核对版本、依赖和核心模块;服务重启后还要再确认 WebUI、Gateway 和实际会话能正常工作,命令返回成功不等于业务验证完成。

本文记录的是 Linux 源代码版升级,不是 Windows 安装教程。首次在 Windows 桌面端安装的读者,可从这里查看整理好的安装资料:Hermes Agent Windows 安装资料
官方发布记录:Hermes Agent v0.21.7 Release