GitHubPR代码审查助手 github-pr

GitHub PR 代码审查助手是一款专为软件开发团队设计的命令行工具集,旨在自动化 GitHub 拉取请求(Pull Request)的代码审查工作流。它通过智能判断 PR 是否需要人工审查、自动关联项目指南文件、以及便捷地发布行内评论等功能,显著提升代码审查的效率和规范性。核心功能包括:PR审查条件自动检查、项目指南智能检索、行内评论与代码建议发布。适用于 DevOps、CI/CD 流程集成,是提升代码质量和团队协作效率的利器。关键词:GitHub PR, 代码审查, 自动化工作流, CLI工具, DevOps, 代码质量, 团队协作, 拉取请求, 智能审查。

DevOps 0 次安装 0 次浏览 更新于 3/2/2026

name: github-pr description: GitHub PR 代码审查工作流工具 version: 0.1.0-beta license: MIT compatibility: opencode

概述

用于 GitHub 拉取请求操作的 CLI 工具。旨在支持自动化代码审查工作流。需要安装并认证 GitHub CLI (gh)。

前提条件

  • 已安装 bun 运行时
  • 已安装并认证 GitHub CLI
    brew install gh
    gh auth login
    

命令

检查是否需要审查

通过检查各种条件来确定 PR 是否需要审查。

bun .opencode/skill/github-pr/check-review-needed.js [pr-number]

参数:

  • pr-number - PR 编号(可选,默认为当前分支的 PR)

输出: JSON 对象,包含:

  • shouldReview - 布尔值,指示是否应继续审查
  • reason - 决策的解释
  • prNumber - 检查的 PR 编号

检查的条件:

  • PR 未关闭或合并
  • PR 不是草稿
  • PR 不是来自已知机器人(dependabot、renovate 等)
  • PR 标题未表明是自动化操作(bump、chore(deps) 等)
  • PR 尚未被 Claude/AI 审查过
  • PR 不是琐碎的(更改行数不超过 2 行)

示例:

# 检查当前分支的 PR
bun .opencode/skill/github-pr/check-review-needed.js

# 检查特定 PR
bun .opencode/skill/github-pr/check-review-needed.js 123

列出指南文件

查找与 PR 更改相关的 AGENTS.md(或 CLAUDE.md)文件。

bun .opencode/skill/github-pr/list-guideline-files.js [pr-number] [--json]

参数:

  • pr-number - PR 编号(可选,默认为当前分支的 PR)

选项:

  • --json - 以 JSON 数组形式输出,包含文件内容

搜索位置:

  • 仓库根目录
  • 包含 PR 中修改文件的所有目录
  • 修改文件的父目录

优先级: 如果同一目录中同时存在 AGENTS.mdCLAUDE.md,则优先使用 AGENTS.md

示例:

# 列出当前 PR 的指南文件
bun .opencode/skill/github-pr/list-guideline-files.js

# 以 JSON 格式获取完整内容
bun .opencode/skill/github-pr/list-guideline-files.js 123 --json

JSON 输出格式:

[
  {
    "path": "AGENTS.md",
    "content": "# 项目指南
..."
  },
  {
    "path": "src/components/AGENTS.md",
    "content": "# 组件指南
..."
  }
]

发布行内评论

在 PR 的特定行或行范围内发布审查评论。

bun .opencode/skill/github-pr/post-inline-comment.js <pr-number> --path <file> --line <n> --body <text>

参数:

  • pr-number - PR 编号(如果在 PR 分支上则为可选)

选项:

  • --path <file> - 要评论的文件路径(必需)
  • --line <n> - 要评论的行号(必需)
  • --start-line <n> - 多行评论的起始行(可选)
  • --body <text> - 评论正文,使用 Markdown 格式(必需)

建议块: 对于可以直接提交的小修复,包含一个建议块:

修复错误处理:

```suggestion
try {
  await authenticate();
} catch (e) {
  handleAuthError(e);
}
```

重要提示: 建议必须是完整的。作者应该能够点击“提交建议”而无需在其他地方进行额外更改。

示例:

# 单行评论
bun .opencode/skill/github-pr/post-inline-comment.js 123 \
  --path src/auth.ts \
  --line 67 \
  --body "缺少 OAuth 回调的错误处理"

# 多行评论(第 65-70 行)
bun .opencode/skill/github-pr/post-inline-comment.js 123 \
  --path src/auth.ts \
  --line 70 \
  --start-line 65 \
  --body "此身份验证块需要重构"

与 gh CLI 集成

这些工具封装了 GitHub CLI (gh)。对于这些实用程序未涵盖的操作,请直接使用 gh

# 查看 PR 详情
gh pr view 123 --json title,body,state,isDraft,files

# 获取 PR 差异
gh pr diff 123

# 查看 PR 评论
gh pr view 123 --comments

# 发布常规评论
gh pr comment 123 --body "评论文本"

# 查看 PR 头部的文件
gh api repos/{owner}/{repo}/contents/{path}?ref={branch}

输出行为

  • 命令输出直接显示在用户终端中
  • JSON 输出格式化为可读性和管道传输
  • 当需要以编程方式处理输出时,请使用 --json 标志