← 全部内容
2026-05-14 风险提醒 风险

Hermes 正在补 profiles、skills、voice sessions 这些会悄悄改坏行为的边界

Hermes 最新一组活动很适合所有依赖 profiles 和 skills 的用户看,而不是只跑一个默认 Agent。PR #25150 修复了一个破坏性的 profile install/update 路径:`_copy_dist_payload` 用 `rmtree` + `copytree` 复制目录,即使已有 distribution-owned manifest,更新 distribution 也可能删掉用户本地安装的 skills。Issue #25113 与 PR #25143 是 skill hygiene 的另一面:`.bak-*` 和 backup 目录可能被当成真实 skill 发现,导致 stale v2 backup 先于 live v3 skill 被加载。PR #25151 给 subprocess 注入 `HERMES_REAL_HOME`,因为 profile isolation 会故意改写 `HOME`,但需要真实 `~/.hermes` 路径的 helper 会误解析到 isolated profile home。PR #25142 修 voice-input 的污染路径:STT 配置失败文案被注入 LLM-visible prompt 并持久化进历史,导致后续语音转写已经成功时,模型仍不断回复 STT setup。边缘还有 #25132 用 allowed topics 限制 Telegram profile bots,#25149 移除非用户编写 subprocess 调用里的不必要 `shell=True`,#25144 给 KeyboardInterrupt cleanup regression 加 CI detector。

影响风险 来源3 对象operator · developer · team
为什么重要

profiles 和 skills 是 Hermes 变得个人化、团队化的地方,也因此是高风险区域:删掉本地 skill、加载旧 backup、让 subprocess 找不到真实 home、把失败提示持久化进聊天历史,都会悄悄改变 Agent 行为。这组修复重要,因为它保护的是操作者长期积累的工作,而不只是某个 runtime feature。

证据
  • PR #25150 说明 profile install/update 曾用 rmtree + copytree,可能删除 local skills;修复为 additive recursive copy
  • Issue #25113 记录 `.bak-20260510` 等 backup skill directories 可能先于 live skills 被发现;PR #25143 排除 .bak、.backup、backup 与 __pycache__ 路径
  • PR #25151 在 execute_code、local terminal/run_env 与 Copilot ACP subprocess 环境中注入 HERMES_REAL_HOME
  • PR #25142 报告生产环境中一次 STT failure 后,后续成功语音 turn 仍持续触发 Whisper / Vosk setup 回复,因为 failure templates 进入了 prompt history
  • PR #25132 为 multi-profile Telegram forum groups 增加 allowed_topics gate;PR #25149 减少非用户编写 subprocess 调用中的 shell=True;PR #25144 增加 shutdown cleanup KeyboardInterrupt detector
风险提示
  • 多数变化仍是 PR,需要确认当前安装的 Hermes build 是否包含
  • additive profile update 会保留本地文件,但团队仍需要处理 obsolete local skills 的清理策略
  • 如果 STT failure 文案已经写入历史,voice prompt-history 修复可能还需要新开 session 才彻底干净