octorus:一个 Rust 构建的 TUI 工具,AI 自动审查并修复代码,同时你浏览 PR diffs

发布: (2026年2月13日 GMT+8 15:03)
4 分钟阅读
原文: Dev.to

Source: Dev.to

概览

octorus 是一个基于 Rust 构建的终端 UI(TUI)工具,能够让你浏览 pull‑request 差异、留下行内评论,并运行名为 AI‑Rally 的自主 AI 审查‑修复循环。它是在切换到 Helix 编辑器后,用来替代 octo.nvim 而创建的。

主要特性

  • 行内审查评论,支持语法高亮的差异视图。
  • 审查评论和讨论评论分为独立的区域。
  • AI‑Rally:两个 AI 代理(审查者 & 被审查者)轮流审查并修复代码,直至收敛或达到可配置的迭代上限。
  • AI‑Rally 在后台执行,让你可以继续手动审查。
  • 自动将 AI 生成的评论和提交推送到 PR。
  • 可自定义提示词和行为。

安装

cargo install octorus

快速开始

初始化配置

octorus init

这将在 ~/.config/octorus/ 下创建配置文件和提示词 markdown 文件。

运行差异查看器

octorus --repo <owner/repo> --pr <pr-number>

<owner/repo><pr-number> 替换为相应的值。

使用方法

  • 浏览差异 – 使用你喜欢的快捷键在 PR 差异视图中导航。
  • 留下评论 – 按 c 添加普通评论,s 添加建议,a 进行批准,或 r 请求更改(默认绑定,参见配置章节)。
  • 查看所有评论 – 审查评论和讨论评论会显示在不同的区域,便于快速浏览。

AI‑Rally

  1. A 启动 AI‑Rally。
  2. 两个 AI 代理(审查者 & 被审查者)开始来回的审查/修复循环,最多运行 max_iterations 次。
  3. b 将 rally 发送到后台,允许你继续手动审查。
  4. 当代理完成后,它们会自动发布评论并将提交推送到 PR。

你可以通过提示词和配置选项自定义 AI 的行为。

配置

运行 octorus init 会生成默认配置文件(~/.config/octorus/config.toml),默认内容如下:

editor = "vi"  # 用于编写 PR 评论的编辑器(如 nvim、hx)

[diff]
theme = "base16-ocean.dark"  # 差异查看器的语法高亮主题

[keybindings]
approve = "a"
request_changes = "r"
comment = "c"
suggestion = "s"

[ai]
reviewer = "claude"   # 可选项:"claude" 或 "codex"(需本地安装)
reviewee = "claude"
max_iterations = 10
timeout_secs = 600

# 自定义提示词目录(默认:~/.config/octorus/prompts/)
# prompt_dir = "/custom/path/to/prompts"

自定义提示词

提示词文件存放在 ~/.config/octorus/prompts/

~/.config/octorus/prompts/
├── reviewer.md    # 审查者代理的提示词
├── reviewee.md    # 被审查者代理的提示词
└── rereview.md    # 重新审查迭代的提示词

Claude 和 Codex 都以无头模式启动,因此相应的 CLI 工具必须已在你的机器上安装。作者使用 Codex 作为审查者,Claude Code 作为被审查者。

背景与灵感

这个想法来源于在社交平台上看到 AI 代理之间的对话,并希望将这种动态应用到代码审查中。构建一个 TUI 差异查看器为实验自主审查循环提供了理想的环境。

延伸阅读

  • octorus 差异渲染的详细性能分析:

如果你觉得 octorus 有用,请考虑给 GitHub 仓库加星。祝审查愉快!

0 浏览
Back to Blog

相关文章

阅读更多 »