SuperAPI AI 工具集

pr-address

编程与开发

查看项目

更新于 10-16 03:50

技能介绍

PR Address 是一个面向 GitHub Pull Request 工作流的自动化技能,核心目标是逐条处理审查评论并持续循环,直到 CI 通过且所有评论均已解决。它会在用户提出处理评论、修复 PR 反馈或回应审查意见时触发。

用途

该技能用于自动化 PR 审查反馈的处理循环。它把“找 PR、读上下文、抓评论、修复、提交、推送、回复、解决、等 CI”整合成一套可重复执行的流程,帮助在大量审查意见和多次审查周期下不漏评论、不误报完成。

主要能力

  • 查找 PR:通过 gh pr list --head $(git branch --show-current) --repo Significant-Gravitas/AutoGPT 定位,并用 gh pr view 查看。
  • 阅读 PR 描述:使用 gh pr view {N} --json body --jq '.body' 获取 Why / What / How 上下文。
  • 抓取多来源评论:
    • 内联审查线程(GraphQL,主要可执行项来源)。
    • 顶层审查(REST,需 --paginate)。
    • PR 会话评论(REST,需 --paginate)。
  • 分页与去重:GraphQL reviewThreads 每页最多 100 条且按最旧优先返回,必须循环到 hasNextPage == false,不能因某页未解决数为 0 就停止;收集后 reverse 使最新评论优先处理。
  • 逐条处理:fix → commit → push → inline reply → resolve,禁止无真实提交就调用 resolveReviewThread。
  • 覆盖率与格式化:运行后端 poetry run format、前端 pnpm format && pnpm lint && pnpm types,并在 API 路由变更时重新生成前端客户端。
  • 合并冲突处理:git pull {base-remote} {base-branch} --no-rebase,检查冲突标记后提交推送。
  • CI 轮询:每 30 秒检查 gh pr checks、mergeable 状态和新评论,CI 变绿后继续轮询两轮再退出。

使用方式

技能以命令和流程说明的形式给出,主要通过 gh CLI 和 Git 操作执行。典型流程为:定位 PR → 读取描述 → 分页抓取三类评论 → 逐条修复并推送 → 内联回复并解决 → 轮询 CI 与新评论 → 直至全绿且无新评论。回复评论时使用完整的 commit SHA:FULL_SHA=$(git rev-parse HEAD),再以 markdown 链接形式回复。禁止推送空提交来触发 CI。

适用场景

适用于维护活跃 GitHub PR、需要应对多轮审查意见(含机器人审查如 autogpt-reviewer、sentry[bot]、coderabbitai[bot] 及人工审查)的场景,尤其是评论数量多、跨多页、容易漏掉最新未解决线程的情况。

限制

  • 所有命令均以 Significant-Gravitas/AutoGPT 仓库为例,其他仓库需自行调整 owner/name 与仓库路径。
  • 存在三类不同的 GitHub 速率限制,GraphQL 被限流时需查看 REST 回退方案;文档在此处截断,具体回退细节暂未提供。
  • 只有两种情况允许解决线程:真实代码修复(已提交推送并以 SHA 回复)或确证为误报并有具体技术理由。
  • 覆盖率目标为变更行 80%(Codecov patch),检查为信息性而非阻塞。
  • 平台支持情况、收费方式等暂未提供。