场景组合包 · 3 个工具 · 收录于 2026-08-29

AI 代码审查工作流(repomix + code-review-graph + swe-rex) 部分实测

想让 AI 审查/理解自己的代码库,但仓库大、上下文窗口有限,喂不进去也喂不全

场景

你想让 AI 审查或理解自己的代码库,但最大的卡点不是审查本身,而是「喂」:仓库动辄几万行,AI 上下文窗口有限,直接拖进去不是超限就是丢三落四。要么塞不下,要么塞进去的都是无关文件,AI 根本看不全。

本组合包把「喂代码 → 审查 → 验证」串成一条确定性链路:repomix 把仓库打包成单文件(token 可控,喂得进去)、code-review-graph(crg) 出审查结论(看清影响面)、swe-rex 在沙箱里执行代码/跑测试验证审查结论(说得对才算数)。三个工具各管一段,不重复。

组合成员 (3)

repomix(代码上下文打包)

下载:npm 包 `repomix`;GitHub Release 单二进制(免 Node);brew(macOS)
版本要求:>= 1.18.0(2026-08-29 实测;Node >= 18)

npm_config_registry=https://registry.npmmirror.com npm install -g repomix
repomix <仓库目录> --output repomix-output.txt --compress

工具手册 →

code-review-graph(审查)

下载:PyPI `code-review-graph`(官方推荐 pipx;国内用清华镜像)
版本要求:== 2.3.8(2026-08-28 收录实测版本)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple code-review-graph==2.3.8
code-review-graph --version   # 预期输出: code-review-graph 2.3.8

工具手册 →

swe-rex(沙箱执行验证)

下载:PyPI `swe-rex`(官方)
版本要求:== 1.4.0(2026-08-28 收录实测版本)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple swe-rex==1.4.0
swerex-remote --help   # 预期输出: usage: swerex-remote [-h] [--host HOST] [--port PORT] --auth-token AUTH_TOKEN

工具手册 →

方案总览

工具管什么为什么是它
repomix代码上下文打包(输入侧)把仓库压成单文件,token 可控;支持 --compress 压缩、--include 限范围
code-review-graph审查分析(分析侧)构建代码关联图出审查结论;CLI 面干净
swe-rex沙箱执行验证(输出侧)在沙箱里真跑代码/测试验证结论,不怕炸环境

备选方案:只要「把仓库喂给 AI」→ 只装 repomix 就够;只要「静态审查」→ 只装 crg。顺序逻辑:输入(打包)→ 分析(审查)→ 输出(验证),按数据流方向装。

快速开始

一键脚本由本文档自动生成(渲染后位于 pages/combos/combo-ai-code-review.sh),逐条执行:
bash pages/combos/combo-ai-code-review.sh
  • 装完你会得到:repomix / code-review-graph / swe-rex 三个命令可用,一条「打包 → 审查 → 沙箱验证」的代码审查链路。
  • 预计耗时:5-10 分钟(repomix 秒级;两个 pip 包装完即用)。
  • 前置条件:Node >= 18(repomix npm 形态);Python >= 3.10(crg/swe-rex,建议隔离 venv);swe-rex 真实沙箱执行需 Docker(未实测)。
想弄明白每一步在干什么、装错了怎么恢复 → 看「逐步教学」。一键脚本出问题 → 按逐步教学手动执行定位。

逐步教学

第 1 步:装 repomix(把仓库压成 token 可控的单文件)

repomix 解决「喂不进去」:把整个仓库打包成一个文本文件,用 --compress 压缩冗余、--include 限定范围,输出文件大小可控。实测 站内文档 全目录打包后 62KB/959 行——这个量级 AI 上下文随便喂。npm 形态全局安装(用 npmmirror 加速)。

npm_config_registry=https://registry.npmmirror.com npm install -g repomix
repomix <仓库目录> --output repomix-output.txt --compress

预期输出: 打包完成,显示输出文件路径与大小/行数(实测样例:62KB / 959 行)

装好确认:

  • repomix --version 输出版本号(>= 1.18.0);
  • 对一个小仓库跑一次打包,看输出文件存在且大小合理。

卡住怎么办:

  • npm 慢/超时 → 命令已带 npmmirror registry;或改用 GitHub Release 单二进制(免 Node)。
  • 打包结果太大(仓库巨大)→ 加 --include 限定目录(如 --include "src/**"),或先 --compress。
  • 打包文件被 git 跟踪 → 把输出文件加进 .gitignore(见 FAQ)。

第 2 步:装 code-review-graph(审查分析)

crg 在打包文件之外提供「结构视角」:构建代码关联图,让 AI 审查时看清改动影响面。纯 CLI,装完即用。不要执行 crg install 注册子命令(会写 ~/.claude.json 等注册面),本组合只用 CLI 面。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple code-review-graph==2.3.8
code-review-graph --version   # 预期输出: code-review-graph 2.3.8

预期输出: code-review-graph 2.3.8

装好确认:

  • code-review-graph --version 输出版本号;
  • 工作区 code-review-graph build 建图成功。

卡住怎么办:

  • pip 慢/超时 → 命令已带清华镜像;仍失败换阿里云源。
  • 建议隔离环境 → python3 -m venv ~/.venvs/review && source ~/.venvs/review/bin/activate 再装(swe-rex 同环境共装实测兼容)。

第 3 步:装 swe-rex(沙箱验证审查结论)

swe-rex 让 AI 的结论「被验证」:在沙箱里真跑代码/测试,说得对才算数。装完提供 swerex-remote 命令;真实沙箱执行依赖 Docker(本环境未实测沙箱运行),CLI 层已实测。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple swe-rex==1.4.0
swerex-remote --help   # 预期输出: usage: swerex-remote [-h] [--host HOST] [--port PORT] --auth-token AUTH_TOKEN

预期输出: usage: swerex-remote [-h] [--host HOST] [--port PORT] --auth-token AUTH_TOKEN

装好确认:

  • swerex-remote --help 打印 usage;
  • 与 crg 同环境 --version 均正常(共装兼容)。

卡住怎么办:

  • pip 超时 → 清华镜像已内置;重试一次。
  • 沙箱跑不起来 → 需要 Docker,先 docker info 确认;本组合的验证环节留待有 Docker 环境补实测。

装完验收(一步到位)

作用:装完跑下面一条命令块,全绿 = 本组合包就绪;某条失败 → 回「逐步教学」对应步骤定位。
repomix --version
code-review-graph --version
swerex-remote --help

预期输出: repomix >= 1.18.0;code-review-graph 2.3.8;swerex-remote 打印 usage。全绿 = 打包→审查→沙箱链路命令面就位

注:成员级命令已实测(repomix 打包实测 62KB/959 行);swe-rex 真实沙箱执行需 Docker,组合包级串跑未实测、如实标注。

日常使用

启动与入口

  • repomix:repomix <目录> --output <文件> [--compress] [--include "glob"]。
  • crg:code-review-graph build / code-review-graph status。
  • swe-rex:swerex-remote --auth-token <token> 起沙箱服务(Docker 环境)。

常用操作

  1. 喂 AI:repomix . --output ctx.txt --compress,把 ctx.txt 交给 AI 审查。
  2. 看影响面:code-review-graph build 后让 AI 结合图谱审查。
  3. 验证结论:把 AI 给的修复/测试命令放进 swe-rex 沙箱跑一遍。
  4. 控制范围:大仓库用 --include "src/,!vendor/" 限定打包范围。

数据与目录

  • repomix:输出文件(如 repomix-output.txt,建议 .gitignore)。
  • crg:工作区 .code-review-graph/(图数据)。
  • swe-rex:无固定数据目录(沙箱由 Docker 管理)。

卸载与清理

按安装相反顺序卸载:

# 1. swe-rex + crg(同 venv)
pip uninstall -y swe-rex code-review-graph
# 2. repomix(npm 全局)
npm uninstall -g repomix
# 3. 清理产物
rm -f repomix-output.txt && rm -rf .code-review-graph
提示:打包输出文件是临时产物,删了随时可重新生成。

安装顺序

  1. repomix(打包)→ 2. code-review-graph(审查)→ 3. swe-rex(验证)。三个都是命令行工具,无服务端、无后台进程;全装完跑通才算组合就绪。

依赖警告

  • 版本:repomix >= 1.18.0(Node >= 18);crg == 2.3.8(Python >= 3.10);swe-rex == 1.4.0(Python >= 3.10)。
  • 环境:swe-rex 真实沙箱执行需 Docker(未实测);crg build 写工作区 .code-review-graph/;repomix 输出文件建议加入 .gitignore(防打包文件进仓库)。
  • 大仓库 token 预算:--compress + --include 控制范围;实测 站内文档 全目录打包 62KB/959 行。
  • 冲突:三工具写面互不重叠(输出文件 / 审查报告 / 沙箱执行环境)→ compatible(组合包实测态);crg 不执行 install 子命令,无注册面写入。
  • 国内网络:npm 走 npmmirror;pip 走清华镜像;无 GitHub 大文件依赖。

FAQ

  1. 打包文件要不要提交进 git? → 不要。它是临时产物,建议加进 .gitignore(echo repomix-output.txt >> .gitignore),需要时随时重新生成。
  2. 仓库太大,打包出来还是几十万 token 怎么办? → 用 --include 限定范围(只打包本次改动相关目录),或分模块打包多次喂。
  3. 完整链路(打包→审查→沙箱验证)实测过吗? → 三工具分别实测过(repomix 打包实测 62KB/959 行);完整链路串跑待组合包验收时实测,swe-rex 沙箱需 Docker。
  4. swe-rex 没 Docker 能干嘛? → 能装能用 CLI,但沙箱执行要 Docker;没有 Docker 就先只做「打包 + 审查」两步。

验证证据

每份组合包在隔离环境实测(冒烟 + 写面检查),未实测项在文中如实标注;实测日期见下方验证证据。

验证于 2026-08-29 · TTL 到期 —(180 天)

  • 2026-08-29:repomix 1.18.0 实测打包成功(smoke 日志:62KB/959 行,秒级)——实测复现日志(2026-08-29)。
  • 2026-08-28:code-review-graph 清华镜像 venv 安装 159 包 + 命令面实测(手册);swe-rex 收录实测(手册)。
  • 未实测(如实标注):完整链路(打包→审查→沙箱验证)串跑待组合包验收时实测(swe-rex 沙箱需 Docker,本环境未跑)。

关联问题

← 全部组合包 | 工具货架 | 遇到问题?去 问题空间 提交求助卡