Hermes Agent v0.20.1 更新说明:桌面端多连接注册表、安装器重构与网关并行启动
发布于 2026-08-15 06:32
Hermes Agent v0.20.1 更新说明:桌面端多连接注册表、安装器重构与网关并行启动
发布日期:2026-08-13 | 版本:0.20.1 | 上一稳定版:v2026.7.7
核心变更一览
| 类别 | 关键变更 | 对普通用户的影响 |
|---|---|---|
| 桌面端 | 多连接注册表(Schema v2 + IPC + 设置 UI) | 可在同一桌面应用中管理多个 Agent 来源,支持命名连接、独立配置 |
| 安装/更新 | Windows 虚拟环境事务化重建、自锁检测、依赖恢复 | 更新失败不再导致环境损坏,回滚更可靠 |
| 网关 | 消息平台并行连接、Telegram 冷启动优化 | 启动更快,多平台同时在线更稳定 |
| 定时任务 | 交付重试、DNS 回退、中断任务通知 | 定时任务更可靠,失败会主动通知 |
| 插件/工具集 | 插件平台自动发现、延迟注册客户端工具 | 安装插件后无需重启即可识别新平台 |
一、桌面端:多连接注册表 —— 管理多个 Agent 来源
这是 v0.20.1 面向普通用户最直观的功能变更。
背景
此前桌面版 Hermes 只能连接单一 Agent 后端(本地 CLI、远程服务器、或通过 SSH 隧道)。如果你想同时用:
- 本地开发环境的 Agent(调试用)
- 云端服务器跑的 Agent(生产用)
- 同事共享的 Agent(协作用)
必须反复切换配置、重启应用。
新能力:Schema v2 + IPC + 设置 UI
- 命名连接:每个连接有名字(如 "本地开发"、"生产服务器"、"同事共享"),一眼识别
- 独立配置:每个连接保存自己的模型、技能、记忆路径、环境变量
- 设置界面可视化:在桌面应用的 Settings 面板直接增删改查,无需手写 JSON
- IPC 通信:桌面前端与后端通过进程间通信交换连接状态,切换连接秒级生效,无需重启 Electron 进程
普通用户怎么用
- 打开桌面应用 → Settings → Connections
- 点击 "Add Connection",填入名称、类型(Local/Remote/SSH)、地址、认证信息
- 列表中点击任一连接即可切换,当前激活连接会显示绿点
- 连接配置自动持久化到
~/.hermes/profiles/<name>/connections.yaml
注意:旧版单连接配置会自动迁移为名为 "default" 的连接,无感升级。
二、安装与更新系统:事务化、可回滚、更安全
Windows 虚拟环境事务化重建(#83149 系列)
痛点:Windows 上 uv 管理的 Python 解释器更新时,原地重命名 venv 目录容易因文件锁定失败,导致环境损坏、无法启动。
方案:
- 重建前先把旧
venv整体重命名为venv.rollback.<timestamp>(原子操作) - 新环境构建成功才删除回滚目录;构建失败自动把 rollback 目录改回
venv - 全程用跨进程文件锁(
portalocker+pywin32)防止并发冲突
用户感知:更新中断、断电、杀进程都不会留下半吊子环境;下次启动自动修复或回滚。
更新器自锁检测与修复
痛点:hermes update 运行时若检测到自身进程仍在占用文件(Windows 常见),旧版本直接报错退出。
方案:
- 启动前探测
hermes可执行文件是否被自身进程锁定 - 若被锁定:尝试优雅关闭现有进程、释放句柄,再继续更新
- 若基本解释器是
uv管理的,自动修复uv环境元数据
依赖恢复与额外包保留
- 更新后自动恢复
hermes-agent核心依赖(openai、pydantic等) --extras安装的额外包(如anthropic、edge-tts)在重建时保留,不再丢失- 惰性安装依赖(
lazy_deps.py)的标记位同步迁移,避免重复下载
三、网关:并行启动与冷启动优化
消息平台并行连接(#83791)
旧逻辑:Telegram、Discord、Slack、钉钉、飞书等适配器串行连接,单个平台超时会阻塞后续全部平台。
新逻辑:
- 启动阶段对所有已注册平台并发发起连接
- 单平台超时(默认 30s)不影响其他平台
- 连接结果聚合汇总,启动耗时 ≈ 最慢单平台耗时
实测:4 个平台同时在线,启动从 ~45s 降到 ~12s。
Telegram 冷启动加速(#85993)
- 首次连接时不再等待完整
getMe/getUpdates轮询建立 - 先发轻量健康检查,确认 Bot Token 有效即标记 "running"
- 完整长轮询在后台异步建立,不阻塞网关就绪信号
网关重启竞态修复
- 并行连接引入的重启竞态(旧连接未断、新连接已发)通过 "abort-aware" 机制解决
- 重启时显式取消旧连接的连接协程,避免 "Address already in use" 误报
四、定时任务:更可靠的交付与故障感知
| 修复 | 说明 |
|---|---|
| 后台派发不再误报 "failed" | cronjob action=run 触发的后台执行,CLI 只返回任务 ID,不再等待完成;完成后通过配置的 deliver 通道推送结果 |
| 瞬时 DNS 失败自动回退 | 解析提供商域名(如 api.openai.com)遇到 SERVFAIL/NXDOMAIN 自动重试备用 DNS(Google/Cloudflare),避免单次抖动导致任务失败 |
| 逃逸运行失败主动告警 | 任务进程意外退出(OOM、SIGKILL、宿主机重启)会在下次网关启动时检测到,推送 "cron escaped" 通知到配置渠道 |
| 中断任务通知优先交付 | 网关关闭前先发送所有进行中任务的中断通知,再断开消息平台连接 |
五、插件与工具集:开箱即用的平台发现
插件平台自动识别
hermes tools扫描~/.hermes/plugins/与内置plugins/目录下的plugin.yaml/yml- 发现
provides_tools声明的平台适配器自动注册到工具集 - 无需在
config.yaml手写toolsets,安装插件重启即可用
延迟注册客户端工具(#78050)
- 平台适配器的客户端工具(如
send_message、list_chats)在首次被 Agent 调用时才注册 - 减少启动时向模型发送的工具 Schema 体积,节省 Token
六、其他值得关注的细节
桌面端体验修复
- 技能建议药丸抑制:当前会话已加载某技能,不再在侧边栏反复推荐
- 聊天图片原生右键保存:右键图片可直接 "Save image as...",文件名保留原始文件名而非
image.png - 日志持久化边界:运行中会话的完整对话记录保留,压缩归档仅针对已结束会话
- React 单一来源:解决
react/react-dom多副本导致的 Hook 失效、状态不同步
内存工具兼容性
memory工具的new_text字段现作为content别名被接受(#86642),兼容旧脚本
流式中断处理
- 中断流式输出时正确 join 工作协程、排空 Relay 作用域,避免 "EIO paint freeze" 导致界面卡死
- 孤儿作用域排空有超时上限,防止关闭时无限等待
七、普通用户升级清单
| 动作 | 命令 | 说明 |
|---|---|---|
| 查看当前版本 | hermes --version |
确认是否已是 0.20.1 |
| 标准更新 | hermes update |
自动处理依赖、虚拟环境、桌面端重建 |
| 桌面端用户 | 更新后重启桌面应用 | 首次启动会迁移旧连接配置到 Connections 面板 |
| 网关用户 | hermes gateway restart |
享受并行启动加速 |
| 定时任务用户 | 无需操作 | 现有任务自动继承新交付逻辑 |
| 插件开发者 | 检查 plugin.yaml 的 provides_tools |
新增字段可被自动发现 |
Termux / Android 用户特别提示
psutil==7.2.2在 Android 上无 wheel,源码编译会报错platform android is not supported- 当前版本会跳过
psutil可选依赖继续安装,核心功能不受影响(进程管理回退到ps/kill组合) - 如需完整
psutil,可在 Termux 内pip install psutil==7.0.0(旧版有 Android wheel)
八、已知问题与变通
| 问题 | 影响范围 | 变通方案 |
|---|---|---|
Windows psutil 7.2.2 偶发导入失败 |
仅 Windows 原生安装 | pip install psutil==7.1.0 降级 |
macOS ARM64 首次 nemo-relay 编译耗时长 |
首次安装/更新 | 预编译 wheel 已上传 PyPI,后续秒装 |
| 桌面端切换连接后首条消息偶发延迟 | 连接切换后首轮对话 | 属于 IPC 预热,第二条恢复正常 |
九、结语
v0.20.1 是一个 "夯实基础、补齐体验" 的版本:
- 桌面端多连接解决了 "一机多环境" 的真实痛点
- 事务化更新让 Windows 用户不再恐惧点击更新按钮
- 网关并行启动把多平台在线的等待时间压进用户感知阈值内
- 定时任务告知把 "静默失败" 变成 "可感知、可追踪"
如果你是桌面端重度用户、Windows 用户、或运行多平台网关,建议尽快升级;纯 CLI 单机用户可按需更新。
完整提交记录:
git log v2026.7.7..v0.20.1 --oneline
问题反馈:GitHub Issues / Nous Research Discord#hermes-support
文档同步:https://hermes-agent.nousresearch.com/docs
如果你觉得本文有用,请点赞,收藏,转发
你有什么问题,请留言,我来帮你解答。
← 返回博客列表