ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

OpenRig rig heartbeat与watchdog:让Agent团队自己盯自己的健康守护

OpenRig rig heartbeat与watchdog:让Agent团队自己盯自己的健康守护 OpenRig rig heartbeat与watchdog让Agent团队自己盯自己的健康守护【免费下载链接】openrigMulti-agent harness that runs Claude Code and Codex together as one system项目地址: https://gitcode.com/GitHub_Trending/op/openrigOpenRig 是一个多 Agent 协作框架能把 Claude Code 和 Codex 作为同一个系统协同工作。当 Agent 团队开始长时间无人值守地跑任务最怕的就是看起来在干、实际已卡死。OpenRig 内置了两套健康守护机制rig heartbeat心跳检查与rig watchdog看门狗调度器让 Agent 团队自己盯自己的健康状态。为什么多 Agent 团队需要自己盯自己单人跑 Claude Code 时你随时能瞟一眼终端发现卡住了。但一个 rig 里往往坐着 lead、dev、qa 等多个 Agent 座位它们并行产出、交接、等待。人不可能 24 小时盯着于是需要两层自动化守护证据层heartbeat定期回答每个正在干活的 Agent最近有没有留下工作证据调度层watchdog注册常驻的守护任务按策略定时评估并唤醒该被唤醒的座位两层机制都遵循同一原则只基于证据干预而不是无差别刷屏避免把 Agent 团队吵成提醒疲劳。heartbeat 心跳检查用工作证据判断 Agent 是否真的在干活rig heartbeat从共享文档根目录扫描各 rig 的队列文件.queue.md读取每个in-progress任务里的proof 行——带时间戳的工作证据例如已产出xxx.md。根据证据新旧把任务归入 7 种执行状态之一状态含义需要关注proven-active最近有心跳证据否checked-out已领取、还在首证窗口内暂不stalled有过证据但已超时是unproven领取很久却从未留下证据是blocked/parked明确受阻或主动挂起视情况done已完成/已交接否两个默认时间窗口均为2 小时首次证明窗口与心跳节律可用环境变量HEARTBEAT_FIRST_PROOF_WINDOW、HEARTBEAT_HEARTBEAT_CADENCE调整见 heartbeat.ts。默认模式下 heartbeat 是只读的加上--nudge会给 stalled / unproven 的负责人发一条轻提醒提醒它补证据、或把任务转为 blocked / parked。提醒只是信息性的不会修改队列文件或改派工作——这正是自己盯自己的克制之处。实现细节见 heartbeat.ts。rig heartbeat --rig name # 只看某个 rig rig heartbeat --nudge # 顺带提醒卡住的负责人watchdog 看门狗守护长任务的内置调度器如果说 heartbeat 是体检仪watchdog 就是自动巡检员。rig watchdog通过 daemon 的 HTTP API 注册、查看和停止调度任务。关键点daemon 原生调度调度器运行在 daemon 监督树内状态持久化在 SQLitewatchdog_jobs/watchdog_history表daemon 重启后任务不丢只记录大声评估只有真正投递了消息sent或策略判定任务终结terminal才写入历史安静跳过not_due、no_actionable_artifacts等一律不记防止 Agent 被调度器轮询吵醒6 种守护策略怎么选策略守护场景periodic-reminder周期性提醒某个会话artifact-pool-ready工件池出现可用产出时唤醒消费方edge-artifact-required上游完成但下游工件缺失时唤醒生产方workflow-keepalive工作流实例卡住时保活Phase D 引入idle-gate-qitem队列条目长时间空闲的门控context-usage-threshold会话转录逼近上下文上限时预警策略实现位于 policies 目录例如 workflow-keepalive.ts、context-usage-threshold.ts。策略与命令详情见 cli-reference.md 与 watchdog.ts。一个实用技巧register返回的 jobId 可以用rig queue block qitemId --on blocker --continuation what-resumes --wake-watchdog jobId挂到一个刻意挂起的队列条目上——阻塞时挂起、看门狗条件满足时自动唤醒形成闭环。在 TUI 里一眼看到守护状态OpenRig 的终端界面提供 GRAPH / HEALTH 等标签页拓扑图中每个座位都有状态灯与上下文占用配合 heartbeat / watchdog 的输出谁卡住了、谁快撞上下文墙了一目了然。3 级干预阶梯wake / refocus / 对齐检查点OpenRig 的看门狗文档把干预分成 3 个语义等级——调度节律不决定干预级别证据才决定见 watchdog SKILL.mdWake唤醒负责人疑似闲置/卡住发一条小提醒不重新框定工作Refocus回焦产出出现漂移、审批倒退时中等力度重新对齐角色与停止条件Alignment checkpoint对齐检查点阶段边界或出现矛盾证据时让 Agent 完整回焦后再继续文档同时列出了 7 种典型失败模式提醒过频污染工作流、唤醒错座位、静态提醒教会 Agent只答提醒不干活等核心纪律是扫描节律与唤醒节律要分开设置例30 秒扫描一次、有可执行工作时至多 600 秒唤醒一次。快速上手3 步启用健康守护1️⃣ 克隆仓库并进入git clone https://gitcode.com/GitHub_Trending/op/openrig2️⃣ 跑一次心跳检查确认所有 in-progress 任务都处于proven-activerig heartbeat3️⃣ 给长任务注册一个看门狗YAML spec 指定策略与目标会话之后用rig watchdog list/rig watchdog status jobId巡检小结OpenRig 的 heartbeat 与 watchdog 回答了多 Agent 系统运维的核心问题Agent 团队能不能自己保证自己没卡住答案是用工作证据 常驻调度 分级干预三件套把守护做进系统里而不是靠人肉盯屏。对于想让 Agent 团队无人值守跑长任务的新手这两个命令就是最实用的第一道保险。【免费下载链接】openrigMulti-agent harness that runs Claude Code and Codex together as one system项目地址: https://gitcode.com/GitHub_Trending/op/openrig创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进