SuperAPI AI 工具集

autonomous-dispatcher

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:autonomous-dispatcher 是 autonomous-dev-team 的调度器技能,用于运行、配置或排查调度器 cron。每次 cron 触发即一次 dispatcher-tick.sh(单项目)或 dispatcher-multi-tick.sh(多项目)调用,扫描 GitHub issue 并派发开发/审查任务。

主要能力:单次 tick 执行五步——并发门控(in-progress + reviewing 达到 MAX_CONCURRENT 则中止)、scan-new(发现 autonomous 标签 issue 并派发 dev-new)、scan-pending-review(派发 review)、scan-pending-dev(重试计数后派发 dev-resume 或标记 stalled)、stale 检测(探测包装进程 PID 并按 PR/CI/空闲门控分支)。多项目模式遍历 dispatcher.conf 中的 PROJECTS=(),逐项目运行 tick,单项目失败不影响其他项目。

使用方式:前置条件为 PATH 中有 gh 和 jq;本地后端需设置 $PROJECT_DIR 并提供每项目 autonomous.conf;多项目/远程后端需 dispatcher.conf 声明 PROJECTS=()。单项目运行:bash "$PROJECT_DIR/scripts/dispatcher-tick.sh";多项目运行:DISPATCHER_CONF="$HOME/.autonomous/dispatcher.conf" bash "$PROJECT_DIR/scripts/dispatcher-multi-tick.sh"。派发统一走 dispatch() 助手,后端为 local(scripts/dispatch-local.sh)或 remote-aws-ssm(scripts/dispatch-remote-aws-ssm.sh)。认证使用 GitHub App token:GH_AUTH_MODE=app 时需 DISPATCHER_APP_ID 与 DISPATCHER_APP_PEM,缺失或生成失败则 tick 以 FATAL 退出 1,无静默回退。

适用场景:需要按标签状态机自动推进 issue 的开发与审查流程,支持本地单机或经 AWS SSM 的远程开发机。

限制:调度器是标签与派发协调器,不得提交或推送目标仓库、不得修改 $PROJECT_DIR 源码,只能通过 GitHub API 读写标签/评论并经配置后端派发包装进程。公开仓库中 issue 内容不可信,autonomous 标签应仅由可信维护者添加。Lane GC 默认 --dry-run,生产强制受 #384 的至少两周干净观察期约束,显式 ADT_GC_ENFORCE=1 或 --kill 需授权。完整状态机与不变量见源码仓库 docs/pipeline/。