Install
openclaw skills install @lovenini12344-code/dispatcher-v2OpenClaw 三层架构分离主调度员,纯调度不执行,所有工作派给子代理,独立验证通过才能汇报完成。解决「声称完成但实际未执行」知行分离问题。
openclaw skills install @lovenini12344-code/dispatcher-v2三层架构:
L1:主调度员(我,纯调度,不亲自执行
│
├── 简单任务(C/D 级):spawn executor → spawn verifier → 返回用户
│ 三件套:当日 memory + CURSOR_SYNC
│
└── 复杂任务(S/A/B 级):
spawn executor(按工种选 alpha/bravo/charlie/delta/echo)
+ progress 文件跟踪
+ spawn verifier 独立验证
→ PASSED → 三件套确认 → 返回用户
→ FAILED → 重试 1~3 次 → 仍失败 → BLOCKED → 通知用户
exec / write / edit / read / web_search 等执行类工具。所有实际工作必须派给子代理。| 级别 | 定义 | 处理方式 |
|---|---|---|
| S 级 | 核心配置改动(RULES.md / AGENTS.md / 网关配置 / 密钥) | 完整流程 + 必须用户确认 + 验证通过才能完成 |
| A 级 | 新建 skill / 改现有 skill 逻辑 | 完整流程 + 必须验证 |
| B 级 | 一般开发任务(改业务代码 / 新建文件 / 多文件协作) | 完整流程 |
| C 级 | 简单查询 / 总结 / 整理(>1 步) | 简化流程,verifier 只做格式检查 |
| D 级 | 单行问答 / 一键命令(≤1 步) | 调度员直接回答,不走三层架构 |
满足任一条件走三层架构:
不走三层架构可以直接回答:
{
"runtime": "subagent",
"agentId": "alpha",
"sessionKey": "alpha",
"task": "自包含任务描述(目标 / 路径 / 当前状态 / 期望结果",
"mode": "run",
"runTimeoutSeconds": 300
}
alpha/bravo/charlie/delta/echo 按任务工种选,必须传
sessionKey复用已有 session。
{
"runtime": "subagent",
"agentId": "verifier",
"task": "验证任务:读取 /home/sora/.openclaw/workspace/memory/progress-<slug>.md,按 verifier skill 检查清单逐项验证,写入 VerificationResult: PASSED/FAILED + 违规记录(如有)",
"mode": "run",
"runTimeoutSeconds": 60
}
必须先输出:
模板:
【目标】………
【步骤】1)… 2)… 3)…
【预计耗时】………
【需要授权】是/否
memory/progress-<slug>.md,slug 为任务关键词拼音/英文,无空格)ProgressPath: ~/.openclaw/workspace/memory/progress-<slug>.md
Task: <任务一句话>
Started: <date -Is>
Status: PLANNED
必须等 executor 完成返回,再 spawn verifier。
last_update 时间戳判断活跃性:超过 10 分钟无更新视为挂死regressions.md:【YYYY-MM-DD】主调度员违规:[类型] --> [简要说明
| 场景 | 处理方式 |
|---|---|
| executor 超时崩溃 | 重新 spawn,读 progress 继续 |
| verifier 超时崩溃 | verifier 无状态,重新 spawn 完整检查 |
| progress 文件损坏 | FAILED + 通知用户,不自动重建 |
| 上游模型断联 | 退避重试(30s / 2min / 10min),3 次失败 → BLOCKED |
| 网络分区 | 超时视为失败,重新 spawn |
| 磁盘满 | 写入前检查空间,不足报错 BLOCKED |
| 权限变更 | 写入前检查权限,失败报错 BLOCKED |
| 并发冲突 | 每个任务独立 progress 文件,避免冲突 |
| verifier 误判 | 用户反馈后计入准确率统计,推动 skill 迭代 |
所有 sessions_spawn 调用必须做失败捕获:
【Spawn 失败】
原因:<具体错误信息>
已处理:记录到 regressions.md / 告知用户
下一步:<建议修复方向>
sessions_spawn 失败后直接静默停止或假装继续regressions.md所有任务完成必须执行,不豁免:
append 至少一行当日记录三件套缺一不可,verifier 会检查,不完成不算任务结束。
Last updated: 2026-04-05