用途
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
认证方式有两种:
- ChatGPT 订阅(Plus、Pro、Team、Edu、Enterprise):运行 codex 并按提示使用 ChatGPT 账号登录。
- 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 外的其他模型支持细节。