night-autopilot · v0.1.0 · 2026-09-29 · sha256 a5fc4fd5066e3f39
night-autopilot v0.1.0A
Immutable. This exact content never changes and is served at /api/v1/blob/a5fc4fd5066e3f39.
--- name: night-autopilot homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw) version: "0.1.0" license: MIT description: 无人值守夜间自主推进模式——用户睡前授权后,PM 会话以定时任务驱动「巡检在途 worker → 验收 PR(测试+审查+合并)→ 按队列续派 → 记录泊车」循环,持续把项目往前推,醒来自动获得交接报告。在用户说「我要去睡觉了/今晚继续推进/不间断运行/明早给我结果」并要求定时派发验收时使用。不要用于:单次后台任务(直接派发即可)、用户在场的普通编排(用 multi-agent-orchestration)、一次性定时提醒。 --- # Night Autopilot(夜间自主推进) 把「用户睡觉、PM 通宵干活」固化为可复用流程。首战:dsh-plugins 仓 2026-09-30 夜(15 分钟轮、宿主 subagent worker、两卡在途起步,用户授权全晚连续运行)。 **定位与分工**:本 skill 是**场景编排层**——定时节奏、队列锚点、验收收口、晨间交接。通道选择、派发门禁、worker 纪律、清理协议一律以其宿主规则 [multi-agent-orchestration](../multi-agent-orchestration/SKILL.md) 为准;Git/PR 规则用 git-workflow。本 skill 不重复它们的内容。 ## 1. 启动前核对(任一不满足不进入夜间模式) | # | 前提 | 说明 | |---|---|---| | 1 | **用户明确授权** | 无人值守 + 巡检频率(默认 30 分钟,用户可改)+ 大致时长(过夜)。无授权不得自设定时任务 | | 2 | **工作队列已盘点** | 可派卡与需用户项分离;卡片须过价值判据(实现类/可复用验证类可派 worker;纯调查/研究类 PM 自留);每卡有 allowed files 与验证命令 | | 3 | **安全边界成文** | 生产环境(如真实桌面/服务器)、主检出归属(并行会话)、禁改目录、禁装依赖、禁发布——写进 worker prompt 与队列锚点 | | 4 | **交付通道明确** | worker 只交 PR 不合并;PM 独立验收(角色分离)后才合并 | | 5 | **恢复锚点落盘** | 队列状态(在途/待派/泊车/完成)写入持久文件——会话上下文可能被摘要,锚点必须独立可恢复(项目记忆文件或仓库内 notes) | ## 2. 启动序列(用户睡前完成,五步) 1. **加载 SOP**:读 multi-agent-orchestration,按其通道判据选型——中小任务卡(≤1h)、质量敏感、宿主额度充裕时**宿主 subagent 首选**(无进程/分支开销,完成权威=PM 验收)。 2. **建定时任务**(CronCreate 或宿主等价物): - 频率按用户(如每 15 分钟:cron `*/15 * * * *` + intervalUnit minute + interval 15);title 带自然语言频率(改频率时 title 同步改)。 - prompt 用 §3 模板,必须自包含(不假设用户在场回答问题)。 3. **写队列锚点**:持久文件记录队列状态 + rails + 停止条件(模板见 §5)。 4. **立即派发首批 worker**(睡前把机器跑起来):每卡一个后台 subagent,prompt 含任务卡/allowed files/禁止项/scoped 验证命令/交付协议/四段自陈模板。活跃 worker ≤3、PM 待验收 >2 时停止扩波。 5. **睡前报告**:已派什么、护栏是什么、早上会看到什么(完成/泊车/待决策三类)。 ## 3. 每轮巡检模板(cron prompt 骨架) 按序执行,全部走工具调用,不向用户提问: 1. **在途巡检**:非阻塞查后台 worker 状态。 2. **验收完成的**:读报告与 PR → diff 范围核对(allowed files 内)→ 跑全套测试 + 机械审查/lint → **全过才合并** + 删远端分支 + 同步本地 main + 更新任务源;不过则在 worker 分支上修(小修)或留 PR 评论待晨审(夜间宁保守)。 3. **续派检查**:活跃 <3 且待验收 ≤2 时,从锚点队列取下一卡派发。 4. **PM 自留项**:研究/巡检类(如上游版本差异、并行会话 PR 审查)——不派 worker,PM 轮内自己做或推进。 5. **纪律执行**:越界/停滞/失败按退避处理(worker 连续 2 次同类失败 → 泊车记录,不盲目重拉);不可判定 → 记录后跳过。 6. **更新锚点**:每轮结束写回队列状态;队列只剩需用户项 → 本轮只巡检记录,不空转派发。 ## 4. 验收纪律(夜间与白天的差别) - **合并标准不降**:全套测试绿 + lint 0 FAIL + diff 在范围 + 声明如实(NOT_VERIFIED 不拔高)。夜间无人兜底,**宁可留 PR 待晨审,不勉强合并**。 - **小修闭环**:验收发现小问题,PM 在 worker 分支补修后重验(注明);大问题整卡泊车。 - **每完成节点即提交**(合并/泊车都落账),锚点随时反映真实状态。 ## 5. 队列锚点模板 ```markdown ## 夜间运行授权与 rails 授权(日期+频率)/ 禁碰清单(生产环境、主检出归属、禁改目录)/ worker 纪律(专属 worktree + 基线 + PR 交付 + 合并即删)/ 停止条件。定时任务 id。 ## 工作队列状态(每轮更新) 1. [在途·workerX] 卡名(要点 + allowed) 2. [PM 自留] 研究项(已知线索) 3. [待派] 卡名(派发前置) 4. [巡检项] 依赖项(如并行会话 PR) ## 停止条件 只剩需用户项时只巡检;用户醒后删除定时任务。 ``` ## 6. 晨间交接 - 汇总三类:**已完成**(PR 列表+去向)、**泊车**(原因+证据,通常是验收不过/语义不可判定/依赖未出现)、**待用户决策**。 - 提醒用户删除定时任务(或用户说停即删)。 - 清理一次性资源:worker worktree、已删分支残留。 ## 7. 边界与已知限制 - **会话绑定**:定时任务属当前会话,会话终止即停(不自称持久控制器;跨会话持久调度需宿主级方案)。 - **额度共享**:宿主 subagent 与 PM 共享额度,撞限时在途全灭——巡检发现额度停滞按 multi-agent-orchestration 的 429 恢复纪律退避。 - **不能做需用户在场的事**:GUI 验证、生产实例操作、付费授权等——这些留在「待用户决策」清单里,夜间不碰。 - 每轮时长自限(巡检+验收+一卡推进),不做无界长任务。