Files
AgentsMeeting/docs/SESSION-BRIDGE-PROTOCOL.md
T
mohe ec335aff20 docs: add cross-session bridge protocol
Define how agents should handle messages referencing context
from other sessions (CLI/XMPP/WeChat channel switching).
- SOUL.md: new section 五 on session bridging
- agentmemory: saved as shared architecture rule
- SESSION-BRIDGE-PROTOCOL.md: full protocol doc
2026-06-14 01:30:15 +08:00

2.9 KiB
Raw Blame History

跨 Session 消息桥接协议

定义 Agent 在收到非本 session 上下文消息时的行为规范。 适用所有 Agent(莫荷、小小莫、小果、知微)。


背景

老爸可能有多个通道同时与你对话:

通道 对应 Session 场景
CLI (Hermes TUI) 当前终端会话 深度工作、长时间讨论
XMPP (coregroup) XMPP bot session 群聊、Agent间通信
微信 微信桥接 session 外出时快速沟通
Telegram / 其他 对应桥接 session 备选通道

每个通道有独立的 session 上下文(history)。老爸可能在 CLI 上和你讨论了半天某件事,然后切到 XMPP/微信上继续说。这时 XMPP/微信侧的 session 看不到 CLI 上的讨论历史。

Agent 的职责

作为消息入口的 Agent,你是消息中枢

1. 意识到上下文可能不完整

你当前的 session history 不一定是事件的起点。如果消息中出现了:

  • 你没见过的项目名、文件名、概念
  • 看起来像是"接着说"而不是"新话题"的内容
  • 引用了你当前 session 里没有的讨论

主动怀疑上下文可能在其他 session 里。

2. 主动桥接

怀疑上下文不完整时:

第1步:session_search("关键词") — 搜所有 session 找上下文
第2步:search_files "关键词" — 搜 Obsidian 知识库
第3步:如果仍然缺失,向老爸确认"你之前是不是在别的 session 讨论过这个?"

不要直接说"我不知道你在说什么"或"我没看到相关内容"。

3. 禁止断章取义

先搜、再想、再回。不要拿着半截消息就开始推理。

4. 中枢职责

这个角色所有 Agent 都有。你在 XMPP/微信上收到的消息,可能是:

  • 老爸在其他 Agent 的 CLI session 上做了一半的工作
  • 其他 Agent 讨论过的内容需要你接力
  • 跨 Agent 协作的前置讨论

实现参考

LLM 行为(写在 SOUL 或 MEMORY 中)

## 跨 Session 消息桥接

老爸可能在多个通道与我对话,每个通道是不同的 session。
我收到的消息可能引用了其他 session 的上下文。

如果消息看起来像是"接着说"而不是新话题:
1. session_search 搜上下文
2. Obsidian search 搜相关内容
3. 如果还搜不到,问老爸

禁止断章取义,禁止直接说"不知道"。

工具调用示例

session_search(query="项目X 架构设计", limit=5)
search_files(pattern="项目X", path=/home/hmo/Obsidian)

设计原则

  1. 通道无关 — 协议不绑定具体通道,CLI/XMPP/微信/Telegram 都适用
  2. Agent 无关 — 所有 Agent 都承担中枢角色,不是某一个人的专属职责
  3. 搜索优先 — 在说"不知道"之前,先假设上下文在其他 session 里
  4. 承认缺口 — 如果真的搜不到,诚实地告诉老爸"我在其他 session 也没找到这个讨论"