🦞
龙虾集群·汇报监控机制
接力棒管线全程可追踪
2026-03-30  ·  v4.0
📡 8节点 TG 通知体系

核心设计:接力棒管线中每一棒的入口/出口都有 Telegram 通知,全链路 8 个关键节点覆盖任务全生命周期

#节点发送者通知内容
1 任务已派发 骰子 任务ID + 红中编号
2 红中已接任务 红中N号 开始规划
3 plan.md 写完 红中N号 白板将触发
4 白板审核结果 白板N号 准奏 / 封驳
5 红中决策完成 红中N号 归属牌将触发
6 执行完成 归属牌 白板验收将触发
7 验收通过/失败 白板N号 通过 / 退回
8 任务关闭 end-task.py 关闭 cron + 更新状态
⏱️ 监督 Cron 机制
🀄 红中N号-cron-{task_id}
棒#1(任务派发)时启动,每分钟巡查 progress.md 文件更新时间
棒#1 启动 cron
每分钟检查 progress.md
超15分钟无更新?
✅ 正常(15分钟内有更新)
继续下一轮巡查
无额外动作
🚨 超时(超过15分钟)
递增 .alert-count
发送 TG 断链告警

统一关闭:所有监督 cron 由 end-task.py 统一关闭,任务结束(成功/失败/超时)自动触发

💓 心跳巡检(骰子每30分钟)

骰子定时心跳:每 30 分钟全局扫描一次,兜底清理异常状态,防止任务泄漏与资源残留

检查项判定条件处理方式
僵死任务 progress.md 超 30 分钟无更新 end-task.py --reason error
告警超标 .alert-count >= 3 end-task.py --reason error
残留 cron 任务已结束但 cron 仍在运行 disable cron
积压收件箱 bus/inbox/main/ 有消息 按消息类型分别处理
💀
僵死
强制终止 + 告警
🔔
告警超标
强制终止 + 告警
残留 cron
静默清理
📬
积压消息
按类型路由
🔇 通知精简优化
❌ 优化前:通知爆炸
pre_tool.sh / post_tool.sh / stop.sh 每次工具调用都发 TG 通知
PreToolUse → TG
PostToolUse → TG
Stop → TG
= 每任务数十条通知 💥
✅ 优化后:精准8节点
hooks 只保留本地日志记录,TG 通知集中在 8 个关键状态切换节点
hooks → 本地日志
8节点 → TG
= 每任务最多8条 ✓

核心原则

只在状态切换时通知,不在过程中通知

入棒通知 → 工作过程(静默)→ 出棒通知

过程数据通过 progress.md 记录,由 cron 巡查机制监督,无需实时推送

📂 文件总线通信
bus/inbox/{soul}/
各 Soul 的收件箱
消息文件投递到此
MSG-xxx.json
标准消息格式
只含 task_id 与 type
tasks/T-xxx/
任务内容主体
所有 Soul 按规范读写
📨
异步
投递即走,不等回复
消息落文件系统
🔗
无状态
消息只传 task_id
内容在任务目录自取
🔍
可追踪
文件即日志
全程留痕可审计

消息路由规则:发送方写 MSG-{timestamp}.json 到目标 Soul 的 bus/inbox/{soul}/ 目录

接收方 cron 轮询 inbox → 发现消息 → 读取 task_id → 进入任务目录获取上下文 → 执行

设计哲学:文件系统是最可靠的消息队列,无需额外中间件