--- name: "cross-agent-chat" description: "怎么和其他 agent 聊天、消息没到某 agent:查 bindings 路由,openclaw agent --agent 一问一答,Control UI 切换,sessions_send 委派。" status: proposal version: "v1" date: "2026-09-15T05:09:03.194Z" --- # Cross-agent chat 用于回答「怎么和其他 agent 聊天」「让某 agent 处理」「消息为什么到不了某 agent」,并把消息实际送到同级 agent。 ## 事实基础 - 入站渠道消息由 `bindings` 决定落到哪个 agent:`gateway(config.get, path="bindings")`。 - CLI 无需渠道即可给同级 agent 发一轮对话:`openclaw agent --agent --message "<文本>"`,经 Gateway 运行并打印回复。已实测:`openclaw agent --agent travel --message "..."` 直接返回 travel 的回复。 - Control UI 侧边栏顶部身份行 → agent 切换器,只改变 Chat 归属 agent(多 agent 环境才有)。 - agent 侧转达/委派:`sessions_send(agentId=...)` / `sessions_spawn(agentId=...)`,受 `tools.agentToAgent`(本机 enabled + allow 列表)与 `tools.sessions.visibility` 控制。 ## 步骤 1. 列 agent:`agents_list`,或 `openclaw agents list --bindings`。 2. 回答「某渠道能不能到某 agent」前,先读 `bindings`(feishu 当前只绑 main,飞书 DM 到不了其他 agent);不要凭猜测断言。 3. 要把消息真的发给同级 agent:`openclaw agent --agent --message "..."`;复用既有会话用 `--session-key`。 4. 在本轮内委派:`sessions_send(agentId=...)`;需要独立可回访会话时 `sessions_spawn(agentId=..., visible=true)`。 5. 告知用户自助入口:Control UI 切换器,或上述 CLI 命令。 ## 参考 - `docs/tools/agent-send.md`、`docs/cli/agent.md`、`docs/concepts/multi-agent.md`、`docs/web/control-ui.md`(相对 `/docs`)。