用途:在 GitHub 仓库中筛选出需要人工关注的开放 PR,重点是同时带 security 和 priority: high 标签的 PR,并理清它们与 issue 的关系,发现重复或相互取代的情况。
前提条件:需安装并已通过身份验证的 GitHub CLI(gh);需处于目标 GitHub 仓库中,或由用户指定 OWNER/REPO。
主要能力与使用方式:
- 获取候选 PR:gh pr list --label security --label "priority: high" --state open --limit 50 --json number,title,author,headRefName,labels,body,createdAt;结果为空则直接报告并停止。
- 提取关联 issue:从 PR 正文中识别 Fixes/Closes/Resolves #NNN、Related Issue/Linked Issue 中的 #NNN、标题中的 (#NNN)、分支名中的 issue 编号,建立 PR 到 issue 的映射;无匹配则标记为无关联 issue。
- 检测重复:按关联 issue 分组,同一 issue 有两个及以上开放 PR 即视为重复组;对组内各 PR 获取摘要辅助取舍。
- 检查被取代 PR:识别正文中含 follow-up to / supersedes / replaces / folds in #NNN 且指向候选列表中其他开放 PR 的情况。
- 输出汇总:先以表格列出重复与被取代的 PR,再列出无重复的候选 PR,附一行推荐(优先较旧、检查通过、diff 较小者)。
适用场景:维护者在大量安全类高优先级 PR 中决定审查顺序、发现重复工作时使用;也支持按用户指定的额外标签(如某范围标签)或其他优先级标签调整筛选。
限制:不会自动关闭任何 PR,仅呈现结果与建议;实际查询与展示依赖已认证的 gh 和可访问的仓库;缓存、权限、速率等平台相关限制暂未提供。