🎲 骰子 · 长期运行
常驻 main session,不做实质工作。唯一职责:接收消息、派发任务、监听子 Soul 汇报。每30分钟 Heartbeat 自动巡检僵死任务和残留 cron。
🀄🀆🀅 子Soul · 有超时
isolated session,60分钟超时。按需 spawn,完成即下线。统筹调度,通过 Claude Agent 干活。
⏱ Cron · 定时激活
定时触发指定 Soul 的 isolated session。one-shot(用完即删)或 周期性(如监督每60s)。
👤
Will 发消息
触发点
用户在 Webchat 中向骰子发送任何消息,这是整个流程的唯一入口。
Webchat
0
骰子启动初始化
🎲 骰子
收到任何消息后,骰子必须先完成初始化,再回答或行动:
  • bash tools/git-sync.sh — 拉取远程最新状态
  • 记忆/DAILY-DIGEST.md — 重大变更蒸馏
  • 记忆/RECENT-COMMITS.md — 今日 git 变更
  • 记忆/SESSION-STATE.md — 当前任务状态
  • tasks/task-index.json — 活跃任务列表
  • agents/task-dispatch.md — 任务派发流程
  • python3 tools/on-startup-scan.py — 扫描定时报告
  • python3 tools/route-message.py — 业务路由判断
骰子运行模式 骰子是长期运行的 main session,核心职责是监听子 Soul 汇报。四读 + 扫描 + 路由完成后才能行动。

骰子不做任何实质工作,保持随时可接收汇报的状态。
路由判断
闲聊 or 实质问题?
💬 纯闲聊(打招呼/寒暄)→ 直接回答 → END
任何实质性内容 ↓
!
路由铁律
判断标准
只有纯闲聊(打招呼、寒暄、无实质内容)才直接回答。
以下场景全部创建任务,交给子 Soul 处理:
  • 涉及任何业务相关的问题或操作
  • 涉及框架/架构相关的问题或修改
  • 修复 bug、修改配置、调整流程
  • 需要查询、分析、阅读、学习的内容
  • 提问类(需要去查资料才能回答的问题)
原因:骰子是长期运行的监听者,不做实质工作,保持随时可接收子 Soul 汇报的状态
骰子5项自检 ① 是"任务"还是"问题"?
② 四读是否完成?
③ 骰子是否企图自己写业务文件?(P1)
④ 是否有前置依赖任务?
⑤ 是否已通知 Will?
任何一条未满足 → 禁止继续
1
骰子创建任务
🎲 骰子
运行 python3 tools/new-task.py,自动完成:
  • 生成任务 ID:T-YYYYMMDD-NNN
  • .template/ 复制目录结构 + 写 brief.md
  • 登记 task-index.json(status = pending
  • bus/inbox/hong-zhong/MSG-T-xxx-new_task.json
  • 创建激活 cron(15秒后触发红中1号 isolated session)
  • 告诉 Will:「已派发 T-xxx 给红中拆解」
tasks/T-xxx/brief.md task-index.json bus/inbox/hong-zhong/
骰子回复 Will 后等待
cron +15s 触发
异步接力棒开始 · cron 定时激活子 Soul · 子 Soul 60分钟超时 · 完成即下线
2
红中1号 · 拆解计划
🀄 接力棒 #1
Isolated session,由 cron 触发,完成后立刻下线:
  • bus/inbox/hong-zhong/MSG-T-xxx-new_task.json
  • brief.md,理解任务目标和约束
  • 更新 status → planning
  • claude --printplan.md(含拆解步骤 + Soul归属 + verify_cmd)
  • 创建红中2号监督 cron(每60秒巡查任务进度)
  • bus/inbox/bai-ban/MSG-T-xxx-review_plan.json
  • _add_cron() 创建白板-session(+10s one-shot)
  • 发 TG 通知 → 追加 progress.md → 删收件箱消息
  • 下线(不等白板结果)
tasks/T-xxx/hong-zhong/plan.md bus/inbox/bai-ban/review_plan
运行模式 子 Soul = isolated session,60分钟超时

接力棒核心:每棒用 cron(定时激活)创建下一棒后立刻下线,释放资源。不长期占用。
cron +10s 触发
审核范围 只查规则合规(verify_cmd 是否存在、路径是否明确、Soul 归属是否正确)。
不做内容逻辑评价(计划好不好不归白板管)。
3
白板-session · 规则合规审核
🀆 接力棒 #2
One-shot isolated session,审完即下线:
  • agents/bai-ban/REVIEW-STANDARD.md(审核标准)
  • brief.md + plan.md
  • claude --print 做规则合规审核
  • 写审核结论到 review-result.md
  • 结论:✅ 准奏🚫 封驳:[原因]
  • bus/inbox/hong-zhong/MSG-T-xxx-review_result.json
  • _add_cron() 创建红中2号(+10s one-shot)
  • 发 TG 通知 → 删收件箱消息 → 下线
tasks/T-xxx/bai-ban/review-result.md bus/inbox/hong-zhong/review_result
cron +10s 触发
4
红中2号 · 读审核结论 + 决策
🀄 接力棒 #3
  • bus/inbox/hong-zhong/MSG-T-xxx-review_result.json
  • tasks/T-xxx/bai-ban/review-result.md
  • 判断结论:准奏 or 封驳?
审核结论?
✅ 准奏 → 派执行 Soul 🚫 封驳 → 修订重审
4a
准奏 → 派执行 Soul
  • task-index.json 找 owner
  • hong-zhong/exec.md
  • bus/inbox/<owner>/exec_task.json
  • 更新 status → in_progress
  • _add_cron() 创建执行 Soul cron
  • 发 TG 通知 → 下线
4b
封驳 → 修订重审
  • claude --print 按封驳原因修订 plan.md
  • 重新写白板收件箱消息
  • _add_cron() 创建白板重审 cron
  • → 回到 Step 3(白板-session 重审)
  • 发 TG 通知 → 下线
  • 第3次封驳上报骰子(escalate)未实现计数器
cron one-shot 触发
5
执行 Soul · 完成任务
🀅🉐🀀🀁🀂
根据任务类型,由对应 Soul 执行(发财=学习/东风=开发/南风=架构/西风=审查/北风=测试):
  • 读收件箱 + brief.md + plan.md + exec.md
  • agents/COMMON-RULES.md(集群铁律)
  • claude --print 派 Claude Agent 执行任务
  • Agent 产出写入 tasks/T-xxx/output/
  • bus/inbox/main/MSG-T-xxx-task_done.json
  • 更新 status → done
  • 删收件箱消息 → 发 TG 通知 → 下线
tasks/T-xxx/output/*.md bus/inbox/main/task_done.json
claude --print 调用 同步阻塞调用,Agent 跑完才返回。牌名从27张牌池随机取(一条~九万),用完 release。
并行 · 红中2号监督 cron(每60秒,Step 2 创建)
红中2号监督 cron
🀄 每60秒
从 Step 2(红中1号)开始就在后台每60秒运行一次:
  • tasks/T-xxx/hooks/ 目录,检查新增文件
  • 有新 hook 文件 → TG 汇报「任务正在推进」
  • 检查 bus/inbox/main/MSG-T-xxx-task_done.json 是否存在
  • task_done 存在 → TG 通知骰子 + disable 自身 cron
  • 更新 hooks/.last-check 时间戳
task_done 写入后
监督cron检测到 → 通知骰子
以下环节在设计文档中描述 · 代码存在但未接入自动化链路
6
白板最终验收 未接入自动链路
🀆 白板
函数 bai_ban_final_review() 存在于 soul_payloads.py,但未注册到 ACTIVATE_PAYLOADS,不会被自动触发。
  • output/result.md 验收内容
  • 通过 → 写 task_done + disable 监督 cron + systemEvent
  • 失败 → TG 告警,骰子检查重新执行
当前实际:执行 Soul 直接写 task_done,跳过了白板验收环节
GAP 分析 AGENTS.md 描述:「白板收尾审核通过后,白板 spawn 发财蒸馏 session」。

实际代码:exec Soul 直接写 task_done → TG 通知骰子 → 骰子需手动介入蒸馏。
自动化断点 设计:白板验收通过 → 自动 spawn 发财蒸馏。

实际:TG 通知骰子「请运行 close-task.py」→ 骰子需手动处理。

close-task.py 本身功能完整,缺的是自动触发。
7
发财蒸馏 未自动触发
🀅 发财
蒸馏流程本身已实现(close-task.py 功能完整),但从 task_done 到触发蒸馏缺少自动化连线。
  • 运行 python3 tools/close-task.py --id T-xxx --yes
  • 蒸馏三问
  • Q1: 有没有可复用的执行模式?→ 写 蒸馏/skills/
  • Q2: 有没有踩新坑?→ 追加 COMMON-RULES.md
  • Q3: 值不值得长期保留?→ 归档 or 删除
  • distill.md
  • 更新 status → distilled / archived
  • disable 红中2号监督 cron
distill.md 蒸馏/skills/ 蒸馏/insights/ COMMON-RULES.md
8
systemEvent 通知骰子 手动介入
→ 🎲 骰子
设计:发财触发 main session systemEvent → 骰子自动收到 → 汇报 Will。
  • 实际:骰子通过 TG 通知得知任务完成,需要被 Will 唤醒后才能读 inbox/main/
  • 骰子不是常驻进程,无法主动监听文件变化
当前实际:TG 通知 Will → Will 问骰子 → 骰子读 inbox → 手动蒸馏
9
骰子汇报 Will
🎲 骰子
  • 读蒸馏结论(distill.md)
  • 在 Webchat 汇报:任务完成 + 产出 + 蒸馏结论
  • 更新 记忆/SESSION-STATE.md
  • 运行 bash tools/smart-commit.sh 提交变更
汇报格式:🏁 任务完成 T-xxx | Soul:[执行Soul] | 产出:[描述] | 蒸馏:[结论]
✅ 流程结束 · Will 收到完整汇报
独立巡检循环 · Heartbeat 每30分钟 · 与任务流程平行
Heartbeat 巡检
🎲 骰子 · 每30分钟
OpenClaw 平台每30分钟自动唤醒骰子 main session,骰子读 HEARTBEAT.md 执行轻量巡检:
  • 检查僵死任务task-index.jsonin_progress/planning 超过30分钟无更新
  • 检查残留 cronopenclaw cron listdisabled/error 状态的 cron
  • 检查未处理 inboxbus/inbox/main/ 是否有未处理消息
Heartbeat 铁律 只做巡检 + 派发。禁止蒸馏、验收、修复、写业务文件。发现问题 → 派红中处理。没有问题 → HEARTBEAT_OK。
有异常?
僵死/残留/未处理
✅ 一切正常 → HEARTBEAT_OK → END(什么也不做)
有异常 ↓
📋
new-task.py → 派发红中
🀄 红中
骰子运行 new-task.py,创建一个巡检修复任务:
  • owner: hong-zhong,priority: high
  • brief: 具体描述发现的问题(僵死的任务ID、残留的 cron 名等)
  • 红中接手后自行判断:重启/清理/上报
♻ Heartbeat 结束 · 30分钟后再次巡检

流程汇总

Step 0骰子启动初始化(git-sync + 四读 + 路由)✅ 已实现 Step 1骰子创建任务(new-task.py)✅ 已实现 Step 2红中1号拆解计划(plan.md)✅ 已实现 Step 3白板-session 规则审核✅ 已实现 Step 4红中2号决策(准奏/封驳)✅ 已实现 Step 4b封驳3次上报骰子🔴 无计数器 Step 5执行 Soul 完成任务✅ 已实现 红中2号监督 cron(每60s)✅ 已实现 Step 6白板最终验收🔴 未接入链路 Step 7发财自动蒸馏🔴 未自动触发 Step 8systemEvent 通知骰子🔴 需手动介入 Step 9骰子汇报 Will✅ 已实现 Heartbeat 巡检(僵死任务/残留cron/未处理inbox)✅ 已配置

自动化断点总结

断点位置:执行 Soul 写 task_done → ??? → 蒸馏
设计意图:task_done → 白板最终验收 → 白板 spawn 发财 → 发财 close-task.py → systemEvent 通知骰子
当前实际:task_done → TG 通知 → Will 看到 → 问骰子 → 骰子手动蒸馏
需要补的:exec Soul 完成后自动触发白板验收 → 验收通过自动 spawn 发财蒸馏 → 蒸馏完成自动 systemEvent