# Codex Review、GitHub 与 PR 工作流

> Codex 本地 /review、App Review pane、GitHub PR review、@codex、GitHub Action 和 Passion8 边界。

URL: https://docs.passion8.cc/docs/codex/review-github
Language: zh-CN
Publisher: Passion8

Codex 的 review 能力分三层:本地只读审查、App 里的 diff 反馈、GitHub / CI 托管审查。先选对运行位置,再决定是否让 Codex 修复。

## 三种 review

| 类型 | 入口 | 适合场景 | Passion8 |
| --- | --- | --- | --- |
| 本地 CLI review | `/review` | commit 前找 P0/P1 风险 | 可走本地 Passion8 配置 |
| App Review pane | Codex App 的 Review | 看 diff、行内评论、stage/revert | Local 线程可走 Passion8 |
| GitHub PR review | `@codex review` 或自动 review | PR 上的团队审查 | OpenAI / ChatGPT 云端能力 |
| CI review | `codex exec` 或 Codex GitHub Action | 自动检查 PR、release、迁移 | 取决于 CI 配置的 API Key |




GitHub 托管 review、Slack / Linear 触发的云端任务不会自动继承你本机的 Passion8 Provider。只有本地 CLI、App Local、IDE 和你自己配置的 CI 才能按 `https://passion8.cc/v1` 走。




## 本地 `/review`

在 CLI 里输入:

```text
/review
```

常用范围:

| 范围 | 说明 |
| --- | --- |
| Base branch | 对比 `main` / `master` 或上游分支,适合 PR 前 |
| Uncommitted changes | 看 staged、unstaged、untracked 的全部本地改动 |
| Commit | 审查某个历史 commit |
| Custom instructions | 临时要求聚焦安全、性能、可访问性、数据迁移等 |

建议把 review agent 设为更强模型:

```toml
review_model = "gpt-6-sol"
```

只读审查不要给写权限:

```bash
codex --sandbox read-only --ask-for-approval on-request
```

## App Review pane

Codex App 的 Review pane 更适合「边看 diff,边让 Codex 改」:

1. 打开 PR 分支或本地改动。
2. 进入 Review pane。
3. 选择 uncommitted、branch diff 或 last turn changes。
4. 对具体行留 inline comment。
5. 让 Codex 只处理这些 comments。
6. 再次检查 diff,最后 stage、commit、push。

如果 App 需要读取 GitHub PR 评论,本机要安装 GitHub CLI 并登录:

```bash
gh auth login
```

## GitHub PR review

官方 GitHub 集成适合团队 PR 流程:

```md
@codex review
```

Codex 会审查 PR diff,遵循仓库里的 `AGENTS.md`,并在 GitHub 上发标准 review。官方口径里,GitHub review 主要聚焦 P0 / P1 级别问题,避免把评论区刷成样式建议。

`AGENTS.md` 里可以写 review 指南:

```md
## Review guidelines

- Treat authentication bypass as P0.
- Treat missing migration rollback instructions as P1.
- Do not flag copy edits unless they change product behavior.
```

修复 review 结果:

```md
@codex fix the P1 issue
```

如果没有反应,按这个顺序查:

| 检查 | 说明 |
| --- | --- |
| Code review 是否开启 | 在 Codex settings 的 code review 里打开仓库 |
| Cloud 是否配置 | 仓库需要 Codex cloud 环境 |
| 触发词是否正确 | PR comment 用 `@codex review` |
| 权限是否足够 | Codex 需要看到仓库和 PR diff |
| `AGENTS.md` 是否过宽 | Review 指南太泛会降低评论质量 |

## CI 和 GitHub Action

轻量 CI 可以直接跑 `codex exec`:

```bash
codex exec --sandbox read-only "Review this PR diff and return only P0/P1 risks."
```

更推荐 GitHub Actions 使用官方 action,由 action 处理 CLI 安装、代理和输出:

```yaml
name: Codex review
on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  codex:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0
          persist-credentials: false
      - uses: openai/codex-action@v1
        with:
          openai-api-key: ${{ secrets.OPENAI_API_KEY }}
          prompt: Review this pull request. Report only correctness, security, data loss, and missing-test risks.
          sandbox: read-only
```

安全要点:

| 项目 | 建议 |
| --- | --- |
| 触发来源 | 只允许可信用户或需要人工 approve 的事件 |
| Prompt 输入 | 清理 PR body、commit message、HTML 注释里的注入内容 |
| Secret | 放 GitHub secret,不要写进仓库 |
| 权限 | `contents: read` 起步,需要评论再开 `pull-requests: write` |
| Sandbox | Review 用 `read-only`,自动修复才考虑 `workspace-write` |

## PR 前检查表

- `/review` 已跑过,没有未处理 P0/P1。
- 测试和 lint 已跑过,失败原因写进 PR。
- `AGENTS.md` 的 review guidelines 没有过时。
- 大改动拆成能审的 commit 或 PR。
- Codex 的修复 diff 已人工看过。
- CI 里的 Codex prompt 不吃未过滤的用户输入。

## 接着看



- [非交互、CI 与 SDK](https://docs.passion8.cc/docs/codex/noninteractive-ci-sdk): codex exec、GitHub Action 和自动化密钥。
- [多代理、Subagents 与 Worktrees](https://docs.passion8.cc/docs/codex/subagents-worktrees): 用并行代理分别审查安全、测试和维护性。
- [记忆与 AGENTS.md](https://docs.passion8.cc/docs/codex/memory): 把 review 规则沉淀到仓库说明里。



## 官方参考

- [Codex manual: Review](https://developers.openai.com/codex/codex-manual.md)
- [Codex manual: Codex code review in GitHub](https://developers.openai.com/codex/codex-manual.md)
- [Codex manual: Codex GitHub Action](https://developers.openai.com/codex/codex-manual.md)
