GitHub 中的 Codex 代码评审
使用 Codex 审查 GitHub 拉取请求
为 GitHub 拉取请求设置 Codex 代码审查,使用 @codex review 请求审查,启用自动审查,并自定义审查准则。
使用 Codex 代码审查,为 GitHub 拉取请求增加一轮高价值审查。 Codex 会审查拉取请求差异、遵循仓库指南, 并发布标准 GitHub 代码审查,重点关注严重问题。Security Review 目前处于研究预览阶段,可对拉取请求中潜在的安全问题进行更深入的审查。
开始之前
请确保你已完成以下事项:
- 为要审查的仓库设置 Codex cloud。
- 拥有 Codex 代码审查设置的访问权限。
- 如果希望 Codex 遵循仓库特定的审查指南,请准备一个
AGENTS.md文件。
设置 Codex 代码审查
要配置自动审查,你需要连接 GitHub 仓库,并对其设置拥有 GitHub 推送或管理员权限。
- 设置 Codex cloud。
- 前往 Codex 设置。
- 为仓库启用 Code review。
请求 Codex 审查
- 在拉取请求评论中提及
@codex review。 - 等待 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。
- 设置 Codex cloud。
- 前往 Codex 设置。
- 在 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 issueCodex 会以拉取请求作为上下文启动云端聊天,并可在拥有相应权限时 将修复推送回该分支。
向 Codex 分配其他任务
如果你在评论中提及 @codex,且内容不是 review,Codex 会使用拉取请求作为上下文启动云端聊天。
@codex fix the CI failures排查代码审查问题
如果 Codex 没有做出反应或发布审查:
- 确认已在 Codex 设置中为仓库启用 Code review。
- 确认拉取请求所属仓库已设置 Codex cloud。
- 在拉取请求评论中使用准确的触发词
@codex review。 - 对于自动审查,请检查是否已启用 Automatic reviews,以及 拉取请求事件是否与你的审查触发器设置匹配。