2026-10-09 校注:文中部署目录、服务、版本和验收计数为各段标注日期的历史记录;当前可验证状态见 current-status-2026-10-09,本次未复跑历史测试或读取私有健康/对话数据。

Humon → Hermes 回复时感知桥 v1

目的

此前 Humon 已持续采集、融合并通过 /api/perception 提供安全状态,但 Alaya 每次回复并没有真正消费这份状态。本桥把“有感知数据”闭环为“在回复中使用感知”:只在授权用户的入站消息触发时,为当前一次 LLM 回复加入新鲜、粗粒度、unknown-first 的本地上下文。

这不是主动消息系统,也不是读心。它只改善当前回复的时机、语气与长度,不给任何独立投递权限。

权威部署

  • 开发实现:C:\Users\yunlu\AppData\Local\hermes\humon\integrations\hermes-humon-context
  • Alaya 插件:${HOME}/.hermes/profiles/alaya/plugins/humon-context
  • Humon 正式镜像:${HOME}/.hermes/profiles/alaya/humon/integrations/hermes-humon-context
  • 私有配置:~/.config/humon/hermes_context.json,权限 600
  • Schema:humon-hermes-context-v1
  • Hook:Hermes pre_llm_call
  • 回滚点:${HOME}/.hermes/backups/humon-pre-hermes-context-20260716-234622

Alaya profile 只启用 humon-context,并明确 allow_tool_override=false。

授权与网络边界

  1. 先检查 platform + sender allowlist,再访问 Humon;未授权请求不会产生本地感知读取。
  2. 只接受 http://${LOCALIP}:8657/api/perception;外部 host、其他端口、HTTPS 或其他 path 都回落到安全 loopback endpoint。
  3. 超时上限 1 秒,正式值 0.35 秒;响应上限 128 KiB。
  4. 配置关闭、身份缺失、接口失败、数据过期或 shape 无效时 fail-open:不注入上下文,但正常回复继续。
  5. 本地 CLI 默认不授权,当前仅允许指定 Alaya Discord 身份。

固定投影

允许进入当前回复的只有:

  • freshness;
  • availability / activity,且只在 known 时;
  • mood / energy / focus / stress 的 known-or-unknown;
  • 是否存在直接内在证据,不含 source hash;
  • bounded tone / verbosity;
  • none|offer-rest|reduce-load|suggest-break 的动作枚举;
  • 粗粒度 phone source/reachable/interactive/locked/battery band/motion;
  • personal baseline 是否 ready、直接报告数、反馈机会数。

明确不注入:原始用户消息、历史对话、gbrain topics、source_ref/hash、session/turn/sender ID、pending interventions、通知、截图、位置、App、设备标识或原始传感器。

回复语义

入站消息本身证明用户“当前这次回复可达”,因此即使上个设备样本是 away,Alaya 也必须回答;这只覆盖 current reply availability,不反写 Humon 状态。

unknown 不是 normal,也不能被表述成事实。手机/设备行为不能推断 mood、诊断、疲劳、压力或意图。只有直接内在证据存在时,动作提示才可自然融入当前回复;它永远不授权另发消息。

Hermes 把这段上下文临时附加到当前 user message,不修改缓存 system prompt,也不持久化到 session DB。

验证证据

  • Humon 全量 31 项测试通过;新增 6 项覆盖未授权不读取、unknown 保真、direct report、stale/API failure、loopback pinning 与 hook 注册。
  • Windows 实时 Humon API 返回约 1,000 字符的固定上下文;未包含 source hash、topics、pending interventions、sender ID。
  • Hermes 真实 PluginManager 在 Alaya profile 下发现 52 个插件,Humon 是唯一注册 pre_llm_call 的 hook。
  • 管理器授权调用返回恰好 1 个 humon-hermes-context-v1 block;未授权调用返回 0 个结果。
  • 插件管理器加载约 279 ms;本地 API 验证约 0.4 秒内完成。
  • hermes-gateway-alaya.service 重启后 active;新插件无加载错误。
  • 私有配置 owner=yunlu,mode=600。
  • 部署未改变 shadow-only:delivered 与 delivery_eligible 仍要求独立长期门槛,插件本身没有发送工具。

当前限制

  • 尚未用下一条真实 Discord 入站消息在网关日志中观察生产钩子记录;管理器级真实加载/调用已经通过。
  • Humon 内在维度目前仍无真实直接报告,因此回复上下文正确保持 unknown。
  • 模型供应商与 Discord 的历史网络波动独立于本桥;桥失败不会放大为回复阻塞。
  • 健康/可穿戴来源尚无真实输入,下一层必须默认关闭并只接受授权的派生区间。

关联

2026-07-17 回复桥精度升级

Alaya 插件升级到 1.5.0,context 为 humon-hermes-context-v2,inline 为 v3。固定投影加入 value_kinds:ordinal 只显示 low/high qualitative,不显示内部代表分数;它可以帮助当前回复,但不授权主动消息。真实 PluginManager 授权结果=1、未授权=0、精度 block=1,安全探针零写入。详见 humon-direct-evidence-precision-v1。