跳转到内容

审查 GitHub 拉取请求,使用 Codex

如需完整文档索引,请参阅 llms.txt。文档页面的 Markdown 版本可通过在页面后追加 .md 来获取 URL。

使用 Codex 代码审查,对 GitHub 拉取 请求进行另一轮高信号审查。 Codex 会审查拉取请求差异,遵循你的仓库指南, 并发布标准的 GitHub 代码审查,重点关注严重问题。安全 审查目前以研究预览版提供,可对拉取请求中的 潜在安全问题进行更深入的审查。

请确保具备以下条件:

  • Codex cloud 为你想审查的仓库设置好。
  • 访问 Codex 代码审查设置。
  • 如果你希望 AGENTS.md 遵循仓库专属审查指南,则需要一个文件 Codex 。

要配置自动审查,你需要一个已连接的 GitHub 仓库,以及 GitHub 对其设置的推送或管理员权限。

  1. 设置 Codex cloud。
  2. 前往 Codex 设置。
  3. 为你的代码仓库开启 Code review。

Codex settings showing the Code review toggle

  1. 在拉取请求评论中提及 @codex review。
  2. 等待 Codex 做出反应(👀)并发布审查结果。

A pull request comment with @codex review

Codex 会像团队成员一样在拉取请求上发布审查结果。在 GitHub 中,Codex 只会标记 P0 和 P1 问题,让审查评论集中关注 高优先级风险。

Example Codex code review on a pull request

如果你希望 Codex 自动审查每个拉取请求,请在 自动审查 中开启 Codex 设置。 Codex 每当有人打开新的 PR 以供审查时,都会发布审查,而无需 评论 @codex review 。

Codex 会在你的仓库中搜索 AGENTS.md 文件,并遵循适用的 代码审查规则。向最接近 ## Code Review Rules 规则所管辖代码的文件添加一个 部分。需要时使用 ### 标题来对相关检查进行分组 。

例如,实验报告服务可以防止曝光后的行为 改变对照队列:

## Code Review Rules
### Experiment cohorts
- Do not filter treatment comparisons on post-exposure behavior, including conversion or retention.
Safe path: build cohorts from assignment or exposure; report conversion as an outcome.

将代码仓库范围的规则放在根目录的 AGENTS.md 中,将服务特定的规则 放在嵌套文件中,例如 services/experiment_reporting/AGENTS.md。Codex 会针对每个发生变更的文件,应用根目录指南和涵盖该文件的更具体指南,因此 无关的变更无需携带服务特定的上下文。

先从两到三条简洁规则开始,编码记录审查者经常解释的检查项。实用的规则包括:

  • 聚焦有影响的、仓库专属的行为。 描述需要标记的 兼容性约束、数据边界或不安全副作用, 以及它为什么重要。
  • 说明安全路径或例外情况。 提供 Codex 足够的上下文,以区分 真实问题和预期行为。
  • 让规则保持范围明确且经久适用。 优先描述结果,而不是可能 会变化的函数名称,并将指南放在其管辖代码附近。
  • 将机械性检查留在 CI中。 不要把格式、lint 和其他 确定性检查写入审查规则。

打开一个有代表性的拉取请求,并使用 @codex review请求审查。 根据你看到的发现和反馈来优化规则,并缩小或 移除会产生噪音的指南。

代码审查规则会指导 Codex;它们不会取代测试、分支保护或 必需审批。

如果想针对某个具体方面进行一次性审查,请将其添加到拉取请求评论中:

@codex review for issues in the database migration

Security Review 是一项额外审查,适用于希望 特别关注拉取请求中安全问题的客户。它通过分析拉取请求差异、 相关仓库上下文,以及已配置的威胁模型或安全 指南,对安全特定风险进行比 Code Review 更深入的 审查。

代码审查也可以在常规 审查中识别与安全相关的问题,因此你可能会看到代码审查和安全 审查的发现偶尔重叠。

如需更详细的设置说明和配置选项,请参阅 安全 审查。

  1. 设置 Codex cloud。
  2. 前往 Codex 设置。
  3. 在 仓库偏好设置下,选择哪些拉取请求会获得安全 审查以及它何时运行。选择 每当代码审查运行时 以便让它 与代码审查一起运行。

要手动请求安全审查,请将此评论添加到拉取请求:

@codex security review

Codex 会在审查运行时作出反应,然后直接在拉取请求上发布安全发现。 打开关联的 Codex 任务并选择 安全 报告 标签页以查看完整报告。

Codex 发布审查结果后,你可以在同一个拉取请求中留下另一条评论, 请求它修复问题:

@codex fix the P1 issue

Codex 会以拉取请求为上下文开始云端聊天;获得相应权限后,它可以将修复 推送回该分支。

如果你在评论中提及 @codex,且内容不是 review,Codex 会使用你的拉取请求作为上下文,开始一次云端聊天。

@codex fix the CI failures

如果 Codex 没有反应或发布审查结果:

  • 确认你已在 代码审查 中为该仓库开启 Codex 设置。
  • 确认该拉取请求属于一个已 Codex cloud 设置好的仓库。
  • 在拉取请求评论中使用准确的触发词 @codex review 。
  • 对于自动审查,请检查你是否已开启 自动审查 ,并且 拉取请求事件与你的审查触发设置相匹配。