





















写代码的时候想刷 Claude Code ,但 5h 窗口动不动就打爆、网络抽筋一两次任务就死、人还得盯着, 所以做了个轮子,叫 Vigil (守夜人)—— 别人休息的时候保持警觉。
简单说,你 vigil add 几条 prompt ,vigil start 一开就一条条 spawn claude -p 帮你跑。
每个任务跑在独立的 git worktree 里(~/.vigil/worktrees/<id>/,源仓库永远不会被动到),
分支叫 vigil/<id>-<slug>。跑完按 Conventional Commits 自动 commit + push 到 origin 。
早上起来你看到的是一摞等审的分支 —— 想要的 merge ,不要的 vigil discard 删掉。
几个自己觉得有用的设计:
5h 配额真实可见:claude -p 的 stream-json 只发个鸡肋的 overage 标记,看不到真 5h 用量。
Vigil 跑一个长驻 PTY sidecar 通过 Claude Code 的 statusLine 拿到 Anthropic 真给的
five_hour / seven_day 数据,每个任务的 report 都带快照。
撞墙不预测:只在 server 把 limiter 翻成 blocked(窗口越界)或 rejected(请求被 429 )
时才暂停,resume_at = limiter.resets_at + 60s,直接用 Anthropic 自己给的数据。
不猜阈值、不预暂停。到点恢复时 --resume <session_id> 接回同一个 Claude session,
对话历史完整保留,不会丢上下文重新扫工程。
瞬时失败自动重试:「 Stream idle timeout - partial response received 」这种网络层抽筋
自动重试 3 次( 30s / 60s / 120s backoff ),同样 --resume 接回同 session ,prompt cache 还热,
每次重试几分钱。第 4 次还失败才标 FAILED 。
永远不自动合并:任务终态永远是一个等你审的分支。让无人值守 agent 自动 merge 是 丢系统信任的捷径,review 恰好是人类擅长的事。
Self-summary:跑完 --resume 让 Claude 自己出一份结构化 JSON 总结(决策 / 假设 / 跳过 /
合并风险 / 置信度),cache 命中几分钱。
Scope hook:任务可声明 --scope-write 'src/auth/**',PreToolUse hook 拦截 Edit/Write/
MultiEdit/NotebookEdit ,越界写文件被结构化拒绝。
DAG 任务依赖:--depends-on t001 自动从前置任务的分支末梢 fork ,串行重构能拿到上一步成果。
Web 仪表盘:vigil web 起一个本地 SPA ,列表 + 筛选 + 单任务详情 + 删除 / 清空。
技术栈 Python 3.11+ / Click / SQLite / FastAPI 。需要本地装好 claude CLI (已登录)、git 2.30+。
MIT license 。
v0.1 预发布,功能完整正在试用,欢迎拍砖。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。