Pr Triage

🔍 智能分拣重复 PR,一键生成质量报告

智能 PR 分拣助手,自动检测重复 PR、评估代码质量并生成优先级报告,帮助维护者高效处理海量 Pull Request。

收藏
3.5k
安装
1.1k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

PR Triage 技能综合评估

核心用法

PR Triage 是一个专为开源项目维护者设计的智能 PR 管理工具。它通过 GitHub CLI 获取仓库中的开放 PR 数据,运用多维度相似度算法检测重复提交,基于客观指标评估 PR 质量,最终生成结构化的 Markdown 报告。支持按时间范围筛选、自定义相似度阈值、输出到文件等灵活配置。

典型工作流程:
1. 数据获取:使用 gh pr list 批量拉取 PR 元数据(标题、描述、文件变更、标签等)

2. 意图提取:解析 PR 内容,提取关键词、文件路径、Issue 引用等可比对特征

3. 重复检测:组合文件重叠度(Jaccard 相似度)、关键词匹配、Issue 引用重合三种信号

4. 质量评分:根据描述完整性、测试覆盖、代码规模、标签标注等 7 项指标打分(A-D 四级)

5. 报告生成:输出包含重复组、质量汇总、陈旧 PR、可合并候选等 actionable 信息

显著优点

  • 多维重复检测:不依赖单一指标,文件 + 关键词 + Issue 引用三重验证,误报率低
  • 客观质量评估:基于可量化指标(描述长度、测试文件存在性、代码行数),避免主观代码审查
  • 清晰的行动建议:明确标注保留/关闭推荐,降低维护者决策负担
  • Token 效率优化:区分廉价/昂贵操作,提供 --days 等参数控制成本
  • 安全边界清晰:明确不自动关闭、不自动合并,所有操作需显式 --action 授权
  • 企业级合规:强制使用 env -u GH_TOKEN 模式执行 gh 命令,避免令牌泄露

潜在缺点与局限性

  • 无法读取完整 diff:仅分析元数据,无法判断代码实际正确性
  • 语言无关性:关键词提取对非英语 PR 效果可能下降
  • 质量评分机械:小型 PR 天然占优,复杂重构可能得分偏低
  • 依赖 GitHub CLI:需预配置认证,对其他 Git 平台(GitLab/Gitee)不支持
  • 相似度阈值敏感:默认 80 可能漏检或误报,需根据项目调整

适合人群

  • 中大型开源项目维护者:面对 50+ 开放 PR 时人工审阅不可行
  • 多贡献者协调场景:避免社区成员重复解决同一 Issue
  • CI/CD 集成:可作为定时任务(如每周)生成报告推送至 Slack/邮件
  • 新接手项目的维护者:快速了解 PR 积压现状和优先级

常规风险

  • API 限流--all 分析大型仓库(如 React、VS Code)可能触发 GitHub 速率限制
  • 隐私数据暴露:报告包含作者信息,公开分享时需注意脱敏
  • 误关闭风险:虽然不会自动执行,但建议的 "Close" 标签若被维护者盲目采纳,可能误伤有效 PR
  • Token 残留:虽有 env -u 保护,但在某些 shell 配置中仍可能残留环境变量

安全等级评估

技能在认证处理上表现优秀(强制清除 GH_TOKEN),边界控制严格(无自动 destructive 操作),主要风险集中在 API 滥用和报告数据敏感性。综合评定为 A 级,建议生产环境配合只读权限 Token 使用。

Pr Triage 内容

scripts文件夹
手动下载zip · 8.7 kB
triage.pytext/plain
请选择文件