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

Hermes 又暴露一个最后一公里边界问题:system notices 与后台记忆都需要 tenant-aware gates

Hermes PR #24365 指出,WhatsApp 和 Discord gateway 并没有完整执行 suppress_system_messages,所以面向客户的部署仍可能发出操作者本来想隐藏的内部平台提示,例如 “No home channel is set”、 “Session reset”、dangerous-command approval prompts,以及 assistant narration。PR #24392 则修另一个 profile-home isolation 问题:WebUI 在非默认 profile 下完成一轮对话后,后台 memory / skill review 线程可能等到进程级 HERMES_HOME 被恢复后才初始化,于是加载 default profile 的 config,甚至把 memory 写到 default profile,而不是 parent run profile。PR #24376 较小但同属运维边界:CLI 遇到危险命令 approval prompt 时,可以复用已有 bell / dock-bounce 提醒,让人真的注意到高风险动作正在等待审批。

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

共同主题是 visible answer 结束之后的边界纪律。Messaging gateways 要清楚哪些 notices 可以给客户看,后台 reviewers 也必须继承用户可见运行的同一 profile scope。否则,本来“有帮助”的平台提示或 memory maintenance,可能泄露实现细节、误导客户,或者把私人上下文写进错误 home。对把一个 Agent 栈部署到多个频道 / profiles 的团队和服务商来说,这是实打实的生产风险。

证据
  • PR #24365 列出具体泄漏到 WhatsApp / Discord 的消息:no-home-channel notices、session resets、dangerous-command approval prompts 和 assistant narration
  • 该 PR 在此前需要手工 patch 的 gateway delivery paths 中实现 suppress_system_messages checks
  • PR #24392 说明 WebUI race:process-level HERMES_HOME 在 background review thread 构造 AIAgent 前已恢复
  • PR #24392 增加 thread-local Hermes home override,让 post-turn background review 仍绑定 parent run profile
  • PR #24376 复用 display.bell_on_complete,在危险命令等待 approval 时提醒 CLI 用户
风险提示
  • 这些仍是 open PR,不是 tagged Hermes release
  • suppress_system_messages 需要按平台实测,因为每个 gateway path 可能有自己的 delivery helper
  • profile-home isolation 只降低一种 race;shared installations 仍需要明确 tenant separation、backup review 与 audit trails