jobs 是做什么的?
使用 runjob 将有限的工作交给已安装的无头模型 CLI,并在整个机器上维护执行账本。确认 runjob 已在 PATH 中;如果不在,则引导用户前往仓库的安装步骤,不要临时编写一个全机器安装脚本。
启动任务可能会消耗配额或产生提供商费用。将明确的请求(“调度”或“移交”工作)视为该启动的授权。请求“解释”、“检查”、“起草”或“计划”不视为启动授权。
选择执行形状
- 使用
runjob run执行一个有限的作业。它在所选工作目录中运行,不会创建分支或工作树。对于可能需要编辑或提交的工作,请使用可丢弃的 Git 工作树或批量模式。 - 使用
runjob fleet run执行多个作业,支持依赖排序、自动隔离工作树、可恢复会话或每引擎并发限制。在创建批量文件之前,请阅读 references/fleet.md。 - 使用
runjob log、runjob report和runjob dash检查已在进行中的工作。这些是只读操作;runjob repair是显式的账本修改操作。
当用户要求在当前对话内进行委派时,不要用此技能替代当前对话中的子代理。
一次性作业
对于重要指令,请使用提示文件,以便分派是可审查的:
runjob run --engine codex --effort high \
--cwd /absolute/path/to/worktree --file /absolute/path/to/prompt.md
当用户未选择 --model 或 --effort 且引擎具有合理的 CLI 默认值时,可省略这些参数。不要编造当前模型名称。当引擎特定的标志、认证或沙箱行为重要时,请阅读 references/engines.md。
runjob run 在启动后立即返回,除非提供了 --wait。请保留打印的 uid。通过以下命令检查:
runjob log --uid UID
runjob log --active
runjob report UID --json
runjob dash
日志和提示可能包含源代码或敏感指令。它们位于 ${DEV_JOBS_HOME:-~/.config/dev-jobs} 下;未经单独审查,不要发布或附加它们。
完成与移交
报告 uid、实际请求的引擎/模型、工作目录以及作业是刚刚启动还是已完成。不要将进程启动描述为成功结果。在等待时,验证终端账本状态并总结作业的实际输出,包括失败或剩余工作。
对于机器可读的作业结束,请使用 references/report-trailer.md 中的确切协议。将其字段视为作业的声明;在合并或发布任何内容之前,独立验证提交、测试和修改过的路径。