OpenClaw 第二篇最短落地:在 ops-agent 基础上补 research-agent、coding-agent、qa-agent
OpenClaw 第二篇最短落地:在 ops-agent 基础上补 research-agent、coding-agent、qa-agent
这篇继续沿用上一篇已经配好的结果。
默认你已经做完:
Telegram -> ops-agentops-agent <- telegramchannels status --probe里 Telegram 返回works这篇只做一件事:
把
ops-agent再补成一个能调 3 个内部 worker 的最小编排底座。
一、先说这篇做完后你会得到什么
做完以后,你的生产容器里会多出这 3 个内部 agent:
research-agentcoding-agentqa-agent
同时还会完成这 5 件事:
ops-agent被明确允许调这 3 个 worker- 这 3 个 worker 都有各自独立的
IDENTITY.md openclaw agents list能看到完整拓扑ops-agent能真实拉起这 3 个 worker,并把结果汇总回来- Telegram 入口能看到最终汇总回复
也就是说:
- 这篇不是只把拓扑配出来
- 而是把
Telegram -> ops-agent -> 3 个内部 worker -> 汇总回复这条链路真实跑通
如果你是按这个系列一路做到这里,那现在这套最小多 agent 方案已经算完整落地了。
二、这篇的前提
我这次实际回归的环境是:
- OpenClaw 版本:
2026.3.2 - 运行方式:Docker 容器
- 容器名:
openclaw-ORD17742461621975243 - 上一篇已经完成:
Telegram -> ops-agent
如果你的容器名不同,后面命令里的容器名换成你自己的即可。
三、Step 0:先备份这次要改的配置
先在宿主机进入容器:
docker exec -it openclaw-ORD17742461621975243 sh
然后先备份:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-internal-workers-20260328.bak
ls -lh ~/.openclaw/openclaw.json.before-internal-workers-20260328.bak
这一步不要省。
因为这篇会继续往 agents.list 和 subagents 里加东西,备份好以后你随时能回滚。
四、Step 1:先加 research-agent
直接执行:
openclaw agents add "Research Agent" \
--workspace ~/.openclaw/workspace-research \
--agent-dir ~/.openclaw/agents/research-agent/agent \
--model kiro-proxy/claude-haiku-4-5 \
--non-interactive \
--json
你要看到的关键结果是:
agentId变成research-agent- 命令执行成功,没有报配置错误

五、Step 2:继续补 coding-agent 和 qa-agent
继续执行:
openclaw agents add "Coding Agent" \
--workspace ~/.openclaw/workspace-coding \
--agent-dir ~/.openclaw/agents/coding-agent/agent \
--model kiro-proxy/claude-haiku-4-5 \
--non-interactive \
--json
openclaw agents add "QA Agent" \
--workspace ~/.openclaw/workspace-qa \
--agent-dir ~/.openclaw/agents/qa-agent/agent \
--model kiro-proxy/claude-haiku-4-5 \
--non-interactive \
--json
执行完以后,你的内部 worker 就齐了。

六、Step 3:明确允许 ops-agent 只能调这 3 个 worker
这一条是关键。
如果你只创建 worker,不给 ops-agent 写 allowlist,那主 agent 并不知道它可以调谁。
直接执行:
openclaw config set 'agents.list[1].subagents.allowAgents' '["research-agent","coding-agent","qa-agent"]'
openclaw config get 'agents.list[1].subagents.allowAgents'
正常情况下,你会看到返回:
[
"research-agent",
"coding-agent",
"qa-agent"
]

如果你返回的不是这 3 个名字,就先不要继续往后走。
七、Step 4:给 3 个 worker 写各自的 IDENTITY.md
这一条也别省。
如果你不写身份说明,这 3 个 worker 虽然存在,但它们的职责边界会很模糊。
直接写:
cat > ~/.openclaw/workspace-research/IDENTITY.md <<'EOF'
# 🔎 Research Agent
You are the research worker.
Your job is to gather facts, inspect docs, summarize findings, and return concise research notes.
Do not write production code unless explicitly asked.
EOF
cat > ~/.openclaw/workspace-coding/IDENTITY.md <<'EOF'
# 🛠️ Coding Agent
You are the coding worker.
Your job is to implement changes, edit files, and return concise implementation notes.
Do not spend your time on broad research unless explicitly asked.
EOF
cat > ~/.openclaw/workspace-qa/IDENTITY.md <<'EOF'
# ✅ QA Agent
You are the QA worker.
Your job is to review risks, design checks, validate outputs, and return concise QA notes.
Do not own the implementation unless explicitly asked.
EOF

这一步写完后,文件虽然已经在磁盘里了,但还没同步进 agent 配置。
八、Step 5:把 IDENTITY.md 同步进 3 个 worker
继续执行:
openclaw agents set-identity --agent research-agent --from-identity --workspace ~/.openclaw/workspace-research --json
openclaw agents set-identity --agent coding-agent --from-identity --workspace ~/.openclaw/workspace-coding --json
openclaw agents set-identity --agent qa-agent --from-identity --workspace ~/.openclaw/workspace-qa --json
如果这 3 条都成功,说明 worker 的身份描述已经真正写进 OpenClaw 配置。

九、Step 6:重启容器,然后做最终回归
先在宿主机重启容器:
docker restart openclaw-ORD17742461621975243
然后重新进入容器,执行最终检查:
openclaw config validate
openclaw agents list
openclaw agents bindings
openclaw channels status --probe --timeout 15000
openclaw config get 'agents.list[1].subagents.allowAgents'
这一步你要重点确认 5 件事:
Config validagents list里已经有:mainops-agentresearch-agentcoding-agentqa-agent
ops-agent <- telegram还在- Telegram 仍然返回
works allowAgents里仍然是那 3 个 worker

如果你这一步和图里结果一致,那就说明:
第二篇该做的配置,已经真实落地成功了。
十、到这一步你的拓扑到底长什么样
现在你的结构不是:
- 一个 Telegram 主 bot,再额外生成 3 个 Telegram 子 bot
也不是:
- 用飞书 bot 和 Discord bot 作为 Telegram 的子机器人
而是这套更简单、也更稳的结构:
Telegram
-> ops-agent
-> research-agent
-> coding-agent
-> qa-agent
也就是说:
- 外部入口只有一个 Telegram
- 内部 worker 不是额外的 Telegram 机器人
- 它们只是 OpenClaw 容器内部可被调用的 agent
这一点你一定要分清楚。
不然你会误以为还要去 Telegram 再创建 3 个 bot,其实不用。
十一、Step 7:做一次真实三 worker 回归
前面 6 步只是把结构配好。
这一条才是真正的验收。
直接在容器里跑:
openclaw agent --agent ops-agent --message 'Do not guess. You must use sessions_spawn to call research-agent, coding-agent, and qa-agent. Ask them to reply exactly research ok, coding ok, and qa ok. Then return the three exact results in Chinese. If spawning fails, print spawn_failed and the exact tool error.' --json --timeout 180
你这一步要重点看 3 件事:
sessions_spawn对 3 个 worker 都返回status: acceptedmode是run- 最终输出里能看到:
三个子代理已全部完成任务,结果如下:
1. research ok
2. coding ok
3. qa ok
只要这一步跑通,就说明:
ops-agent不是在假装编排- 3 个 worker 不是摆设
- 汇总链路也已经是真的

十二、Step 8:再用 Telegram 做一次人工回归
如果你前面已经把 Telegram -> ops-agent 绑好了,那就直接在 Telegram 里发一条更笨一点的测试话术:
不要猜。你必须调用 research-agent、coding-agent、qa-agent。
让它们分别只回复:
research ok
coding ok
qa ok
最后你再把这三个结果汇总回给我。
你期望看到的不是泛泛解释,而是类似这种最终结果:
research-agent: research ok
coding-agent: coding ok
qa-agent: qa ok
只要 Telegram 里也回出了这 3 行,就说明你的真实入口链路也已经通了:
Telegram -> ops-agent -> research/coding/qa -> ops-agent -> Telegram

十三、这篇做完以后,怎么算真的完成
你现在的验收标准不要只看“创建成功”,要看下面这 8 条:
research-agent已创建coding-agent已创建qa-agent已创建ops-agent的allowAgents正确- 3 个 worker 的身份已同步
- Telegram 入口回归后仍然
works openclaw agent --agent ops-agent ...能真实拉起 3 个 worker 并汇总成功- Telegram 里也能拿到
research ok / coding ok / qa ok这类真实回包
满足这 8 条,第二篇就不只是“配好了”,而是已经完整跑通了。
十四、现在这套结构到底是什么
你现在跑通的不是:
- 一个 Telegram 主 bot,再额外生成 3 个 Telegram 子 bot
也不是:
- 拿飞书 bot 和 Discord bot 去当 Telegram 的子机器人
而是这一套更简单、也更稳的结构:
Telegram
-> ops-agent
-> research-agent
-> coding-agent
-> qa-agent
也就是说:
- 外部入口只有一个 Telegram
- 内部 worker 是 OpenClaw 容器里的 agent
- 它们不需要再去 Telegram 额外创建 bot
十五、下一篇该看什么
如果你按这个系列一路做到这里,最合理的下一篇就是:
- 看
OpenClaw 第三篇最短排障,把provider 401的修法和回归过程补完整 - 再继续看 Mission Control,去观察任务流和回包链路
参考资料
- OpenClaw 多智能体官方文档:https://docs.openclaw.ai/concepts/multi-agent
- OpenClaw 子智能体官方文档:https://docs.openclaw.ai/tools/subagents
- OpenClaw Session Tool 官方文档:https://docs.openclaw.ai/zh-CN/concepts/session-tool
更多推荐


所有评论(0)