工作流

Codex GitHub 审查不触发、@codex review 没反应?逐步排查与验证

在 GitHub PR 评论 @codex review 后没反应,或自动审查没触发?按仓库连接、审查开关、个人偏好、触发事件和实际结果逐项排查,区分未确认启动、没有高优先级发现与权限或额度错误。

在 GitHub 的 pull request(PR)里评论了 @codex review,却没看到反应;或者手动请求能出结果,自动审查一直不来。先把两个问题分开:这次请求是否有可见的处理记录,以及审查是否已经完成、只是没有行内意见。 没评论不等于没运行,出现 👀 反应也不等于审查已经完成。

这篇处理 GitHub 集成中的 Codex Code Review,也就是常说的 codex review not triggered。如果你是在本地聊天中审查工作区,先看 Codex 代码审查工作流;如果失败发生在 GitHub Actions 的任务日志,转到下文的“确认入口”,不要混用修复方法。

先按现象找下一步

当前看到什么 能确认什么 先做什么
评论后没有 👀,也无结果 尚未确认请求被处理 核对仓库与准确触发文本
已有 👀,但无最终结果 Codex 对请求作出了反应 查后续记录、错误及对应结果
没有行内意见 还不能判断成功或失败 找明确的审查结果与覆盖范围
手动正常,自动不运行 手动链路曾可用 查仓库、个人偏好及事件
明确提示权限或额度错误 已有具体失败线索 按提示处理对应条件

没有足够证据时,状态就记为“尚未确认”,不强行归到“没触发”。记录 PR、评论链接、提交版本和时间,后面每次只改一个条件,才知道哪一步起了作用。

1. 确认你用的是 GitHub 审查入口

适用情况: 不确定评论、CLI、应用里的审查和 CI 是否属于同一套功能。

对照你实际操作的位置:

  • GitHub PR 评论中的 @codex review:本文的手动代码审查入口。
  • Codex 设置中的自动审查:不依赖每次手动评论,但要满足仓库、个人设置与触发事件条件。
  • 本地 CLI、IDE 或应用中的审查:本地审查能成功,不足以证明 GitHub 已连接或自动审查已启用。
  • GitHub Actions 中的 openai/codex-action:它在 workflow 里运行 codex exec,应检查该次 Actions 的事件、job 和日志。可继续看 exec 输出与异常退出排查及官方 Action 文档。

普通 @codex 修复请求与 @codex review 也不同。官方 GitHub 文档将其他任务导向 legacy cloud chat;不能拿“修复任务能启动”当作 Code Review 已开启的证据。Security Review 另有专用入口和设置,也不等于普通代码审查。

验证: 你能明确指出失败的是哪一个入口,并找到它对应的评论、设置或 Actions run。若是 CI job 没执行,就沿 workflow 排查,不先调整个人自动审查开关。

2. 核对 PR 所属仓库与审查开关

适用情况: 手动请求无反应、仓库列表找不到目标,或从未成功运行过 GitHub 审查。

先看 PR 页面所属的 owner/repository,再打开 Codex code review 设置。不要只凭本地目录名或同名仓库判断;来自 fork 的 PR 也要核对 PR 页面所属仓库,而不是只看来源分支所在的 fork。

依次检查:

  1. 当前 Codex 登录身份及工作区是否是你准备使用的身份,GitHub 连接是否对应正确账号或组织。
  2. 目标仓库是否确实已连接到 Codex,设置列表里能否选到准确的 owner/repository。
  3. 进入目标仓库设置,确认代码审查已启用;按当前官方界面,相关开关位于 Review code → Automatic review。

预期结果: 设置里的目标与原 PR 一致,并能确认该仓库的审查状态。若仓库缺失或设置不可修改,先让有权管理该仓库连接的人员核查已授权范围与组织限制;不要为排查一个仓库就默认开放全部私有仓库,或反复断开所有连接。

官方明确规定,配置自动审查需要对应仓库的 push 或 admin 权限。这是配置条件,不应扩写成“所有手动请求都必须拥有管理员权限”。无权改设置时,应由有权限的人处理目标项;不能靠在本机提权、切换 CLI 沙箱或添加 API Key 绕过。

两项容易误判的前提也要排除:

  • AGENTS.md 用于补充仓库审查规则,不是启动审查的必需文件。没有它,不应直接判定触发失败;规则内容另见 AGENTS.md 指南。
  • 当前自动 cloud review 文档说明,无需创建或管理云端环境。不要为了评论审查不运行,先新建旧版 Codex Cloud 环境。

失败后: 仓库或开关仍无法确认,就停在这一层收集权限信息;只有前置条件明确后,下一次触发测试才有解释价值。

3. 用准确评论验证手动触发

适用情况: 已确认目标仓库连接和代码审查状态,需要区分评论入口问题与自动触发问题。

回到原 PR,在普通 PR 评论框提交以下纯文本;这是 GitHub 评论,不是终端命令:

@codex review

按官方推荐入口做一次清晰、可追溯的请求,不用 issue、标签或“请求人工 reviewer”代替这条 PR 评论。记录评论链接、提交时间和当时的 PR 最新提交;测试时尽量先保持该提交不变,避免后续 push 让结果对应哪个版本变得不清楚。

预期结果: 官方流程是 Codex 对评论作出 👀 反应,随后发布审查。观察时分开记录“已反应”和“已出现最终结果”:

  • 没有 👀 也没有结果:只能说尚未确认已处理。重新检查第 1、2 步及评论实际文本,不能据此证明请求从未进入后台。
  • 有 👀,没有结果:已有可见响应,但尚未证明完成;查看该评论之后的记录、关联的 Codex 结果或明确错误,再进入第 5 步。
  • 出现审查结果:核对它属于这次 PR 和预期变更,再判断是否有发现,而不是只数行内评论。

本文不给“等满两分钟就失败”之类固定时限,也不把某个 emoji 单独当作所有版本的完成契约。不要连续刷相同评论;先检查已有请求,修正已确认的问题后再做一次有记录的验证。

验证: 同一 PR 上能找到本次请求及对应审查结果,才算手动链路验证完成。只发出了评论、只看到反应,仍属于中间状态。若设置已经修正而仍无结果,保留记录,继续查明确的权限、额度或服务错误。

4. 手动正常,自动审查却没触发

适用情况: 同一目标仓库里已有成功手动审查记录,但你希望 PR 活动能自动触发。

打开同一份 code review 设置,分别检查以下三层,不能只看见一个开关亮了就结束:

  1. 仓库层:在准确的目标仓库中,检查 Review code → Automatic review。
  2. 个人层:检查 Personal preferences → Automatic review。当前官方说明,这一项用于你的 PR;同事开启了个人偏好,不等于你的 PR 也已经启用。
  3. 事件层:检查 Review trigger,把页面实际选中的条件与这次 PR 活动对照。不要自行假定每次 push、重新打开、转为 ready 都会触发。

先记录原值,再只修正与目标不符的选项。仓库级设置影响团队使用,应由有权限的人按团队约定修改;只想排查一次手动请求时,无需顺带改变全仓库的自动策略。

预期结果: 三层设置与目标一致。接着使用团队允许的测试 PR,在保存设置后产生一个确实符合当前 Review trigger 的事件,记录事件时间、PR 版本及随后结果。不要为了制造事件而向生产分支推无关改动。

验证: 这次没有新增手动 @codex review 评论,符合条件的事件之后仍出现对应审查结果,才能确认自动链路;手动成功只验证手动链路。不要把改开关前的旧事件当作一定会补跑的任务。

如果再次手动能成功,而匹配事件后仍无法确认自动结果,求助时提供三层设置和事件时间,继续按“自动链路未确认”排查,不必重复修改本地 config.toml。如果手动也开始失败,就回到仓库、身份及明确错误检查。

5. 没有行内评论:查结果、范围与明确错误

适用情况: 已有响应,但不知道审查是否完成;或者没有找到预想中的意见。

先在 PR 中查看后续时间线、review 记录及相关评论。有自动 cloud review 时,也可到 Codex 的 Code Review 查看对应 PR;官方资料说明自动审查意见可出现在 GitHub 和该入口。它与在 PR 聊天中另外启动的审查不同,不要把别的任务结果当成本次结果。

按证据处理,而不是猜测:

  • 明确已完成,没有高优先级发现:当前 GitHub Code Review 聚焦 P0、P1 问题,不保证每次都有行内评论。查看结果描述的范围与限制;没有发现不等于代码绝无缺陷,合并前仍需项目测试和团队审查。
  • 找到了结果,但对应较早提交或其他任务:只能说明那一次有结果。对照 PR 变更和结果上下文,最新修改是否已审查仍需单独确认。
  • 明确权限、仓库不可访问或组织限制错误:先核对当前身份和目标仓库的已授权范围;需要管理员介入时,给出目标仓库和脱敏错误,不请求无关权限。
  • 明确额度或 usage limit 错误:查看当前账号或工作区可见的 Code Review 用量、提示的限制和可用时的重置时间。以实际提示为准,不预设所有账号有相同次数或每周同一时刻恢复。
  • 明确任务失败或服务错误:保留错误与发生时间,按界面提供的重试、状态或支持入口处理;若没有错误也没有结果,仍记“未确认完成”,不编造根因。

官方用量说明将 GitHub 中的手动及自动审查计入 Code Review 用量,本地或其他入口的审查按通用用量处理。因此“CLI 还可用”不能单独排除 GitHub 审查额度问题;同样,没有明确额度提示也不能反推一定是配额耗尽。无需为验证这件事盲目购买额度或反复请求审查。

6. 怎样确认问题已经解决

先确认自己要恢复的是手动还是自动审查,再对照证据:

验证目标 完成依据 还不足以说明成功
手动请求 请求能对应到可查看的审查结果 评论已发出、只有 👀
自动触发 匹配事件后出现对应结果 仅手动请求成功
审查范围 结果与目标 PR、预期变更相符 只有旧提交的结果
修复缺陷 复查修改并通过相关项目检查 仅仅没有新的行内意见

若本次只有配置和文档核对,没有实际运行审查,就如实记录“尚未验证触发成功”。不要把一个未知状态写成完成,也不要为了制造“成功”而故意在真实项目中加入漏洞。

仍失败时,给出一份能接着查的记录

向仓库维护者或产品支持提供:

  • 入口:手动 PR 评论、自动审查,还是 GitHub Action。
  • 目标 PR、相关评论链接、时间与时区、对应提交;私有仓库信息只在有权访问的支持渠道分享。
  • 仓库审查开关、个人偏好与 Review trigger 的相关状态,以及本次实际发生的事件。
  • 是否有 👀、是否找到审查结果、是否有明确错误,以及结果对应的变更范围。
  • 已尝试的单项调整和结果;截图遮去无关私有仓库、账号信息和敏感代码,不附 token、Cookie 或完整认证配置。

这样可以说明“卡在哪一步、还有什么没确认”,比只有一句“Codex 没反应”更容易继续定位。若审查已经正常,只是反馈不符合项目需要,再看 代码审查范围与可执行反馈;若仓库规则被忽略,再查 AGENTS.md 读取与执行偏差,不要把它们都归为触发问题。

本文于 2026-10-17 重新核对 OpenAI 官方 GitHub 集成、自动 cloud review、用量与 GitHub Action 文档。步骤依据当前官方流程;未在用户真实 PR 上触发审查、修改仓库授权或故意制造故障,不把文档核验表述为所有账号的故障复现。

社区讨论

补充你的经验或问题

评论由 GitHub Discussions 承载;参与讨论需要登录 GitHub。