← 返回更新日志

Hermes v2026.5.29

2026-05-29 · GitHub 原文
# Hermes Agent v0.15.1 (v2026.5.29) **发布日期:** 2026年5月29日 **自 v0.15.0 以来的变更:** 28 次提交 · 21 个合并的 PR · 热修复版本 · 9 位贡献者 > **补丁版本。** 针对 v0.15.0 的当天热修复。重点修复:在回环模式(Docker、托管的 Hermes、全新安装)下,任何运行 v0.15.0 的用户都会遇到的仪表板无限重新加载循环。此外还附带了一些 v0.15.0 的其他后续修复——看板工作进程 SIGTERM、`/model` 选择器统一、`/yolo` 会话绕过、完整的 19,932 条 skills.sh 目录、`.md` 媒体投递恢复、网关探测降级安全性、Web URL 脱敏直通、看板工作进程对引用图像的视觉支持、事后观察默认值。Docker 用户获得一个显式的 `--insecure` 可选的 env 变量(不再推断绑定主机),MCP 服务器裸命令 PATH 解析,以及 arm64 PR 构建缓存修复。 --- ## ✨ 亮点 - **修复仪表板 401 重新加载循环**——在回环模式下,仪表板的身份探测(`/api/auth/me`)默认返回 401,但 v0.15.0 的过期令牌重新加载保护会将每次 401 视为轮换的会话令牌,并进行整页重新加载以获取新的令牌。每次成功的同级调用会清除一次性重新加载保护,因此页面会无限重新加载循环(Firefox:出现“Navigated to /sessions”风暴;Chrome:React 重新渲染风暴)。修复方案为 `fetchJSON` 添加了一个 `allowUnauthorized` 选项,仅跳过回环模式下的过期令牌重新加载——401 仍会抛出异常,因此 `AuthWidget` 会吞掉它,门控模式下的 `login_url` 重定向不受影响。关闭 [#34206](https://github.com/NousResearch/hermes-agent/issues/34206)、[#34202](https://github.com/NousResearch/hermes-agent/issues/34202)。([#30698](https://github.com/NousResearch/hermes-agent/pull/30698) — @austinpickett) - **Docker 仪表板的 `--insecure` 现在是一个显式的环境变量可选选项,不再从绑定主机推断**——以前,当仪表板绑定到非回环主机时,Docker 入口点会推断 `--insecure`。这混淆了“我想要 LAN 访问”与“我想要禁用同源保护”。修复方案将它们分开:绑定主机就是绑定主机,禁用仪表板的回环认证需要显式设置 `HERMES_DASHBOARD_INSECURE=1`。原本真正想要不安全绑定的现有设置现在必须设置该环境变量。([#34188](https://github.com/NousResearch/hermes-agent/pull/34188)、[#34204](https://github.com/NousResearch/hermes-agent/pull/34204) — @benbarclay) - **MCP 裸命令在 Docker 下的解析**——配置了裸命令(`npx`、`npm`、`node`)的 MCP 服务器现在会针对 `/usr/local/bin` 进行解析,以便它们能够在 Docker 镜像内部实际启动(这些二进制文件所在的位置)。v0.15.0 在容器的有效 PATH 不包含 Node 工具链位置时,会让这些命令静默失败。([#34186](https://github.com/NousResearch/hermes-agent/pull/34186) — @benbarclay) - **技能页面侧边栏/来源标签恢复**——新仪表板技能页面中的一个过时的 `useMemo` 依赖关系导致来源标签和类别侧边栏仅显示“全部”。已修复;两个界面现在都反映实时的目录状态。([#34194](https://github.com/NousResearch/hermes-agent/pull/34194)) - **看板工作进程可以再次被终止**——看板工作进程上的 `SIGTERM` 被中间进程吸收,导致工作进程继续运行。关闭 [#28181](https://github.com/NousResearch/hermes-agent/issues/28181)。([#34045](https://github.com/NousResearch/hermes-agent/pull/34045)) - **完整的 skills.sh 目录(858 → 19,932 条)**——技能中心页面之前只拉取了一个分页的局部目录。现在获取会遍历站点地图,因此所有 19,932 条 skills.sh 条目都会出现在选择器中,而不仅仅是前 858 条。([#34025](https://github.com/NousResearch/hermes-agent/pull/34025)) --- ## 🐛 错误修复 ### 仪表板/Web - **`/api/auth/me` 返回 401 不再触发回环模式下的重新加载循环**——([#30698](https://github.com/NousResearch/hermes-agent/pull/30698) — @austinpickett) - **技能页面来源标签 + 类别侧边栏恢复**——过时的 `useMemo` 依赖 ([#34194](https://github.com/NousResearch/hermes-agent/pull/34194)) ### Docker - **`--insecure` 现在通过环境变量显式可选,不再从绑定主机推断** ([#34188](https://github.com/NousResearch/hermes-agent/pull/34188) — @benbarclay) - **仪表板测试套件已修复**,以匹配不安全可选的修复 ([#34204](https://github.com/NousResearch/hermes-agent/pull/34204) — @benbarclay) - **arm64 PR 构建跳过 GHA 缓存**,以避免跨架构构建器上的缓存抖动 ([#33704](https://github.com/NousResearch/hermes-agent/pull/33704) — @BROCCOLO1D) ### MCP - **裸命令 `npx`/`npm`/`node` 针对 `/usr/local/bin` 解析**,以实现 Docker 兼容性 ([#34186](https://github.com/NousResearch/hermes-agent/pull/34186) — @benbarclay) ### 看板 - **工作进程 SIGTERM 实际终止进程** ([#34045](https://github.com/NousResearch/hermes-agent/pull/34045)) - **工作进程接收任务正文中引用的图像**,用于支持视觉的模型 ([#34210](https://github.com/NousResearch/hermes-agent/pull/34210)) ### 网关 - **`.md` 文件再次投递**——媒体投递验证现在默认仅使用拒绝列表,而不是过于狭窄的允许列表 ([#34022](https://github.com/NousResearch/hermes-agent/pull/34022)) - **探测降级安全性**——在上下文溢出且没有显式提供者上下文限制的情况下,代理不再基于未知上限降级到较小的模型(来自 [#33673](https://github.com/NousResearch/hermes-agent/pull/33673) 的挽救)([#33826](https://github.com/NousResearch/hermes-agent/pull/33826)) ### CLI - **`/yolo` 在会话中启用每会话绕过**,而不仅仅是切换环境变量(运行中的代理已经快照了该变量)([#33931](https://github.com/NousResearch/hermes-agent/pull/33931) — @kshitijk4poor) - **`/model` 和 `hermes model` 显示相同的列表**,并增加了选择器启动的磁盘缓存 ([#33867](https://github.com/NousResearch/hermes-agent/pull/33867)) ### 技能 - **通过站点地图获取完整的 skills.sh 目录**——858 → 19,932 条 ([#34025](https://github.com/NousResearch/hermes-agent/pull/34025)) ### 脱敏 - **Web URL 原样通过**——脱敏器之前吞掉了看起来像凭证形状的查询参数 ([#34029](https://github.com/NousResearch/hermes-agent/pull/34029)) --- ## ✨ 小功能 - **事后默认值收窄为仅观察**,用于 `recall_types`——工具路径也收窄了 ([#34079](https://github.com/NousResearch/hermes-agent/pull/34079) — @nicoloboschi,后续 [#34091](https://github.com/NousResearch/hermes-agent/pull/4df62d239e38bf8c212a595721c9c01e176f6c3a) — @kshitijk4poor) - **记忆提供者接收完成轮次的消息上下文**——来自 [#28065](https://github.com/NousResearch/hermes-agent/pull/28065) 的挽救 ([#34097](https://github.com/NousResearch/hermes-agent/pull/34097) — @kshitijk4poor,感谢 @devwdave) --- ## 📚 文档 - **文档中添加了 `--no-supervise` / `HERMES_GATEWAY_NO_SUPERVISE` 的说明**(来自 [#33583](https://github.com/NousResearch/hermes-agent/pull/33583) 的后续)([#33751](https://github.com/NousResearch/hermes-agent/pull/33751) — @r266-tech) --- ## 🛠️ 基础设施 - **Vercel 部署工作流接受 `workflow_dispatch`**,因此文档部署可以手动触发 ([#34081](https://github.com/NousResearch/hermes-agent/pull/34081)) - **`@nous-research/ui` 升级到 0.18.2**(Nix `npmDepsHash` 也相应更新)([#34193](https://github.com/NousResearch/hermes-agent/pull/34193) 后续 — @austinpickett) --- ## 👥 贡献者 ### 核心 - @teknium1 ### 社区 - @austinpickett —— 仪表板 401 重新加载循环修复(重点)、`@nous-research/ui` 升级、Nix `npmDepsHash` 更新 - @benbarclay —— Docker `--insecure` 可选、MCP 裸命令解析、仪表板测试修复 - @kshitijk4poor —— `/yolo` 会话绕过、完成轮次记忆上下文挽救、事后文档后续 - @nicoloboschi —— 事后 `recall_types` 观察默认值 - @BROCCOLO1D —— arm64 PR 构建缓存修复 - @r266-tech —— `--no-supervise` 参考文档 - @yangguangjin —— 探测降级安全性(来自 @yanghd 的 #33673 的挽救) - @devwdave —— 完成轮次记忆上下文(通过挽救致谢) - @andrewhosf —— 合著者 ### 问题报告者(401 循环) - @routesmith ([#34206](https://github.com/NousResearch/hermes-agent/issues/34206)) - @beeaton ([#34202](https://github.com/NousResearch/hermes-agent/issues/34202)) --- **完整更新日志:** [v2026.5.28...v2026.5.29](https://github.com/NousResearch/hermes-agent/compare/v2026.5.28...v2026.5.29)