中文

GitHub 中的 Codex 代码评审

使用 Codex 审查 GitHub 拉取请求

为 GitHub 拉取请求设置 Codex 代码审查,使用 @codex review 请求审查,启用自动审查,并自定义审查准则。

使用 Codex 代码审查,为 GitHub 拉取请求增加一轮高价值审查。 Codex 会审查拉取请求差异、遵循仓库指南, 并发布标准 GitHub 代码审查,重点关注严重问题。Security Review 目前处于研究预览阶段,可对拉取请求中潜在的安全问题进行更深入的审查。

开始之前

请确保你已完成以下事项:

  • 为要审查的仓库设置 Codex cloud
  • 拥有 Codex 代码审查设置的访问权限。
  • 如果希望 Codex 遵循仓库特定的审查指南,请准备一个 AGENTS.md 文件。

设置 Codex 代码审查

要配置自动审查,你需要连接 GitHub 仓库,并对其设置拥有 GitHub 推送或管理员权限。

  1. 设置 Codex cloud
  2. 前往 Codex 设置
  3. 为仓库启用 Code review
显示 Code review 开关的 Codex 设置

请求 Codex 审查

  1. 在拉取请求评论中提及 @codex review
  2. 等待 Codex 做出反应(👀)并发布审查。
包含 @codex review 的拉取请求评论
Codex 会像团队成员一样在拉取请求上发布审查。在 GitHub 中,Codex 仅标记 P0 和 P1 问题,使审查评论始终聚焦于 高优先级风险。
拉取请求上的 Codex 代码审查示例

启用自动审查

如果希望 Codex 自动审查每个拉取请求,请在 Codex 设置中启用 Automatic reviews。 每当有人开启新的 PR 并请求审查时,Codex 都会发布审查, 无需添加 @codex review 评论。

自定义 Codex 的审查内容

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

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

Code Review 也可能在常规审查中识别与安全相关的问题, 因此 Code Review 和 Security Review 的发现偶尔可能重叠。

设置 Security Review

有关更详细的设置说明和配置选项,请参阅 Security Review

  1. 设置 Codex cloud
  2. 前往 Codex 设置
  3. Repository preferences 下,选择哪些拉取请求接受 Security Review 以及何时运行。选择 Whenever code review runs,使其 与 Code Review 一同运行。

请求 Security Review

若要手动请求 Security Review,请在拉取请求中添加此评论:

@codex security review

审查运行期间,Codex 会做出反应,随后直接在拉取请求上 发布安全发现。打开关联的 Codex 任务并选择 Security Report 标签页,可查看完整报告。

处理审查发现

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

@codex fix the P1 issue

Codex 会以拉取请求作为上下文启动云端聊天,并可在拥有相应权限时 将修复推送回该分支。

向 Codex 分配其他任务

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

@codex fix the CI failures

排查代码审查问题

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

  • 确认已在 Codex 设置中为仓库启用 Code review
  • 确认拉取请求所属仓库已设置 Codex cloud
  • 在拉取请求评论中使用准确的触发词 @codex review
  • 对于自动审查,请检查是否已启用 Automatic reviews,以及 拉取请求事件是否与你的审查触发器设置匹配。