openqodex - 在推送前用独立审查者检查 AI 编码代理的改动
openqodex 是一个开源 AI 代码审查工具:在代码推送前,由独立的 Claude Code 或 Codex 进程检查编码代理写下的改动,并结合静态扫描器与代码图谱给出结论。项目采用 Apache-2.0 许可,截至 2026-10-28 星标 920,最新版本 0.16.0。
openqodex 是一个面向 AI 编码代理的开源代码审查工具。它要解决的问题很具体:当 Claude Code、Codex、Cursor、Cline 这类代理替你写代码时,谁来检查这些代码?openqodex 的做法是在你推送之前,另起一个独立的审查进程,把「未推送的提交 + 所有未提交改动」当作一次变更来审。它适合已经在日常开发中使用编码代理、又希望在合并前多一道机器审查的开发者与团队。
维护者与状态
项目由 openqodex 维护,仓库创建于 2026-10-02,最后提交时间为 2026-10-28。最新发布版本为 openqodex@0.16.0,发布于 2026-10-28。截至 2026-10-28,仓库星标数为 920。项目采用 Apache-2.0 许可证。官网地址为 openqodex.com。
主要能力
以下能力均据项目 README 自述,未经本站实际运行验证。
- 变更级审查:据项目说明,一次审查覆盖尚未推送的提交以及全部未提交内容,可用一条命令完成。
- 扫描器先行:README 称,openqodex 会先运行与改动文件匹配的扫描器(如 gitleaks、semgrep),只保留落在改动行上的发现,并丢弃测试夹具与已关闭规则中的结果;仓库中每个受支持的 lockfile 在每次审查时都会对照 osv.dev 检查。
- 独立审查者:项目自述默认由写代码的代理之外的 Claude Code 或 Codex 进程担任审查者,先由 Finder 会话提出候选问题并附引用行作为证据,脚本核对引用,再由 Verifier 会话逐条确认或反驳。
- 报告与回执:审查会写出 report.html、report.md、report.json 与 report.sarif 四种格式,并在终端打印包含结论与逐条发现的回执。
- 推送门禁:据项目说明,init 会写入 git pre-push hook,检查一次推送实际发送的提交;代理内的门禁则检查当前工作是否有通过的审查。两者默认只警告,只有在配置中设置 review.block_on_severity 后才按严重级别阻断。
- 代码图谱:openqodex graph 可回答「谁调用了某个函数」这类问题,并通过本地 MCP 服务器提供给代理使用。
- 范围选择:review --all 审查仓库全部文件(排除配置中排除的路径),review 加分支名审查分支,review '#42' 审查某个拉取请求。
- 离线模式:--offline 会跳过 semgrep、osv-scanner、kubeconform、cargo-deny 等联网扫描器并停止扫描器下载,但审查者仍会把改动发送到模型服务。
使用入口
仓库地址:openqodex/openqodex;官网:openqodex.com。
据 README,在终端执行初始化:
npx openqodex init
init 会检测本机的 Claude Code、Cursor、Codex CLI 与 Cline,列出将要写入的文件并询问一次,然后下载仓库所需的扫描器。安装完成后,可以在自己的终端运行:
~/.openqodex/bin/openqodex review
面向代理的无交互安装方式为:
npx -y openqodex@0.16.0 init --yes --agent
其中 agent 取值为 claude-code、codex、cursor 或 cline。若只想安装 skill,可运行 npx skills add openqodex/openqodex -g,这种方式不安装推送门禁、也不下载扫描器。安装后对代理说「review my change with openqodex」即可触发审查;已安装版本的使用指南可用 ~/.openqodex/bin/openqodex guide for-agents 打印。
许可与限制
许可证为 Apache-2.0。README 中列出的已知限制包括:
- 运行环境要求 Node 22 或更新版本以及 git,支持 macOS 与 Linux;据项目说明,Windows 与 WSL 上没有测试运行。
- 完整审查需要已安装并登录的 Claude Code 或 Codex;openqodex 自身不需要账号或 API key。Cursor 与 Cline 可以发起审查,但不能担任审查者,需要本机装有 Claude Code 或 Codex。
- 部分扫描器依赖 openqodex 不负责安装的语言运行时,例如 brakeman 与 rubocop 需要 Ruby,golangci-lint 需要 Go,cargo-deny 需要 Cargo。
- 在 Codex 默认沙箱模式下命令没有网络,第二个 Codex 进程无法启动,因此 Codex 在该环境中不能担任审查者。
- 没有审查者时,review 会输出「Full review unavailable」并以退出码 2 结束,扫描器结果写入 unchecked-candidates.json。
- 该版本没有 Homebrew formula、安装脚本或 Docker 镜像,只能通过 npm 安装;也没有漏洞数据库的离线副本。
- 项目自述称,没有任何审查能发现所有问题,报告中会列出未运行的阶段。
关于数据流向,README 称 openqodex 本身不收集使用数据,内置扫描器不发送代码,但审查者会把改动发送到你所登录的 Claude Code 或 Codex 模型服务。