外观
第9章 自动化工作流
约 3028 字大约 10 分钟
2026-06-09
这一章来聊聊怎么让 Codex 自动化工作——GitHub Actions 集成、CI/CD 流程、代码审查自动化。说白了就是让 Codex 变成一个不用你盯着也能自己干活的助手。
9.1 啥是自动化?为啥需要它?
先打个比方。你想象一下一个工厂的生产线:
- 没有自动化的情况: 每一道工序都需要有人盯着,工人手动操作,做完一步叫你过来看,你点了头再做下一步。你想想,这得多慢?
- 有自动化的情况: 机器自己转,原料进去成品出来。人只需要设定好规则,偶尔看看就行。效率直接翻了好几倍。
Codex 的自动化就是干这个的。你设定好规则——比如"每次有人提 PR,自动让 Codex 审查代码"——然后 Codex 就会自己按这个规则干活,不需要你每次都手动去操作。
看到没?整个过程你可能连电脑都不用看,Codex 就帮你把代码审查和测试都搞定了。
9.2 GitHub Actions 集成
GitHub Actions 是啥?
简单说,GitHub Actions 就是 GitHub 提供的一个"机器人系统"。你告诉它"在什么情况下做什么事",它就自动去执行。比如:
- 有人提了 PR → 自动跑测试
- 有人提了 Issue → 自动分类
- 每天晚上 → 自动检查代码质量
Codex 可以接入 GitHub Actions,让这些自动化流程变得更智能。
怎么接入?
第1步:准备 API Key
# 设置你的 OpenAI API Key 为环境变量
export OPENAI_API_KEY="你的API密钥"注意
API Key 千万不要写在代码里,更不要提交到 Git 仓库。把它放在 GitHub 的 Secrets 里。
第2步:在 GitHub 仓库里添加 Secret
- 打开你的 GitHub 仓库
- 进 Settings → Secrets and variables → Actions
- 点 "New repository secret"
- Name 填
OPENAI_API_KEY,Value 填你的 API Key - 保存
第3步:创建 GitHub Actions 配置文件
在你的项目根目录下创建这个文件:
# 文件路径:.github/workflows/codex-auto-review.yml
name: Codex Auto Review
on:
pull_request:
types: [opened, synchronize]
jobs:
codex-review:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Codex
run: npm install -g @openai/codex
- name: Run Codex review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
codex exec --full-auto "审查这个 PR 的代码改动,找出潜在问题,包括安全漏洞、性能问题、代码风格问题。用中文给出审查意见。"第4步:提交这个配置文件
git add .github/workflows/codex-auto-review.yml
git commit -m "添加 Codex 自动代码审查"
git push好了!以后每次有人提 PR 或者更新 PR,Codex 就会自动审查代码并给出意见。
实际效果是啥样的?
提了一个 PR →
GitHub Actions 触发 →
Codex 自动分析代码改动 →
Codex 在 PR 里发表评论:
"发现3个问题:
1. 第42行:SQL 查询没有参数化,存在注入风险
2. 第58行:循环里做了重复计算,建议提到外面
3. 第71行:缺少错误处理,可能导致程序崩溃"你想想,要是手动做这些审查得花多少时间?Codex 几分钟就搞定了。
9.3 codex exec:非交互模式
这是啥?
前面咱们用的都是交互模式——你跟 Codex 一问一答地聊。但有时候你不需要聊天,只需要让 Codex 执行一个任务然后给你结果就行。这就是 codex exec 干的事。
打个比方:交互模式就像打电话,两个人来回聊;codex exec 就像发短信——你发一条过去,它干完给你回一条,结束。
基本用法
# 最简单的用法:给一个任务,执行完输出结果
codex exec "看看这个项目有没有明显的 Bug"常用的参数
| 参数 | 干嘛用的 | 举个例子 |
|---|---|---|
--full-auto | 让 Codex 全自动执行,不用确认 | codex exec --full-auto "修一下测试" |
--json | 输出 JSON 格式,方便脚本处理 | codex exec --json "分析代码质量" |
-o 文件名 | 把结果保存到文件 | codex exec -o report.md "生成项目报告" |
--sandbox 模式 | 设置安全模式 | codex exec --sandbox workspace-write "修代码" |
--model 模型名 | 指定用哪个模型 | codex exec --model gpt-5.5 "优化性能" |
啥时候用 codex exec?
| 场景 | 用交互还是 exec |
|---|---|
| 探索性聊天、问问题 | 交互模式 |
| 修一个明确的 Bug | exec |
| 在 CI/CD 里跑 | exec(唯一选择) |
| 生成报告 | exec + -o |
| 批量处理多个任务 | exec + 脚本 |
| 不知道该怎么做 | 交互模式 |
几个实用的例子
自动修复 Lint 错误:
codex exec --full-auto "修复所有 ESLint 报错,不要改变代码逻辑"生成 Changelog:
# 根据最近的 Git 提交记录自动生成更新日志
git log --oneline v1.0.0..HEAD | codex exec "根据这些提交记录生成中文更新日志"分析代码质量:
# 分析完后把结果保存到文件里
codex exec -o quality-report.md "分析这个项目的代码质量,列出所有问题和改进建议"9.4 代码审查自动化
为啥要让 Codex 做代码审查?
代码审查(Code Review)是开发中特别重要但特别耗时的工作。让 Codex 来帮忙做初审,人做终审,效率能提升好几倍。
你想想,一个 500 行的 PR,人工审查可能要半小时。Codex 几分钟就能给你一份详细的审查报告,标出所有可能有问题的代码。人只需要关注 Codex 标红的部分就行了。
怎么设置?
方法一:用 GitHub Actions(推荐)
前面 9.2 节已经说了怎么配置。
方法二:用命令行手动触发
# 审查某个 PR 的改动
codex exec "审查当前分支相对于 main 分支的改动,找出潜在问题"方法三:在 Desktop App 里设置定时审查
在 Codex Desktop App 里,你可以创建一个定时自动化任务:
- 打开 Desktop App
- 进 Automations 设置
- 创建新规则:"每天检查一次待审查的 PR"
- 关联一个 Skill(后面会讲)
Codex 能审查啥?
| 审查维度 | 啥意思 |
|---|---|
| 安全漏洞 | SQL 注入、XSS、敏感信息暴露等 |
| 性能问题 | N+1 查询、内存泄漏、不必要的循环等 |
| 代码风格 | 命名规范、代码格式、注释是否清晰 |
| 逻辑错误 | 条件判断错误、边界情况没处理等 |
| 最佳实践 | 是否遵循了框架的推荐写法 |
9.5 Automations:定时自动化任务
啥是 Automations?
Automations 是 Codex Desktop App 里的一个功能,让你可以设置定时自动执行的任务。就像设置闹钟一样——设好了,到点就自动执行。
能做啥?
| 自动化任务 | 啥意思 |
|---|---|
| 定时代码审查 | 每天自动检查新提交的代码 |
| 自动更新依赖 | 定期检查并更新过时的依赖包 |
| 自动生成报告 | 每周生成本周的开发进度报告 |
| 自动修 Bug | 发现新 Bug 自动尝试修复 |
| 自动跑测试 | 每次提交后自动运行测试 |
怎么设置?
- 打开 Codex Desktop App
- 选择一个项目
- 点 "Automations" → "Create new automation"
- 设置触发条件(比如"每天早上9点"或"每次有新提交")
- 设置任务内容(比如"检查代码质量并生成报告")
- 保存
设置好之后,Codex 会按照你设定的时间自动执行任务。执行完了你会在 App 里看到通知。
一个实际例子
假设你想每天早上自动检查代码质量:
自动化名称:每日代码质量检查
触发条件:每天早上 9:00
任务内容:检查当前项目的代码质量,包括:
1. 有没有新的 Lint 错误
2. 有没有明显的 Bug
3. 有没有安全风险
4. 依赖包有没有过时的
结果通知:检查完毕后发一份摘要9.6 一个完整的 CI/CD 工作流
咱们把前面的东西串起来,看一个完整的自动化工作流长啥样。
看到没?一个完整的流程,从代码提交到自动合并,人只需要处理 Codex 搞不定的情况。大部分工作都是自动完成的。
对应的配置文件
# 文件路径:.github/workflows/codex-ci.yml
name: Codex CI Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install -g @openai/codex
- name: Code Review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
codex exec "审查代码改动,找出安全漏洞和性能问题"
test:
runs-on: ubuntu-latest
needs: review
steps:
- uses: actions/checkout@v4
- run: npm install
- run: npm test
autofix:
runs-on: ubuntu-latest
needs: test
if: failure()
steps:
- uses: actions/checkout@v4
- run: npm install -g @openai/codex
- name: Auto Fix
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
codex exec --full-auto --sandbox workspace-write \
"读取测试失败的日志,找到失败原因,做最小的改动来修复测试,不要动无关代码"
- name: Re-run tests
run: npm test注意
--full-auto 模式下 Codex 会自动执行所有操作,不等你确认。在 CI/CD 环境里用没问题,因为环境是隔离的。但千万别在你本地的重要项目上随便用 --full-auto,除非你知道自己在干什么。
9.7 动手试试:设置一个 GitHub Action
来,咱们实际动手配一个。
第1步:确保你有 GitHub 仓库
# 看看当前项目有没有关联 GitHub
git remote -v如果没有,先去 GitHub 建一个仓库,然后关联:
git remote add origin https://github.com/你的用户名/你的仓库名.git第2步:添加 API Key 到 Secrets
去 GitHub 仓库 → Settings → Secrets → Actions → New secret → 填 OPENAI_API_KEY。
第3步:创建配置文件
mkdir -p .github/workflows然后创建文件 .github/workflows/codex-review.yml,内容:
name: Codex Review
on:
pull_request:
types: [opened]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install -g @openai/codex
- env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: codex exec "审查这个 PR 的代码,用中文列出所有问题"第4步:提交并测试
git add .github/workflows/codex-review.yml
git commit -m "添加 Codex 自动代码审查"
git push然后创建一个测试 PR,看看 Codex 是不是自动开始审查了。去 GitHub 的 "Actions" 标签页可以看到执行日志。
第5步:看看结果
如果一切正常,你会在 PR 页面看到 Codex 的审查评论。第一次看到自动审查结果的时候,说实话还是挺激动的。
小结
这一章聊了怎么让 Codex 自动帮你干活:
| 功能 | 一句话总结 | 适合场景 |
|---|---|---|
| GitHub Actions 集成 | PR 提交后自动触发 Codex | 团队协作、代码审查 |
codex exec | 非交互模式,一行命令搞定 | CI/CD、脚本自动化 |
| 代码审查自动化 | Codex 自动审查代码并给出意见 | 所有 PR 审查 |
| Automations | 定时自动执行任务 | 日常维护、定期检查 |
| 完整 CI/CD 流水线 | 从提交到合并全自动 | 成熟的项目团队 |
提示
自动化是好东西,但别一上来就把所有东西都自动化了。先从一个小的自动化开始(比如自动代码审查),跑顺了再逐步加更多的自动化。一步到位容易翻车。
下一章来聊聊几个真实的动手案例,看看用 Codex 到底能做哪些实际的事情:第10章 几个真实的动手案例
