Hermes Agent 部署后怎么升级?v0.21.7 Linux 源代码版实测

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

相关推荐
水饺编程5 小时前
第2章:Linux 基础,clear 命令
linux·c语言·汇编
柯南46686 小时前
【AI工程师精讲】10:微调方案选型:全参微调、LoRA、QLoRA 到底怎么选
人工智能·ai编程
黄权光6 小时前
AI智能体项目实战记录(02):初始化 Python 项目
人工智能
小蒋观天下6 小时前
厂区人员徘徊游荡判别——基于时序轨迹速度的逗留行为分级算法落地
大数据·人工智能·深度学习·算法·机器学习·ai大模型
方方洛6 小时前
ai-agent教程-07-从零实现一个工程化AI-Agent
人工智能·llm·agent
龙虾电话6 小时前
写 telephony 网关时,我把「拨不通」查了三天:AT 命令回 OK 不代表通话接通
人工智能
方方洛6 小时前
ai-agent教程-08-多智能体协作
人工智能·llm·agent
styshoo6 小时前
[snapshot]2-snapshot部署
人工智能
changshuaihua0016 小时前
LangChain · LangGraph · LangSmith 全景解析:LLM应用开发完整生态
人工智能·大模型·ai编程