成为赞助商——支持中文 Agent 生态

了解赞助
库Agent场景库
← 返回用例列表

AnyRouter:本地签名 CI + 按提交审 + 小时级部署环

对照团队实践:关掉 Actions 常规 CI 后,用本机签名门禁、按 commit 绑定的评审状态、单一 merge 脚本与约每小时门控部署,让 Agent 周合数百 PR;不代你关 Actions、不外推吞吐。

场景说明

面向小团队高吞吐 Agent 发版:把「人点按钮合代码」写成可对账的 local-ci→review→merge→deploy 环,区别于舰队修 CI 与一键出 PR 的 Minions。

案例叙事

01他们做了什么

AnyRouter 团队在《How agents ship AnyRouter: the merge and deploy loop》(页内/JSON-LD datePublished=October 26, 2026 → 2026-10-26)写明:小团队+大量编码 Agent——领 issue、在独立 worktree 写修复、互相开 PR、互相审、合入并部署;人定规则并做只有人该做的决定。文称 2026-10-19 至 10-25 一周合入 main 346 个 PR(最忙日 71、最闲 29);10-05 至 10-25 三周合入 1111。数字来自 git 历史/GitHub API/仓内脚本。

为省钱关掉 GitHub Actions 常规 CI,只留 release 工作流;门禁迁到本机 `pnpm local-ci`(约 2026-10-04 落地):串行跑(机器约 15GB 内存扛不住并行),含约 18 个常驻仓护栏(迁移编号、schema drift、导入边界、生成配置过期、PR 正文格式等)+ 按变更 scoped 的 biome/typecheck/`vitest related`。关键:在「PR 合到当前 main」上跑,而不是只跑分支;通过后由单一 bot 账号发 `local-ci` commit status,状态写明闸门计数与日志 sha256,其他账号绿标不算。

另有独立评审会话:对照校验清单读 diff、重跑可疑处,批准绑在确切 commit(`approve-pr.sh`);头已变则拒绝。合并只走 `merge-pr.sh`:拒绝 release PR、无签名 local-ci、无 review 状态/标签、带 `review:changes` 者;squash 用 `--match-head-commit` 防合入未审头。曾因管道取末命令退出码放过红 PR,现检查单独跑并留注释。部署不跟 push:`gh-loop` 约每 3 分钟轮询,自上次部署有变更且至少隔 30 分钟才开部署道;要内存/磁盘门槛,最多 3 条重车道;顺序含 D1 Time Travel 书签(取代曾让 API 宕 2–4 分钟的全量导出)、部署前后冒烟与按变更 Worker 上传、失败回滚。敏感路径(迁移破坏性改写、计费、auth、密钥、法务、对客)由表驱动 skip 且有测试防删。本场景据此输出「发版环」提纲。禁止建议为省钱关掉所有门禁。

02实际效果

  • 源披露 2026-10-19–25 一周合入 346 PR、三周 1111、其中一周 342/346 带 review:approved,以及样机部署日志(如 10-26 至 17:00 UTC 15 成功/2 失败、中位约 520s 等);属作者仓窗口统计,不可外推为你的吞吐或 SLA。
  • 能把「再开一个 Actions 工作流」与「本机签名状态+按提交评审+单一 merge/deploy 脚本」拆开。
  • 为敏感路径 skip 表、管道退出码陷阱与 D1 书签替代全量导出提供提问清单。

03值得知道

  • 本机 CI 依赖单机资源与 bot 账号信任;签名机制被旁路≈门禁失效。
  • 高吞吐依赖大量 Agent 工时与严格 skip 表;照搬数字无意义。
  • 上面写的是团队发版实践复盘,不是 AnyRouter 产品 SLA。

04可复制提示词

Agent 发版环简报

你是小团队 Agent 发版助手。只根据用户约束写 merge/deploy 环提问清单,不要编造已合入。

是否仍用托管 CI:{{hosted_ci}}
本机内存预算:{{local_ram_gb}}
必须人合的路径:{{human_only_paths}}
部署节奏目标:{{deploy_cadence}}

输出 Markdown:
1. local-ci 常驻护栏 vs scoped 检查
2. 评审如何绑定确切 commit
3. merge 脚本硬拒绝条件
4. 部署前书签/冒烟/回滚最小集
禁止建议删除敏感路径 skip;禁止声称周合入已达某数。

红 PR 被合入的复盘提纲

一次失败检查仍被 merge,请写复盘提纲。

现象:{{symptom}}
当时管道/脚本片段:{{pipeline_snippet}}
是否有签名状态:{{signed_status}}

输出:
1. 是管道取末退出码、状态账号被伪造,还是 head 漂移
2. 最小补丁(单独跑检查/--match-head-commit/账号白名单)
3. 回归测试应锁住哪条规则
4. 人工确认清单
不要伪造「以后永不合错」。

怎么做

  1. 粘贴仓库规模、是否仍用 GitHub Actions、以及迁移/计费/密钥类变更是否必须人合
  2. Agent 按实践帖输出:本机签名 CI→按 commit 绑定评审→单一 merge 脚本→轮询部署与回滚提问清单
  3. 人工保留 release/敏感路径合并权;Agent 不代你关托管 CI、不持生产密钥

实用提示

  • 源帖关键纪律:审批绑在确切 commit 上——评审跑完若有人再 push,脚本拒绝,因为 live head 已不是审过的代码
  • 与 fleet-ci-fix-ship-prs / stripe-minions-oneshot-pr-agents / code-review-pr-agent 不同:本条是本机签名门禁+按提交评审状态+小时级门控部署的发版环,不是远端舰队修 CI、Slack 一键出 PR 或通用 CR 机器人
#Agent 发版#local-ci#按提交评审#部署门禁#团队实践