用 Claude Code 干活,最贵的不是 token,是你守在键盘前的时间。worker 会话停了要你敲"继续",限流了要你等完了再催,干完一段要你亲自检查才敢放行下一段。说是 AI 在干活,其实你一直在值夜班。
为此,给Claude开发了一套监工 https://github.com/ljheee/claude-supervisor。
这套东西把夜班撤了。一个 supervisor 会话管 N 个 worker 会话:你写好目标、答完开局的需求澄清,就可以走开。剩下的流转、验收、中断自愈,监工自己跑,只在需要你拍板的时候弹通知找你。
凭什么让你走得开
限流自愈,不用敲"继续"。 多 worker 并行跑,集体撞 429 是常态。worker 被掐断的瞬间,StopFailure/Stop hook(事件回调,不是 prompt 叮嘱)直接把中断报给监工。监工记账、退避五分钟、逐个错峰唤醒(每多一个 worker 顺延一分钟),恢复后从断点继续。你从头到尾不用出现。
逐 phase 自动流转。 worker 干完一个 phase,先自审,再交监工对抗审查;过了,监工自动下发下一个 phase 的完整指令;不过,带着问题清单打回重做。流水线自己往前走,卡住了才升级到你。
开局把问题问完,后面不烦你。 动工前监工会把模糊目标盘成 spec 和 plan,该问的需求问题集中在这一段问掉。之后它只在两种情况下找你:需要你拍板的决策(QUESTIONS 协议,异步攒着),和它自己处理不了的事故(桌面通知直投你)。其余时间,你不在场是常态,不是失职。
崩了能接上,不用重来。 全部进度落盘在 .supervisor/ 的分片账本里。worker 崩了重开一个会话,对齐账本接着干;监工自己崩了,resume 回来同样接上。你的投入不存在"一夜回到解放前"这个选项。
五个模式,各替你挡一类坑
绿地新项目(/supervisor):AI 从零写项目最大的风险是理解偏了你没发现,等看到成品已经晚了。监工开局把目标拷问成 spec 和 plan 给你确认,之后逐 phase 验收,偏了当场打回。监工基于项目目标充当纠偏员。你的参与时间收敛为开局二十分钟加收尾验收。
老项目改造(/rework):AI 改老代码最吓人的是"顺手"——顺手重构、顺手改测试、顺手动了你明令不让动的东西。监工先考古出基线,立回归安全网,列不改清单,每个 phase 结束用 git 双重比对范围,越界即返工。
调研(/research):AI 调研最大的坑是一脸自信的幻觉。证据分五级标注,监工亲自抽查复现关键证据,伪证一条整章重查。你拿到的报告里,每句话能追溯到来源。
提炼(/abstract):喂给它一堆材料让它总结,它要么给你"正确的废话",要么写着写着偷偷加材料。材料清单定稿即锁死,覆盖对账保证每份材料被解释或显式标反例,证伪不了又用不上的命题会被降级。
对抗审查(/adversarial):AI 审 PR、审方案、审调研报告,最大的问题是"看的人不对抗"——发现无人挑战、没看的部分无人知道。多路独立会话各持视角盲审,匿名交叉攻击后收敛;每条发现带锚点与证据分级,监工抽查核验。连续实跑零反驳时,监工还会强制抽高影响发现亲自重审攻击——对抗性来自隔离结构,不靠 prompt 里可两句"请批判性思考"。
为什么靠得住
这套东西的每个防御层后面都躺着一次真实翻车:worker 被 429 限流静默无人知晓,才有了 hook 级中断上报;监工自己劣化三个半小时无任何信号(2026-09-07 作者实录),才有了进程外 watchdog。防线一共五道,按会话的一生,这样排:
会话启动,验明正身:每个会话开局自动领到自己的 SESSION_ID(SessionStart 注入器),worker 自报的身份要过注册表交叉验证,格式不对、对不上、查无此人,都过不了登记这道门。多监工并存时,冒名顶替没有入口。
回合被掐,替它报丧:worker 回合被 429限流、网络错误、API 故障打断时(StopFailure 事件回调),中断消息hook回调直投给监工,同时在项目里落盘一份中断流水。回合结束的 worker 自己发不出任何话,报丧由事件回调替它完成,不经过模型,监工随后退避重试、让worker从断点续跑。
假装结束,揪出异常:最阴险的死法是回合"看似正常结束",实际是 model:error、模型恶化空响应、尾部退化(Stop hook 负责识别)。不抓的话监工会把假正常当完工,继续傻等。健康回合只做毫秒级的有界尾扫,零写入零打扰,只有异常回合才动账本。
落笔之前,拦住误写:Write 和 Edit 执行前机械检查(PreToolUse 守卫),写错别人的账本分片、绕过 registry 直接编辑共享 JSON,这类动作在发生前被挡下并给出正确写法,而不是事后对账追责。
会话之外,定时盯梢:以上四道都依附于某个会话的生死,watchdog 是独立于一切会话的系统进程,注册在 crontab 里每十分钟查一遍 worker 静默和监工心跳,超时直接弹桌面通知找用户,带告警去重和梯度升级,不会变成告警风暴。
能一直跑起来靠的不是运气,是结构。所有进度都在磁盘上,会话死活不影响账本;hook、cron、分片守卫全是硬代码,模型再怎么劣化,兜底照常工作,劣化的只是"判断质量",而判断错了还有对抗审查和机械校验接住。例行动作全部按可长期运行设计:重装幂等、cron 查重幂等、监工注册是 upsert 自愈的、心跳丢了能自动重建——这套东西跑一个月和跑第一天是同一个状态。
能力边界
监工不能保证永不出错,它的人格来自 claude slash commands(prompt),遵循度不是严格百分之百。整套设计的目标是把最坏后果从"不能发现"压缩成"稍晚发现"。桌面通知用 osascript,在 macOS 下可用。
单个 prompt 能干完的小活,别用这套。
30 秒开始
curl -fsSL https://raw.githubusercontent.com/ljheee/claude-supervisor/main/install.sh | bash
终端 A:/rename supervisor,然后 /supervisor 做一个XXX功能。答完它开局的问题。
终端 B(同一项目目录):/worker。
然后去干你自己的事。该找你的时候,它会弹通知。