SuperAPI AI 工具集

code-review

编程与开发

查看项目

更新于 10-13 16:23

技能介绍

用途

code-review 是一款 AI 驱动的代码审查技能,用于对 PR 或本地改动进行较为全面的审查,定位为企业级 CodeRabbit 替代方案。它面向需要在提交前或合并前检查代码质量、安全性和潜在 Bug 的开发场景。

主要能力

该技能覆盖四类审查模式:

  1. 本地审查(local review):审查尚未提交的改动,基于 git diff。
  2. 分支审查(branch review):审查当前分支相对于 main/master 的全部变更。
  3. PR 审查(PR review):从 GitHub 拉取 PR 的 diff,并可回写评论。
  4. 聚焦审查(focused review):用户可要求只关注特定方面,如安全、性能、Bug、风格等。

审查覆盖的检查清单包括安全(OWASP Top 10 及扩展项,如各类注入、认证缺陷、敏感数据暴露、XXE、访问控制、安全配置、XSS、不安全反序列化、已知漏洞组件、日志与监控不足,以及 SSRF、开放重定向、CSRF、JWT、ReDoS、批量赋值、文件上传、竞态等)、Bug 与逻辑错误(空值/未定义、类型、异步与并发、循环、边界与极端情况、状态管理、错误处理、资源管理、业务逻辑)、性能(数据库、API/网络、前端、算法、缓存)、代码质量(可读性、可维护性、SOLID、错误信息、API 设计、配置)、测试(覆盖率、质量、模式)以及可访问性(a11y)等维度。

使用方式

触发词包括:"code review"、"review my PR"、"review PR #123"、"check my changes"、"what's wrong with my code"、"security review"、"full review"、"/review"、"/review-pr"。

依赖外部工具:gh CLI(GitHub)与 git。

执行流程:

  • Step 0:判断是否需要审查。以下情况跳过:PR 为草稿(gh pr view --json isDraft)、PR 已关闭或已合并、仅文档改动(.md、.txt、LICENSE)、仅配置改动且无代码影响(.json、.yaml、.toml)、琐碎改动(少于 5 行、仅空白、版本号变更)。此时会告知用户并询问是否仍需审查。
  • Step 1:确定模式。提供 PR 编号则走 PR 审查;存在未提交改动则走本地审查;处于特性分支则走分支审查;指定了重点则应用聚焦过滤。
  • Step 2:获取 diff。本地:git diff HEAD;分支:DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo "main") 与 git diff $DEFAULT_BRANCH...HEAD;PR:gh pr diff <PR_NUMBER>。
  • Step 3:获取上下文。用 git diff --name-only HEAD 列出改动文件,逐个完整读取以获取上下文,并检查 package.json 依赖、tsconfig/eslint 配置等项目规范。
  • Step 3b:过滤既有问题。报告问题前,用 git blame -L <start>,<end> <file> --porcelain | head -1 判断该行最后修改时间,跳过本 PR 之前就存在、位于未改动行、或很久以前由他人引入的问题,只报告本次变更引入或修改的问题。
  • Step 4:按清单做全面分析,应用所有相关检查项。
  • Step 5:置信度评分 0–100。90–100 确定、70–89 高、50–69 中、25–49 低、0–24 跳过;仅报告置信度 ≥70 的问题。以下情况标记为误报并跳过:已存在问题、linter 可捕获的问题、无实际影响的吹毛求疵、看似有误但注释中有正当理由的代码、带有显式忽略注释(如 // eslint-disable、# noqa)的代码。
  • Step 6:输出结果。格式为:Code Review Summary,包含 Reviewed(文件数与变更行数)、Risk Level(Critical/High/Medium/Low),以及 Critical Issues、High Priority、Medium Priority、Low Priority / Suggestions、Good Practices 各分级列表,条目形式为 [file:line] 描述及原因。

对 GitHub PR 可回写评论:

  • 总体评论:gh pr comment <PR_NUMBER> --body "## AI Code Review\n[Review content]"
  • 行级评论(API):
gh api repos/{owner}/{repo}/pulls/{pr}/comments \
  --method POST \
  -f body="Issue description and fix suggestion" \
  -f path="src/file.ts" \
  -f line=42 \
  -f side="RIGHT"

适用场景

适合在合并前审查 PR、在提交前检查本地未提交改动,或对特定方面(如安全、性能)做聚焦审查的开发者与团队。对草稿、已合并、仅文档/配置或极琐碎的改动会自动跳过,以减少无效审查。

限制

资料未提供该技能的收费、价格、平台限制或实际效果数据,这些信息暂未提供。使用前需具备 git 与 gh CLI 环境;PR 相关功能依赖 GitHub。