场景
你想让 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 环境)。
常用操作
- 喂 AI:
repomix . --output ctx.txt --compress,把 ctx.txt 交给 AI 审查。 - 看影响面:
code-review-graph build后让 AI 结合图谱审查。 - 验证结论:把 AI 给的修复/测试命令放进 swe-rex 沙箱跑一遍。
- 控制范围:大仓库用
--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
提示:打包输出文件是临时产物,删了随时可重新生成。
安装顺序
- 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
- 打包文件要不要提交进 git? → 不要。它是临时产物,建议加进
.gitignore(echo repomix-output.txt >> .gitignore),需要时随时重新生成。 - 仓库太大,打包出来还是几十万 token 怎么办? → 用
--include限定范围(只打包本次改动相关目录),或分模块打包多次喂。 - 完整链路(打包→审查→沙箱验证)实测过吗? → 三工具分别实测过(repomix 打包实测 62KB/959 行);完整链路串跑待组合包验收时实测,swe-rex 沙箱需 Docker。
- 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,本环境未跑)。