Codex: Codex GitHub 集成
最后更新:2026-08-31
Codex 与 GitHub 的集成是其最核心的生态优势,实现从 Issue 到 PR 的全自动化工作流。
📋 前置知识:了解 Git 和 GitHub 基本操作
1. 你将学到
- GitHub 集成配置
- Issue → PR 自动化
- PR 审查与评论
- 分支管理策略
2. GitHub 集成配置
(1) 授权 Codex
TEXT
📖 仅展示
1. 在 Codex 设置中选择 "Connect GitHub"
2. 授权 Codex 访问你的 GitHub 账号
3. 选择授权范围:
- Public repos(公开仓库)
- All repos(所有仓库,包括私有)
- Selected repos(指定仓库)
(2) CLI 配置
BASH
# GitHub Token
export GITHUB_TOKEN="ghp_xxx"
# 或在 auth.json 中配置
cat >> ~/.codex/auth.json << 'EOF'
{
"GITHUB_TOKEN": "ghp_xxx"
}
EOF
3. Issue → PR 自动化
(1) 从 Issue 创建任务
TEXT
📖 仅展示
> 修复 Issue #15:用户登录后白屏
# Codex 自动:
→ 读取 Issue #15 的描述
→ 创建分支 fix/issue-15
→ 分析问题根因
→ 修复代码
→ 运行测试
→ 创建 PR #16
→ 关联 Issue #15
→ 评论 "Fixed in #16"
(2) 批量处理 Issue
TEXT
📖 仅展示
> 处理所有标记为 "good-first-issue" 的 Issue
# Codex 逐个处理:
→ Issue #12: 修复拼写错误 → PR #13
→ Issue #14: 添加缺失的类型注解 → PR #15
→ Issue #18: 补充 API 文档 → PR #17
▶ 示例 1: Alice 的 Issue 处理流程
TEXT
📖 仅展示
# Alice 的 GitHub 工作流
1. 社区提交 Issue → 标签 "bug"
2. Alice 在 Codex 中:"修复所有 P1 bug"
3. Codex 逐个处理:
- 创建修复分支
- 修改代码
- 运行测试
- 创建 PR
- 关联 Issue
4. Alice 审查 PR → 合并
5. Issue 自动关闭
处理效率:从每人每天 3 个 Issue 提升到 15 个
4. PR 自动化
(1) 自动创建 PR
Codex 完成代码修改后,自动创建 PR:
TEXT
📖 仅展示
PR Title: fix: resolve login white screen issue
Branch: codex/fix-issue-15
Base: main
Changes:
- src/auth/login.ts: 添加错误边界处理
- src/components/Login.tsx: 修复状态管理 Bug
- tests/auth.test.ts: 新增 3 个测试用例
Test Results: ✅ 45/45 passed
(2) PR 描述模板
在 AGENTS.md 中定义 PR 描述格式:
MARKDOWN
## PR 规则
PR 描述必须包含:
- 变更说明
- 关联 Issue
- 测试结果
- 截图(如有 UI 变更)
(3) 自动审查
TEXT
📖 仅展示
> 审查 PR #42
# Codex 输出:
## 代码审查报告
### 🔴 严重
- src/api.ts:45 - SQL 拼接,存在注入风险
### 🟡 中等
- src/utils.ts:23 - 未处理的 Promise rejection
- src/auth.ts:67 - 过宽的 CORS 配置
### 🟢 建议
- src/models.ts:12 - 可以简化类型定义
- tests/api.test.ts - 缺少边缘情况测试
### 总结
- 1 个严重问题需修复后才能合并
- 2 个中等问题建议修复
- 2 个改进建议
5. 分支管理
(1) 自动分支命名
TEXT
📖 仅展示
Codex 自动创建分支的命名规则:
- fix/issue-{number}-{description}
- feature/{description}
- refactor/{description}
(2) 分支策略
| 策略 | 说明 |
|---|---|
| 从 main 创建 | 每个任务从 main 分支创建新分支 |
| 从开发分支创建 | 任务基于 develop 分支 |
| 从 PR 创建 | 在已有 PR 基础上继续修改 |
▶ 示例 2: Bob 的分支工作流
TEXT
📖 仅展示
# Bob 的团队使用 Git Flow
1. Codex 从 develop 创建 feature 分支
2. 完成 feature 后创建 PR → develop
3. 代码审查通过 → 合并
4. Release 时 develop → main
6. GitHub Actions 联动
YAML
# .github/workflows/codex-pr.yml
name: Codex PR Review
on:
pull_request:
types: [opened]
jobs:
auto-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Codex Review
run: |
npm install -g @openai/codex
codex --quiet --sandbox readonly \
"审查这个 PR,输出审查报告" \
> review.md
- name: Comment PR
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const body = fs.readFileSync('review.md', 'utf8');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body
});
❓ 常见问题
Q Codex 能处理私有仓库吗?
A 可以,但需要授权 Codex 访问私有仓库。在 GitHub OAuth 授权时选择 "All repos"。
Q Codex 创建的 PR 可以直接合并吗?
A 建议不要直接合并。先审查代码变更,确认测试通过后再合并。设置分支保护规则要求 PR 审查。
Q 如何限制 Codex 只读某些仓库?
A 在 GitHub OAuth 授权时选择 "Selected repos",只授权必要的仓库。
Q Codex 能操作 GitHub Actions 吗?
A 可以通过 MCP 的 GitHub 服务器触发和监控 Actions,但不能直接修改 workflow 文件。
Q 多个开发者同时用 Codex 处理同一仓库会冲突吗?
A 如果修改不同文件/分支,不会冲突。建议每人用独立的 feature 分支,避免同一分支并行操作。
📖 小节
- GitHub 集成:Issue → 修复 → PR → 审查 → 合并,全自动化
- PR 自动创建:包含变更说明、测试结果
- 代码审查:安全/性能/风格多维度
- 分支管理:自动命名、从目标分支创建
- GitHub Actions 联动:PR 时自动审查
📝 作业
- 基础题(难度⭐):连接 GitHub 仓库,让 Codex 从 Issue 创建 PR。
- 进阶题(难度⭐⭐):配置 GitHub Actions,实现 PR 自动审查。
- 挑战题(难度⭐⭐⭐):设计完整的 GitHub 工作流——Issue → 自动修复 → PR → 审查 → 合并 → 通知,画出流程图。