SuperAPI AI 工具集

codex-review

编程与开发

查看项目

更新于 10-15 14:42

技能介绍

用途

codex-review 是一个代码审查技能,通过 OpenAI 的 Codex CLI 调用 GPT-5.2-Codex 模型,专门用于检测代码中的缺陷、安全漏洞和代码质量问题。该模型针对代码审查进行了专门训练,据资料称在 LiveCodeBench 上对缺陷、安全漏洞和风格问题的检测率为 88%。

主要能力

  • 使用 GPT-5.2-Codex 模型进行代码审查,该模型针对代码审查场景专门训练。
  • 支持结构化输出,可通过 JSON schema 保证审查结果格式一致。
  • 提供 GitHub 原生集成,可在 PR 评论中使用 @codex review 触发审查。
  • 支持无头模式(headless mode),可在 CI/CD 中自动化运行,无需 TUI 交互。
  • 支持多种审查预设:针对基础分支审查、审查未提交的更改、审查指定提交、自定义审查指令。
  • 支持通过配置文件(~/.codex/config.toml 或项目内 .codex/config.toml)设置默认模型、沙箱模式和自定义审查指令。

安装与认证

前置要求:Node.js 22 及以上版本。

安装 Codex CLI:

# 通过 npm(推荐)
npm install -g @openai/codex

# 通过 Homebrew(macOS)
brew install --cask codex

# 验证安装
codex --version

认证方式有两种:

  1. ChatGPT 订阅(Plus、Pro、Team、Edu、Enterprise):运行 codex 并按提示使用 ChatGPT 账号登录。
  2. OpenAI API Key:设置环境变量 export OPENAI_API_KEY=sk-proj-...,或写入 shell 配置文件。

可选安装 shell 补全:

# Bash
codex completion bash >> ~/.bashrc

# Zsh
codex completion zsh >> ~/.zshrc

# Fish
codex completion fish > ~/.config/fish/completions/codex.fish

使用方式

交互式代码审查

启动 Codex 后,在 TUI 中输入 /review,可选择以下预设:

  • 针对基础分支审查(在开 PR 前,与上游分支做 diff)
  • 审查未提交的更改(提交前,包含已暂存、未暂存和未跟踪文件)
  • 审查某个提交(分析历史中的指定 SHA)
  • 自定义审查指令(例如“聚焦安全漏洞”)

无头模式(自动化)

# 简单审查
codex exec "review the code for bugs and security issues"

# 输出 JSON
codex exec --json "review uncommitted changes" > review.json

# 保存最终消息到文件
codex exec --output-last-message review.txt "review the diff against main"

# 全自动模式(仅在隔离的 runner 中使用)
codex exec \
  --full-auto \
  --json \
  --output-last-message findings.txt \
  --sandbox read-only \
  -m gpt-5.2-codex \
  "Review this code for bugs, security issues, and performance problems"

结构化输出

可定义 JSON schema 文件,并通过 --output-schema 参数校验输出:

codex exec \
  --output-schema review-schema.json \
  --output-last-message review.json \
  "Review the staged changes and output findings"

schema 中可定义 findings 数组(含 severity、title、file、line、description、suggestion 字段)、summary 和 approved 字段。

GitHub 集成

方式一:在任意 PR 中添加评论 @codex review,Codex 会以标准 GitHub 代码审查形式回复。

方式二:使用 GitHub Action,在 .github/workflows/codex-review.yml 中配置 openai/codex-action@main,传入 openai_api_key、model: gpt-5.2-codex 和 safety_strategy: drop-sudo。

方式三:在 CI 中手动运行无头模式,安装 Codex CLI 后获取 diff 并执行 codex exec,再通过 actions/github-script 将结果作为评论发布。

GitLab CI/CD

在 .gitlab-ci.yml 中定义 job,使用 node:22 镜像,安装 Codex CLI 后执行 codex exec,并将 review.md 作为 artifacts 保存。

Jenkins Pipeline

在 pipeline 中安装 Codex CLI,执行 codex exec 进行审查,并归档 review.md 结果。

配置

全局配置文件 ~/.codex/config.toml 可设置默认模型(gpt-5.2-codex)、默认沙箱模式(read-only)以及应用于所有审查的自定义指令。项目级配置 .codex/config.toml 可针对具体项目设置审查指令,例如针对 Python FastAPI 项目关注 async/await 正确性、Pydantic 模型校验、SQLAlchemy 注入和认证授权缺口。

CLI 快速参考

# 交互式
codex                          # 启动 TUI
/review                        # 打开审查预设

# 无头
codex exec "prompt"            # 非交互执行
codex exec --json "prompt"     # JSON 输出
codex exec --full-auto "prompt"  # 无审批提示

# 关键参数
--output-last-message FILE     # 保存响应到文件
--output-schema FILE           # 按 JSON schema 校验
--sandbox read-only            # 限制文件访问
-m gpt-5.2-codex              # 使用最佳审查模型
--json                         # 机器可读输出

# 恢复
codex exec resume SESSION_ID   # 继续之前的会话

适用场景

  • 在提交或开 PR 前进行本地代码审查。
  • 在 CI/CD 流水线中对 PR 或合并请求自动执行代码审查。
  • 对关键 PR 进行更严格的安全与质量检查。
  • 需要结构化、机器可读审查结果的自动化流程。

限制与安全注意事项

  • 在 CI/CD 中应始终使用 --sandbox read-only 和 --safety-strategy drop-sudo,防止文件被修改或权限被提升。
  • API Key 应通过 secrets 管理,切勿硬编码或在日志中输出。
  • 对于公开仓库,使用 drop-sudo 安全策略,防止 Codex 在执行期间读取自身的 API Key。
  • --dangerously-bypass-approvals-and-sandbox 仅可在隔离的 CI runner 中使用。
  • 建议仅在 PR 上运行而非每次提交,以节省成本。
  • 资料中未提供具体收费与价格信息。
  • 资料中未提供除 GPT-5.2-Codex 外的其他模型支持细节。