360 Secure SkillHub
360 安全技能中心

Subagent Bridge / 子会话传话

该 Skill 面向 OpenClaw 同一 agent 下的多个子会话,通过 sessions_send 等会话工具在子会话之间转发消息与结果,提供流水线、辩论、广播、汇总四种模式,并建议在 spawn 时为子会话起易记名称,由主会话维护名称与会话键映射。跨 agentId 传话需开启相应配置,子会话为临时存在。

hanshojin
hanshojin
热度 16.02
最近更新 2026-05-25 11:50:45
分类:协作依赖:MCP 服务应用场景:工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add subagent-bridge
Metadata
name
subagent-bridge
description
Bridge communication between subagents via sessions_send — pipeline, debate, broadcast, and aggregate patterns.
metadata
{"openclaw":{"emoji":"🌉"}}
allowed-tools
["sessions_list","sessions_send","sessions_history","session_status"]
license
MIT

Subagent Bridge 🌉 — 子会话传话

Let different subagents (child sessions) chat with each other under the same OpenClaw agent. Tell your main session what to do in plain language — no complex commands needed.

让同一个 OpenClaw 下的不同子会话(subagent)之间互相传话。 你在聊天框里像跟人说话一样发号施令就行。


🏷️ First: Give Them Names / 先说最重要的:起名字

Every subagent that you want to bridge needs a memorable name when spawned. 每个要长期用、要互相传话的子会话,spawn 时就给它起个容易记住的名字。

You → Main:  spawn a search expert, call it 搜搜 (Soso)
  Main → You: 搜搜 (agent:main:subagent:xxx) is ready!

You → Main:  spawn an analysis expert, call it 想想 (Xiangxiang)
  Main → You: 想想 (agent:main:subagent:yyy) is ready!

The main session remembers the name ↔ session-key mapping. Later you just refer to them by name.

主会话会记住这个映射关系。后面传话你直接叫名字就行。


🗣️ How to Use / 怎么用

Say these to your main session naturally. 对主会话说人话就行。

What you want Say this 你可以说
Talk to one subagent ask 搜搜:xxx tell 想想:xxx send message to 搜搜:xxx 问 搜搜:xxx 传话给 想想:xxx 告诉 搜搜:xxx
Pipe one's output to another let 搜搜 pass its result to 想想 让 搜搜 查完结果给 想想
Two subagents debate let 搜搜 and 想想 debate about xxx 让 搜搜 和 想想 讨论一下 xxx
Broadcast to many ask 搜搜, 想想, coder: xxx 问 搜搜、想想、编程小子:xxx
Gather then summarize let 搜搜, 想想 each work on this, then send results to 汇总大师 让 搜搜、想想 各做各的,结果给 汇总大师

⚙️ How the Main Session Does It / 主会话内部做的工作

Step 1: Find the subagent / 找人

sessions_list(kinds: ["subagent"])

Match by friendly name → get sessionKey.

Step 2: Send the message / 传话

sessions_send(sessionKey="agent:main:subagent:<uuid>", message="...", timeoutSeconds=N)
  • timeoutSeconds: 0 — fire-and-forget, no reply expected
  • timeoutSeconds: >0 — wait for reply. Search tasks: 60-90s, analysis: 30-60s

Step 3: Multi-turn dialogue (A ↔ B debate / 多轮讨论)

Both sides can reply. Send REPLY_SKIP to end your turn early. Max rounds: 5 (configurable up to 20 via session.agentToAgent.maxPingPongTurns).


📐 Bridge Patterns / 四种传话模式

📊 Pipeline(流水线)

User → Main spawns 搜搜 → 搜搜's result sent to 想想 → 想想 analyzes and returns

💬 Debate(辩论)

Main: "搜搜, do analysis → pass result to 想想"
Main: "想想, critique 搜搜's result → pass critique back"
Loop until consensus or max rounds.

📢 Broadcast(广播)

Main sends the same message to 搜搜, 想想, coder simultaneously.
Aggregate all replies.

🤝 Aggregate(汇总)

搜搜, 想想, coder each work independently.
Main collects results → sends them all to 汇总大师 for a summary.

⚠️ Limits / 限制

  • sessions_send cannot target thread-scoped chat sessions.
  • Cross-agent bridging needs tools.agentToAgent.enabled: true in config.
  • Subagents are ephemeral — bridge them while they're alive.
  • sessions_send 不能发到 thread 类型的聊天会话。
  • 跨不同 agentId 的传话需要配置 tools.agentToAgent.enabled: true。
  • 子会话用完就过期,要传话趁它活着的时候。