2026年7月12日 1 分钟阅读

R3 实战教程:给你的 AI 编码 Agent 装上结构化代码审查工具

tinyash 0 条评论

用 Claude Code、Codex 这类 AI 编码 Agent 写代码时,你是否有这种体验:Agent 噼里啪啦改了一大堆文件,然后说”搞定了”,但你想审查它的工作时,只能对着终端的输出日志——没有行号、没有批注、没有版本对比。你把输出贴回聊天框,加一句”改一下这里”,然后 Agent 继续改,你又得从头再看一遍。

这就是传统聊天式协作的痛点:每一次审查都在一个线性、无结构的聊天流中完成,上一轮的反馈和答复很快就消失在滚动中。

R3(Review. Revise. Resolve.)正是为了解决这个痛点而生的——一个本地运行、浏览器端使用的代码审查工具,专门为 AI 编码 Agent 的工作流设计。它让你和 Agent 之间的审查循环变得像 GitHub Pull Request 一样结构化,但完全在你的本地机器上运行。

安装与启动

R3 是一个 TypeScript CLI 工具,通过 npm 全局安装即可:

npm install -g @hyperlogue/r3

安装后,r3 命令即可在任意 Git 仓库中使用。第一次调用时会自动在 localhost:8791 启动一个后台 Web 服务器,所有的审查记录保存在 $XDG_STATE_HOME/r3/r3.sqlite 中。你也可以用以下命令管理服务器:

r3 start   # 启动服务器
r3 stop    # 停止服务器
r3 status  # 查看服务器状态
r3 restart # 重启服务器

无需任何额外配置,从 Git 仓库中运行 CLI,它会自动识别项目。

如果不想全局安装,也可以用 npx @hyperlogue/r3@latestbunx @hyperlogue/r3@latest 直接调用。

工作流程:Agent 驱动的审查循环

R3 的核心是五个步骤构成的审查循环,整个过程由 Agent 驱动,你只需要在浏览器中浏览代码、留下反馈:

步骤 1:创建审查(r3 create

Agent 完成工作后,运行 r3 create 创建一个审查。R3 支持两种审查类型:

  • Diff 审查:捕获 Agent 当前的工作目录变更(相对于 Git),生成固定的差异快照
  • 文件审查:实时追踪一组文件的变化,适合审查正在编辑中的文档

创建成功后,R3 会输出一个 URL(如 http://127.0.0.1:8791/review/),你在浏览器中打开即可看到完整的代码差异。

步骤 2:Agent 等待反馈(r3 watch

Agent 运行 r3 watch 进入等待模式。这个命令会阻塞 Agent 的运行,直到你在浏览器中提交反馈。

步骤 3:你留下反馈

在浏览器中浏览代码差异,选中任意行或引文,输入你的修改意见。与传统的逐行评论不同,R3 使用引文锚定——在文件审查模式下,你的反馈会跟随代码的变化(代码滚动时自动追踪),在 Diff 审查模式下则是不可变的固定锚点。

步骤 4:Agent 回复(r3 reply -m "xxx"

当你提交反馈后,r3 watch 命令会立即在 Agent 的终端中输出你的反馈内容。Agent 根据反馈进行修改,然后通过 r3 reply -m "做了哪些修改" 回复每条反馈。你的浏览器会通过 SSE 实时看到回复。

步骤 5:确认或放弃

审查循环可以重复多次:Agent 修改 → 你审查 → 再修改,直到你满意后点击 Approve(通过)Abandon(放弃)

实际使用场景

场景一:审查 Agent 的设计文档

让 Agent 写一份架构设计文档,然后对它说:”把文档放到 R3 审查中。”Agent 会自动创建文件审查,你可以在浏览器中实时阅读和批注文档,Agent 根据你的反馈边修改边更新。

场景二:审查批量代码变更

Agent 重构了一个模块,修改了 10 多个文件。直接说:”把我的工作变更放到 R3 审查。”Agent 运行 r3 create 创建一个 Diff 审查,你逐文件审查差异,留下修改意见,Agent 逐条回复修复。

场景三:远程开发

如果你在远程服务器上开发,R3 的 Web 服务器默认只监听 127.0.0.1:8791,不会暴露到公网。通过 SSH 隧道即可安全访问:

ssh -L 8791:localhost:8791 devbox

然后在本机浏览器中打开 http://127.0.0.1:8791/ 即可。

给 Agent 的配置

将以下内容添加到 Agent 的指令文件(CLAUDE.mdAGENTS.md)中,Agent 就能自动使用 R3:

This project uses r3 for review. Run it with whichever of these you have:
`npx @hyperlogue/r3@latest`, `bunx @hyperlogue/r3@latest`, or `nix run github:hyperlogue/r3 --`.
`r3 guide` will show how to use it.

之后只需对 Agent 说”把修改放到审查中”,它就会自动走完整个 R3 工作流。

环境变量

变量默认值说明
R3_PORT8791Web 服务器端口
R3_BIND127.0.0.1绑定地址
R3_ALLOWED_HOSTS允许的 Host 列表(不使用 *
R3_PUBLIC_URL通过隧道访问时的公开 URL

总结

R3 解决了 AI 编码 Agent 代码审查中一个真实存在的痛点:当 Agent 修改了大量文件,而你不得不在无结构的聊天窗口中被动的滚动审查时,R3 提供了一个结构化的、基于浏览器的审查体验。它小巧(一个 npm 包)、开源(MIT 许可证)、零配置,适合任何使用 Claude Code、Codex、Cursor 等 AI 编码 Agent 的开发者。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。