SuperAPI AI 工具集

pr-comment-analysis

编程与开发

查看项目

更新于 10-15 17:21

技能介绍

用途:面向 GitHub Pull Request 的代码评审反馈整理。通过脚本抓取某个 PR 的全部评论,合并多位评审者的意见,识别高共识问题,并生成按优先级排列的处理计划,便于系统化地逐条解决评审意见。

主要能力:

  1. 评论提取:通过 GitHub API 抓取行内评审评论与普通对话评论,保留文件路径、行号、时间戳、diff 片段等元数据,支持分页与增量更新(重复运行合并新评论而不产生重复)。
  2. 评论合并:按文件路径与代码段分组,识别不同评审者的相似意见,标记高共识问题,跟踪评论线程与回复。
  3. 优先级划分:一级为严重问题(缺陷、安全、性能、高共识),二级为设计改进(架构、重构、设计模式),三级为风格细节(命名、格式、文档)。
  4. 上下文校验(新版):结合项目上下文文件判断评论是否仍适用,标记基于过时假设的评论。
  5. 影响分析(新版):分析建议修复是否可能影响 PR 之外的代码,搜索相似模式与依赖,给出连锁影响警告。
  6. 可执行输出:生成 markdown 格式的行动计划与可勾选任务清单。

使用方式: 在仓库内运行脚本: python /path/to/pr-comment-analysis/scripts/pr-comment-grabber.py owner/repo PR_NUMBER 输出保存在 pr-code-review-comments/pr42-code-review-comments.json,再次运行同一命令可增量合并新评论。将 JSON 交给 LLM 代理,配合 references/analysis-prompt.md 中的提示进行三阶段分析(初步合并、上下文校验、修复与影响校验)。随后按优先级逐条处理,可用 jq 按评论类型或评审者过滤 JSON,也可集成到 CI 工作流。

限制:需要 GitHub Personal Access Token,不支持匿名访问;不抓取 PR 描述与提交信息,仅评论;不跟踪评论解决状态;大型 PR(超 200 条评论)分析耗时较长;Qodo、CodeRabbit 等外部工具评论格式可能不同。校验功能依赖 ref.tools 与 Exa 搜索等 MCP 工具,需另行配置。