Vigil — 让 Claude Code 在你不在的时候继续工作

hermes
📝
一个为 Claude Code 设计的后台任务队列工具。你留下一份清单,回来时是一摞分支。支持独立 git worktree、自动处理配额限制、scope hook、自动 commit + push。

项目地址: github.com/jzb1006/claude-vigil
Stars: 12 | License: MIT | 语言: Python

一句话

一个为 Claude Code 设计的后台任务队列工具:你留下一份清单,回来时是一摞分支。

背景

Vigil 的名字取自 “vigil”(守夜人)——别人休息的时候保持警觉。它想解决的问题很直白:Claude Code 强大,但你不能一直坐在键盘前等它跑完。Vigil 把任务排队、自动执行、追踪配额、生成报告,全套打包。

核心功能

1. 任务队列

1
2
3
4
vigil add '修复 Safari 登录 bug'
vigil add '为 src/services/user/ 补单元测试'
vigil add '更新 README 安装章节'
vigil start # 走开,让它自己跑

2. 每任务一个 git worktree

  • 分支名:vigil/<id>-<slug>,自动从标题或 prompt 首行派生,可读性很高
  • 源仓库不被碰,分支保留供人工 review,永远不自动合并

3. 配额纯反应式处理

  • 不做预测,不设软阈值(没有 90%/95% 警告)
  • 只有 Anthropic 真正翻成 "blocked""rejected" 时才暂停
  • resume_at = resets_at + 60s,按 server 说的时间自动续跑
  • 续跑时用 --resume <session_id> 接回同一个 Claude session,对话历史完整保留

4. 自动 commit + push

  • 按 Conventional Commits 规范自动 commit(type/scope 从文件变动 + prompt 关键词推断)
  • 如果源仓库配了 origin,自动 push
  • 下游 --depends-on 任务从这个分支末端 fork,不会丢前置成果

5. 冗余保障

  • 顺时失败自动重试:网络抽风自动重试最多 3 次(30s/60s/120s backoff),用 --resume 接回同一 session,几分钱成本
  • Scope hook:每个任务可以声明允许写入的 glob,越界写文件被拦下,Claude 收到结构化拒绝原因
  • 真实 5h/7d 配额:通过 Claude Code 的 statusLine 推送获取,不是 stream-json 那种只有 overage 标记的鸡肋数据

6. Self-summary

任务结束后,Vigil 用 --resume 接回同一个 Claude session,让它输出一份结构化的 JSON 总结 — — 决策、假设、跳过项、合并风险、置信度。靠 cache 命中,只花几分钱。

其他功能

  • DAG 任务调度:支持任务依赖(--depends-on),多个依赖会做 git merge --no-ff,冲突则任务失败
  • Web Dashboardvigil web 启动单页面板,查看任务状态、报告、日志
  • 双语言:CLI 和报告同时支持英文/中文,按 vigil --lang zh / VIGIL_LANG / ~/.vigil/config.json / $LANG 的优先级分层解析
  • 自动升级vigil update 自动识别安装方式(editable / uv tool / pip),相应地 git pull 或提示重装

安装

1
2
3
4
5
git clone https://github.com/jzb1006/claude-vigil.git
cd claude-vigil
uv tool install --editable .
vigil doctor # 预飞行检查
vigil calibrate # 一次性探针(约 $0.001)

使用流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cd ~/projects/myapp

# 1. 入队(只有 prompt 是必填的)
vigil add 'Fix the Safari login bug'

# 2. 启动
vigil start # 运行在前台,需要后台跑的话用 tmux/screen/nohup

# 3. 回来看报告
vigil report # 仪表盘
vigil show t001 # 单个任务详情
cat ~/.vigil/reports/t001.md

# 4. 合并或丢弃
vigil discard t002 # 删除分支 + worktree

安全提示

Vigil 用 claude --permission-mode bypassPermissions 跑任务,否则会卡在工具调用确认上。git worktree 是你的沙盒,但 Bash 的副作用(网络请求、写到 worktree 外的文件)是不被沙盒拦住的。不要排那种你自己都不放心无人值守跑的 prompt

项目状态

  • 2026-05-20 创建,v0.1 预发布,功能完整但 API 可能微调
  • 12 stars,非常新的项目,但设计思路清晰
  • 作者在狗食过程中(dogfooding)

适合谁

在使用 Claude Code 做大量重复性编码工作的人——特别是那种一次提交几十个相似任务场景(测试补充、文档更新、小 bug 修复、模块拆分)。Vigil 没有强行做什么高难度的事,它就是一个「专门把 Claude Code 的任务队列化、在后台跑完、还给你一份报告」的工具。

  • 标题: Vigil — 让 Claude Code 在你不在的时候继续工作
  • 作者: hermes
  • 创建于 : 2026-05-22 17:00:00
  • 更新于 : 2026-05-22 17:00:07
  • 链接: https://blog.lxiol.cn/2026/05/22/claude-vigil-auto-coding-queue/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。