面向 AI 原生开发者的异步执行层,通过多 Agent 协作在夜间自动将 PRD/Issue 转化为 Pull Request。
Night Watch CLI 是一个基于 Node.js 的本地命令行工具,采用 Turborepo 管理的 Monorepo 架构,通过 TypeScript 编写并使用 esbuild 构建。其核心机制是利用 Git Worktree 为每个任务创建隔离环境,并通过内置的五大 Agent(Executor、Reviewer、QA、Slicer、Auditor)按不同频率协同工作,实现从需求拆分、代码实现、自动打分到 e2e 测试的完整闭环。
异步执行与隔离机制#
- 队列式任务调度:支持将 PRD 文件或 Board 上的 Issue 入队,后台逐项执行,次日交付 PR。
- Cron 自动化:通过
night-watch install一键配置 cron 定时任务,实现无人值守。 - Git Worktree 隔离:每个任务在独立的 git worktree 中运行,确保主分支环境干净。
多 Agent 协作系统#
- Executor(每小时):读取 spec 并实现代码,创建 PR。
- Reviewer(每 3 小时):对生成的 PR 进行 0-100 分打分,低分 PR 会被打回修复,高分 PR 可自动 merge。
- QA(每日 4 次):自动生成并运行 Playwright e2e 测试。
- Slicer(每 6 小时):将大型 Epic 智能拆分为细粒度的可执行子任务。
- Auditor(每周):全局扫描代码库质量(如检测未使用的依赖)。
LLM Provider 生态#
- Claude CLI:默认 Provider,支持
--dangerously-skip-permissions自动模式。 - Codex CLI:支持
--yolo自动模式。 - 兼容端点:支持 GLM-5 及任何 Anthropic 兼容端点,通过
providerEnv灵活配置。
可观测性与管理#
- Board 管理:提供 Draft → Ready → In Progress → Review → Done 的完整生命周期追踪。
- Web Dashboard:内置 Web UI(默认
localhost:3000),基于 SSE 实时推送 Agent 状态与执行进度,无需外部托管。
安装与快速开始#
npm install -g @jonit-dev/night-watch-cli
cd your-project
night-watch init
night-watch doctor
night-watch run --dry-run
night-watch board create-prd "Implement feature X" --priority P1
night-watch run # 单次运行
night-watch install # 安装 cron 定时任务
核心配置 (night-watch.config.json)#
{
"provider": "claude",
"providerEnv": {
"ANTHROPIC_API_KEY": "your-api-key",
"ANTHROPIC_BASE_URL": "https://your-endpoint.example.com"
}
}
适用场景#
主要适用于边界清晰、可独立执行的 bounded tasks(如 Bug 修复、依赖升级、QA 回归、文档更新等)。整个工作流坚持 Human-in-the-loop 原则,支持配置自动合并阈值,采用 MIT 协议开源。
不适用场景:需求模糊且需要频繁迭代澄清的探索性工作;团队规范不接受 AI 直接生成 PR 的场景;需要实时结对编程交互的场景。
待确认信息#
- 官网标注 "v1.0 is now live",但 GitHub Releases 页面无正式 tag/release,具体版本号需以 npm 实际发布记录为准。
- npm 下载量与发布详情受 Cloudflare 挑战页面限制,未能获取。
- GitHub 组织为
jonit-dev,README 中未披露具体团队成员背景。