持续运行与任务队列
把已经验证的有限流程变成常驻运行前,需要为它补上队列边界、失败处理、监控和停止方式。本页说明运行流程,参数表见运行参数参考。
先确认执行支持
evolver --version
evolver cycle capabilities --json
evolver lifecycle status
分别检查采集、注入、执行、验证和恢复能力。当前内置 Claude、Codex 和 Cursor 自主执行关闭,Gemini 与独立 llm 文件执行器为实验能力。不能以“成功导入某宿主会话”推断它能在后台执行。
建立有限闭环
先在隔离仓库准备一项材料、明确目标与验证命令,记录 HEAD 和已有改动。限定单次处理数量和超时,检查周期结果、实际 diff 与验证证据。成功、没有材料和验证失败三条路径都应有明确结果。
cycle 处理材料;autoexec 消费任务队列并承担常驻维护;lifecycle 管理服务。按需要选择,不将旧版 evolver --loop 当作所有流程的统一入口。
独立 LLM 文件执行器
--runner llm 不依赖编码 Agent CLI。它通过模型接口执行受限文件任务,只提供列目录、读取和写入文件工具,不让模型选择进程或脚本。该执行器属于实验能力;仅在隔离目录中启用,并逐项验证文件改动。
| 配置 | 默认值或要求 |
|---|---|
EVOLVER_LLM_API_KEY | 必需;未配置时读取 OPENAI_API_KEY |
EVOLVER_LLM_BASE_URL | https://api.openai.com/v1;远程接口必须 HTTPS,仅回环地址允许 HTTP |
EVOLVER_LLM_MODEL | gpt-4.1;应显式选择账号可用的模型 |
EVOLVER_LLM_API_BACKEND | chat-completions,也可明确选择 responses;不自动猜测协议 |
EVOLVER_LLM_MAX_TURNS | 12,允许 1–64 |
EVOLVER_LLM_MAX_FILE_BYTES | 65536,最高 1 MiB |
cycle 必须提供 --validation-spec <file>:不超过 64 KiB 的普通 JSON 文件,包含 version: 1 与非空 files 数组,每项为相对 path 和预先确定的 sha256。验收规格在领取材料前冻结,模型不能用自己的输出重新定义成功。运行使用私有 worktree 和清理后的环境;不支持 --resume,不能与 --validation-cmd 混用。
这项验证检查最终字节与预定摘要、额外改动;它不运行项目测试,也不证明功能正确或提供操作系统沙箱。真实供应商请求和打包产物执行需分别验收;文件摘要匹配不能证明这两项结果。期望内容无法预先确定时,选择具备相应验证能力的流程,不能让模型自己填写预期摘要来制造通过。
准备一个受控的运行实例
为实验实例选择独立 home 和隔离仓库,不复用生产队列。下面是 <home>/autoexec/config.json 的有效配置结构,替换仓库路径后再保存:
{
"allowedRoots": ["/absolute/path/to/isolated-repository"],
"pollMs": 30000,
"timeoutMs": 600000,
"runner": "llm",
"workflowValidationProfiles": {
"project-checks": ["npm test", "npm run build"]
}
}
本例选用上文说明的实验 llm 执行器,不表示任意任务都获得执行支持。验证配置只定义命名命令集,任务还需实际引用对应 profile;它不能替代 llm cycle 所需的冻结文件验证规格。只在项目确有这些脚本时使用示例命令。
启动前在服务环境设置 EVOLVER_TASK_RECEIVER=0、EVOLVER_ATP_AUTOBUY=off 与 EVOLVER_ATP_AUTODELIVER=off,准备执行器所需凭证并检查既有队列。先观察一个明确任务的状态和产物,再扩大持续运行范围。队列文件、运行日志和实际 diff 分别留存。
区分任务状态
| 观察结果 | 能证明什么 | 仍需确认 |
|---|---|---|
| 进程存活 | 服务在运行 | 是否正在处理目标任务 |
| 任务进入队列 | 本地已接收待处理项 | 白名单、执行器和资源是否满足 |
| 已开始执行 | 执行器承接任务 | 验证是否完成、产物是否可用 |
| 本地验证通过 | 对应检查通过 | 远端提交是否被接收 |
| 已停止新领取 | 不再承接新任务 | 已承接任务及队列的最终结果 |
配置修改需要重新启动 autoexec;发送 SIGHUP 不会热重载配置。策略权重与文件限制见进化策略与边界,本页集中处理运行、队列与恢复。
接入常驻运行
- 配置所选 home 的
autoexec/config.json,只加入已批准的 allowedRoots。 - 核对执行器的真实支持,配置超时和工作流验证命令。
- 先在前台有限时间观察队列与日志,确认慢周期不会叠加。
- 分别启用所需 Hub 与外部行为,再配置受管服务。
- 记录服务所属用户、home、日志、重启方式和恢复负责人。
空白白名单禁止执行;常驻进程存活不能证明任务完成。
停止与恢复
停止对应进程或受管服务后,检查周期、队列、未完成提交和远端状态。保留能继续的成果,只重试未完成部分。Git 恢复不能撤销远端副作用;先对账再重启。
持续循环不自动扩大权限、不自动授予资产发布资格,也不会让另一个 Agent 应用自动消费终端输出。