跳到正文
LGTM 开源 · MIT

直接落在 Pull Request 上的 AI 审查

open-pr 读取每个仓库自己的规范,然后在 PR 上只发布一条审查意见:总览、带严重级别的行内意见,以及修复推送后的回复。打开这个 PR 的每个人看到的内容完全一致。

一条命令完成安装

最新版 v2.0.4
curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash
支持平台
  • GitHub
  • GitLab
  • Bitbucket

工作方式

三步就能在 PR 上拿到审查

  1. 01

    安装插件

    在你已经在用的 agent CLI 里执行一条命令。没有 open-pr 服务,也没有机器人账号 —— 审查是用你自己的平台账号发布的。

  2. 02

    对某个 Pull Request 运行

    PR 会被检出到独立的 git worktree,你当前的分支完全不受影响,审查期间可以继续写代码。

  3. 03

    在 PR 上读审查结果

    一段总览、带严重级别的行内意见,以及可以直接采纳的修改建议。打开 PR 的人看到的都是同一份内容。

从头到尾只有两条命令

审查一个 Pull Request

/open-pr:review <PR_URL>

修复审查发现的问题

/open-pr:fix <PR_URL>
open-pr 发布的审查:总览、带修改建议的行内意见,以及修复推送后的回复

审查 → 修复

一轮一轮,直到这个 Pull Request 干净为止

修复之后再跑一次审查,它会接着上一次结束的地方继续:不重复旧意见,也不从头再审一遍。

TOMOSIA-VIETNAM/open-pr #123 open-pr

审查运行 /open-pr:review <PR_URL> 第 1 轮 · 审查

[AI REVIEW] Overview

第 1 轮 · 审查

已审查 commit d61a577 的全部改动,有两处需要看一下。

src/auth/session.ts:42

第 1 轮 · 审查

token 过期时间用 `<` 比较,所以刚好此刻过期的 token 仍然会通过。

已修复 —— 比较改成了 `<=`,并补了覆盖边界值的测试。 修复

已在本讨论确认 · 已解决 第 2 轮 · 复审

src/api/client.ts:88

第 1 轮 · 审查

重试循环没有上限 —— 一个持续失败的接口会让它一直转下去。

已修复 —— 重试三次后停止。 修复

已在本讨论确认 · 已解决 第 2 轮 · 复审

修复已推送 /open-pr:fix <PR_URL> 已推送 1 个 commit · 不 amend,不 force-push 修复

复审运行 /open-pr:review <PR_URL> 第 2 轮 · 复审

src/api/client.ts:95

第 2 轮 · 复审

本轮新发现:退避没有加 jitter,重试会挤在同一时刻。

LGTM 🌟

最后一轮

所有讨论都已了结,本次 diff 没有新问题。

它能做什么

为一个团队真正用得下去的审查而做

  • 学习你的仓库

    先读 README、CLAUDE.md、AGENTS.md、docs 和 wiki。团队自己的规则优先于通用规则,某个 PR 上的纠正会带到下一次运行。

  • 三个平台,一套流程

    GitHub、GitLab 和 Bitbucket 的行为完全一致。平台差异只存在于运行时脚本里,不会进入审查内容。

  • 严重级别有分寸

    每次运行正好一条审查 —— 总览加上带严重级别的行内意见,而不是一串机器人评论。

  • fix 命令收尾成闭环

    读它自己留下的意见,改真实代码,正好提交一个 commit —— 不 amend、不 force-push —— 并在每条讨论下回复。

  • 防止跑错对象

    分支或 PR 不对,它会在动任何文件之前停下。是否关闭讨论,始终由你决定。

  • 就用你现在的 agent CLI

    Claude Code、Cursor、Codex、Gemini CLI 和 Antigravity 从同一份源码执行同一套流程,适配层只负责转交。

Token 成本

每个版本都实测过

按版本统计的上下文成本,每条命令一条线,由插件仓库自己生成,并在构建这个页面时拉取进来。

按版本显示上下文成本的折线图,每条命令一条线

自 v2 起,每次运行便宜了约 26%。

安装

选你已经在跑的那个 agent

一行命令到处都能装。各平台的命令做的是同一件事,只是按各自的写法拼写。

所有平台同一条命令

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash

Claude Code

安装

/plugin marketplace add TOMOSIA-VIETNAM/open-pr
/plugin install open-pr@open-pr

使用

/open-pr:review <PR_URL>

更新

/plugin marketplace update open-pr

Codex

安装

codex plugin marketplace add TOMOSIA-VIETNAM/open-pr
codex plugin add open-pr@open-pr

使用

$open-pr-review <PR_URL>

Gemini CLI

安装

gemini extensions install https://github.com/TOMOSIA-VIETNAM/open-pr --auto-update

使用

/open-pr-review <PR_URL>

Cursor

安装

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash -s -- --platform cursor

使用

/open-pr-review <PR_URL>

Antigravity

安装

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-pr/main/install.sh | bash -s -- --platform antigravity

使用

/open-pr-review <PR_URL>

需要 git、jq,以及一个已登录的平台 CLI:GitHub 用 gh,GitLab 用 glab。Bitbucket 从环境变量读取 API token。