SuperAPI AI 工具集

drive-tick

通用与其它

查看项目

更新于 10-15 21:12

技能介绍

用途:drive-tick 执行 drive 循环的一次无状态迭代,读取完整状态(日志、git、适配器特定信息),决定并执行一个动作,记录结果,然后结束循环(终止状态或预算耗尽)或按记录的调度器安排下一次 tick。无论由 /loop 的 cron 触发还是用户手动调试,形态一致。

主要能力:采用 Memento 模式,先自上而下读取完整执行日志作为跨 tick 状态;通过 /tmp/drive-lock-{run-id} 锁文件做并发保护并含 TOCTOU 检查;统计已完成 tick 做预算检查,超限则写入 BUDGET EXHAUSTED 并调用 sink 升级;加载平台适配器(如 github)与 sink 适配器(local)及其数据文件;按适配器契约读取状态并生成 markdown 状态报告;处理崩溃恢复,对未提交改动与上一条日志比对,一致则提交并记录,否则升级退出;按决策树执行终止检查、收件箱处理、Do Invocation、CI 分诊与重试、维护 PR、继续;按输出协议追加日志、释放锁。

使用方式:参数全部为标志式,$ARGUMENTS = --run-id <id> --mode <manifest|babysit> --platform <none|github> --sink <local> --log <path> --max-ticks <N> [--manifest <path>] [--pr <number>]。--run-id、--log、--max-ticks 必填;manifest 模式需 --manifest,github 平台需 --pr。缺少必填参数会报错并停止。manifest 模式调用 manifest-dev:do 技能,参数为 "<manifest-path> <drive-log-path>"。

适用场景:需要按 tick 推进的自动化开发循环,支持 manifest 与 babysit 两种模式,平台可为 none 或 github,sink 为 local。

限制:babysit 模式跳过 Do Invocation,需改代码的收件箱事件通过 sink 升级人工处理;CI 分诊与 PR 维护目前仅 github 适配器提供;适配器文件缺失会报错;预算耗尽、崩溃恢复不一致、/do 返回其他类型 Escalation 等为终止状态;/do 响应格式异常时以 DO_MALFORMED_RESPONSE 升级,不在 drive-tick 内修补。其余细节暂未提供。