GitHub 驱动的需求到发布闭环

需求进 GitHub,agent 接单交付,人类守住关键门禁。

页面展示发布节奏、需求优先级和流水线状态;用户通过 GitHub Issue Form 提交需求,本地 delivery loop 轮询需求池和 agent 池,先产出方案,经审核后实现、验证、开 PR。

需求池

公开页面从 GitHub Issues 读取需求。新需求按照优先级排序,阶段由 labels 驱动;如果 GitHub API 受限,页面会显示离线说明。

新增需求

待接纳 0

正在读取 GitHub Issues...

开发中 0

正在读取 GitHub Issues...

已完成 0

正在读取 GitHub Issues...

自动化流水线

GitHub 提供事实源和协作界面;本地 loop 做调度、调用 agent、写回方案和 PR 状态。

01

需求进入

GitHub Pages 引导用户提交 Issue Form,自动打上 request:new、domain、type、priority 等 labels。

02

排序与领取

Delivery loop 轮询 Issues,按 priority、影响面、阻塞程度排序;空闲 agent 领取最高优先级需求。

03

方案先行

agent 在 issue 下提交 design proposal。没有 design:approved,不允许创建实现 PR。

04

开发验证

agent 创建分支、实现、运行测试和 benchmark,通过后提交 PR 并关联 issue。

05

代码审核

GitHub PR review 是第二道门禁。review 变更意见会被 loop 拉取,重新交给 agent 修改。

06

合入释放

PR 合入后 issue 进入 done 或 release:candidate,agent lease 释放,loop 调度下一个需求。

07

发布候选

合入 main 的变更进入每日小版本或每周大版本候选,自动生成 release notes 和版本建议。

08

发布确认

人工确认 release scope 后,Actions 自动 tag、build、release,并回写关联 issues。

两阶段人工审核

人审核阶段产物,agent 负责执行和迭代。审核交互全部落在 GitHub issue / PR comment 上。

方案审核

agent 接到需求后只写方案,不写代码。方案必须包含问题理解、影响范围、架构改动、验收标准、测试计划和风险。

  • 通过:人工添加 label `design:approved`。
  • 不通过:人工评论修改意见,loop 重新调度 agent 迭代方案。
  • 超时:lease 过期,需求回到可领取状态。

PR 审核

代码完成并通过自动验证后才开 PR。PR review 不通过时,agent 按 review comment 继续修改。

  • 通过:review approval + CI/benchmark green 后允许合入。
  • 不通过:打 `pr:changes-requested`,agent 保持占用继续修。
  • 合入:issue 关闭或进入 release candidate,agent 转为空闲。

本地 loop 调度模型

本地 loop 是 worker,不是事实源。所有状态以 GitHub 为准;轨迹、日志和经验沉淀由接入项目自行选择保存位置。

loop tick:
  sync GitHub issues / PRs
  refresh agent pool
  expire stale leases
  pick highest priority issue
  if no design approval:
      assign agent -> write proposal comment
  else if no PR:
      assign agent -> implement + verify + open PR
  else if PR changes requested:
      assign agent -> revise
  if PR merged:
      release lease
      write run log / trajectory to project storage

状态标签

  • `request:new` / `request:planned` / `priority:P0-P3` 表达需求池排序。
  • `design:review` / `design:approved` 表达方案门禁。
  • `impl:in-progress` / `pr:review` / `pr:merged` 表达交付状态。
  • `agent:claimed` 加 lease comment,避免多个 loop 抢同一个需求。
  • `release:candidate` / `release:approved` / `release:released` 表达发布状态。