🎲 第一阶段:骰子路由判断

📨 Will 发来消息

  • "你好呀"
  • "查天气+写脚本"
  • "红中N号断链告警"

🎲 骰子路由判断

  • 1 git-sync.sh 拉代码
  • 2 读状态文件(白名单)
  • 3 自问:仅凭知识能答?
  • 4 拆分独立任务数量
  • 5 逐个 new-task.py
  • 6 回复 Will

💬 闲聊

自身知识可答 → 直接回复
不调用任何工具

📋 任务

需要工具/文件 → 拆分后逐个派发
每个独立任务 → 1 个红中

🔧 系统告警

断链告警/HEARTBEAT
→ 骰子直接处理,不派发

信息隔离原则:骰子 能读 debug-config.json、task-index.json、SESSION-STATE.md、bus/inbox/ | 禁读 知识库/、skills/、DAILY-DIGEST、BACKLOG → 读不到知识源 = 复杂问题只能派发 = 不越权
🏃 第二阶段:接力棒管线(单任务生命周期)
接力棒 #1

🀄 红中N号 — 规划

1 启动 红中N号-cron(每分钟监督,全程运行)
2 读收件箱 + brief.md
3 Claude Agentplan.md(红中自己不写文件)
4 debug_gate 断点检查 → 拦截则 end-task.py
5 写白板 inbox + 创建白板 cron → 下线 📱 TG ×2
one-shot cron (10s)
接力棒 #2

🀆 白板 — 审核 plan

1 Claude Agent 审核 plan.md
2 准奏 → 创建红中N号-决策 cron → 下线 📱 TG
3 封驳 → 创建红中N号-重规划 cron → 下线
准奏 → one-shot cron
接力棒 #3

🀄 红中N号 — 决策

1 读审核结论(准奏/封驳)
2 按任务类型分配执行 Soul(东风/发财/南风等)
3 创建执行 Soul cron → 下线 📱 TG
one-shot cron
接力棒 #4

🉐🀅🀀 执行 Soul

1 Claude Agent 执行实际工作(写代码/搜索/学习等)
2output/ 产出文件
3 spawn 白板最终审核 cron → 下线 📱 TG
one-shot cron (10s)
接力棒 #5

🀆 白板 — 最终验收

1 验收 output 产出质量
2 通过 → end-task.py 关闭 cron + 更新状态 📱 TG
3 失败 → supervisor cron 继续监控 📱 TG
验收通过
终点

✅ 任务关闭 — end-task.py

1 disable 红中N号-cron(监督 cron)
2 更新 task-index.json 状态 → done
3 写 progress.md + 发 TG 完成通知 📱 TG

⏰ 红中N号-cron(监督)

每分钟巡查 progress.md
├ 15分钟无更新 → 递增 .alert-count
├ 发断链告警给骰子
└ 被 end-task.py 关闭
cron 命名规则
hong-zhong-{N}-cron-{task_id}

💓 心跳巡检(每30分钟)

骰子定期执行 HEARTBEAT:
├ 僵死任务 → end-task.py
├ 残留 cron → disable
├ 告警 ≥3 → 自动清理
└ 运维直处理,业务派红中
🔗 接力棒传递机制

传递方式

当前 Soul
├ 写 bus/inbox/{next}/MSG-xxx.json
├ openclaw cron add (one-shot, 10s)
下线(不等结果)

下一个 Soul
├ cron 触发 → isolated session
├ 读 inbox 消息
└ 开始工作...

核心特征

异步:不等下一棒的结果
无状态:每个 Soul 从文件读所有信息
隔离:isolated session,互不干扰
可追踪:每步写 progress.md
可拦截:debug_gate 在任意节点断点
可清理:end-task.py 统一出口
📱 TG 通知覆盖(完整链路 8 个通知点)
#阶段触发时机通知内容示例实现
1 🎲 骰子派发 new-task.py 创建激活 cron cron 系统 announce(骰子同时 chat 回复 Will) --announce
2 🀄 红中N号接到任务 读完收件箱 + brief.md 后 🀄 红中N号已接到任务 T-xxx,开始规划... _notify()
3 🀄 红中N号规划完毕 plan.md 写完 + 白板 cron 已创建 🀄 红中N号完成...plan.md 已写 + 白板将触发,红中下线 _notify()
4 🀆 白板审核完毕 审核 plan.md 后 🀆 白板审核完毕 T-xxx,红中N号将接棒决策 _notify()
5 🀄 红中N号决策完毕 准奏/封驳后 🀄 红中N号完成决策(准奏→spawn执行Soul / 封驳→重审) _notify()
6 🀅 执行Soul完成 Claude Agent 执行完毕后 🀅 发财N号完成 T-xxx,白板最终审核将触发,发财下线 _notify()
7 🀆 白板最终验收 验收通过 / 失败 ✅ 白板N号验收通过,end-task.py 已关闭 cron / ⚠️ 验收失败 _notify()
8 ⏰ 断链告警 红中N号-cron 检测到 15min 无更新 ⚠️ 断链告警:T-xxx 超过15分钟无进展 _notify()
通知原则:每个 Soul 在完成工作并传棒后发 TG 通知(下线前最后一步)。红中额外在接到任务时发一条通知,让 Will 知道任务已被接手。
🀄 角色职责矩阵

🎲 骰子 — 指挥官

路由判断 · 任务拆分 · 编排派发 · 汇报结果 · 心跳巡检

禁读知识库/skills · 禁用执行工具 · 不写文件

🀄 红中 — 调度秘书

规划 plan.md · 提交白板审核 · 读审核结论 · 分配执行 Soul · 管理任务内并行

不自己干活(>5行禁止)· 通过 Claude Agent 写 plan

🀆 白板 — 审核员

审核 plan.md(准奏/封驳)· 最终验收 output 质量

只审不做 · 不写业务文件 · 不分配任务

🉐🀀🀁🀂 执行 Soul

东风(开发) · 南风(架构) · 西风(审计) · 北风(测试)

只通过 Claude Agent 执行 · 写 output/ 产出

🀅 发财 — 蒸馏师

学习/知识入库 · 提炼 distill.md · 任务归档

只在验收通过后触发 · 调 end-task.py 关闭任务
🛠️ 关键工具
工具用途调用者关键行为
new-task.py 创建任务 + 激活红中 🎲 骰子 生成 ID · 创建目录 · 登记索引 · 写 inbox · 创建 cron · debug_gate 拦截
end-task.py 统一结束任务 任何 Soul disable 监督 cron · 更新状态 · 清理告警 · 写 progress · 发 TG
debug_gate.py 代码级断点拦截 new-task.py / payloads 读 debug-config.json · 命中断点时写报告并 exit
soul_payloads.py 生成各 Soul 的 payload new-task.py / cron 红中/白板/执行Soul 的完整指令模板
git-sync.sh 拉取最新代码 骰子启动时 确保工作区与 Git 同步
验证状态
机制状态验证方式通过率
骰子路由判断(闲聊/任务/混合) ✅ 已验证 14 个路由测试 100%
骰子任务拆分(独立任务计数) ✅ 已验证 C 类路由测试 4 例 100%
骰子 → 红中 派发 ✅ 已验证 9 个断点测试 89% (并行偶发)
红中1号 规划(Claude Agent 写 plan.md) ✅ 已验证 断点测试 hooks 记录 100%
Debug 断点代码级拦截 ✅ 已验证 debug_gate.py 9 个测试 100%
end-task.py 统一生命周期 ✅ 已验证 断点测试 + 手动清理 100%
动态红中编号 ✅ 已验证 多任务并行测试 100%
白板审核 → 红中N号决策 ✅ 代码就绪 soul_payloads.py 已实现 + owner 解析修复
执行 Soul → 白板最终审核 ✅ 代码就绪 fa_cai / _generic 自动 spawn bai_ban_final
白板最终验收 → end-task.py ✅ 代码就绪 验收通过直接调 end-task.py 自动关闭
TG 通知全覆盖(8 个通知点) ✅ 代码就绪 含红中接到任务通知(新增)
📁 文件系统结构
~/.openclaw/workspace/ ├── SOUL.md # 骰子的灵魂(身份+职责+禁令) ├── AGENTS.md # 骰子操作手册(6步流程) ├── HEARTBEAT.md # 心跳巡检规范 ├── debug-config.json # 断点配置(10个可拦截节点) ├── tasks/ │ ├── task-index.json # 中央任务注册表 │ ├── .template/ # 任务目录模板 │ ├── debug/ # 断点报告 + 路由测试报告 │ └── T-YYYYMMDD-NNN/ # ← 单个任务 │ ├── brief.md # 任务说明(骰子写) │ ├── progress.md # 进度日志(所有Soul追加) │ ├── distill.md # 蒸馏结果(发财写) │ ├── supervisor-cron-id.txt # 监督cron ID │ ├── hong-zhong/ │ │ └── plan.md # 规划(Claude Agent写) │ ├── bai-ban/ │ │ └── review-plan.md # 审核结果 │ └── output/ # 执行产出 ├── bus/inbox/ # 消息总线 │ ├── hong-zhong/ # 红中收件箱 │ ├── bai-ban/ # 白板收件箱 │ └── main/ # 骰子收件箱 ├── tools/ │ ├── new-task.py # 创建任务(骰子用) │ ├── end-task.py # 结束任务(任何Soul用) │ ├── debug_gate.py # 断点拦截 │ ├── soul_payloads.py # Soul payload 模板 │ └── git-sync.sh # Git 同步 └── agents/ ├── COMMON-RULES.md # 公共铁律 ├── hong-zhong/ # 红中 SOUL.md ├── bai-ban/ # 白板 SOUL.md └── ... # 其他执行 Soul