夜间队列

v0.8.6 起,可将一批 Agent 任务写入工作区 夜间队列,离线或定时批量跑完,并用 Gate-as-Code 验收;失败可按策略回滚并生成早会 briefing。

在哪里操作

入口 作用
侧栏 夜间队列 入队、查看状态、运行队列、生成 briefing
设置 → 定时任务 RRULE 触发「夜间队列入队 / 运行夜间队列」
CLI zagens queue add|list|run|briefing

队列持久化在工作区 .zagens/night_queue.json;事件日志 .zagens/queue_events.jsonl;briefing 合并进 .zagens/handoff.md

典型流程

  1. 入队 — 填写 prompt;可选 Gate 预置 / 内联谓词;可选 git worktree 隔离
  2. 运行队列 — 按序(或受限并行)执行 Agent + 门禁。
  3. 门禁 — 通过则标记已通过;失败可触发快照回滚。
  4. Briefing — 汇总结果写入 handoff(可用 --office 导出 Office 包)。

任务状态:待运行 / 运行中 / 已通过 / 失败 / 已回滚。

CLI 示例

# 入队(内置预置门禁)
zagens queue add "修复失败的测试" --gate-preset rust-cargo-smoke

# 自定义门禁文件
zagens queue add "补文档" --gate-file path/to/gate.toml

# 内联谓词
zagens queue add "确保 README 存在" --gate file_exists:path=README.md

zagens queue list
zagens queue run
zagens queue briefing
zagens queue briefing --office

常用标志:--no-worktree--max-parallel N--no-briefing。完整说明见 Headless CLI

与定时任务、Hooks

触发类型 行为
夜间队列入队 到点把 prompt(及可选 gate)写入队列,不执行
运行夜间队列 到点跑 pending 任务(Agent + gate + 可选 briefing)

建议:白天/傍晚用「入队」定时任务攒活,夜间用「运行」定时任务批量消化。

Hooks 事件:night_queue_enqueuenight_queue_run_startnight_queue_run_end — 见 Hooks

Gate 预置(内置)

预置 ID 用途
rust-cargo-smoke cargo check + cargo test
go-build-vet go build / go vet / tests
deliverables-min deliverables/** 存在(无 shell)
go-microstack-migrated 迁移示例门禁

列表与校验:zagens gate list / zagens gate validate — 见 Gate-as-Code

建议

相关:Gate-as-Code · 定时任务 · Hooks · CLI