如何使用 Codex

从 5 分钟上手到满血全自动编程

这不是又一篇"AI 编程工具测评"。这是你读完就能开始干活的操作手册。


一、为什么是 Codex,而不是别的

2025 年 4 月,OpenAI 干了一件大事:把 Codex CLI 以 Apache 2.0 协议开源了。

这意味着什么?意味着你拿到的不是一个"黑盒云服务",而是一个可审计、可定制、可本地运行的编程 Agent。它直接在你的终端里读文件、改代码、跑命令------像坐在你旁边的同事,而不是电话那头的顾问。

和同类工具的核心区别:

维度 Codex CLI Claude Code Cursor GitHub Copilot
开源 ✅ Apache 2.0(Rust 实现)
运行形态 终端 CLI + 桌面 App 终端 CLI IDE IDE 插件
审批模式 3 档精细控制 3 档 可视化确认 补全为主
MCP 支持 ✅ STDIO + HTTP 部分 有限
多 Agent ✅ 实验性(Git worktree 并行) Task 工具
免费额度 ChatGPT Plus 含 5 API / Pro 含 50 Pro $17/月 $20/月 $10/月

一句话选型建议:习惯终端 + OpenAI 生态 → Codex CLI;习惯终端 + Anthropic 生态 → Claude Code;不碰终端 → Cursor。想要开源可审计 → Codex CLI 是唯一选项。

GitHub 已获 83.9k Stars,这不是闹着玩的。


二、5 分钟快速上手

第 1 步:安装(选一种就行)

bash 复制代码
# 方式 A:npm 全局安装(推荐,需 Node.js 22+)
npm install -g @openai/codex

# 方式 B:Homebrew(macOS)
brew install --cask codex

# 方式 C:一键脚本(macOS/Linux,无需 Node)
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# 方式 D:直接下二进制(适合服务器/CI)
# 去 GitHub Releases 下载对应平台的 tar.gz

验证安装:

bash 复制代码
codex --version
# 输出版本号说明 OK

第 2 步:认证(二选一)

方式一:ChatGPT 账号(推荐新手)

bash 复制代码
codex
# 首次启动会提示 Sign in with ChatGPT
# 浏览器打开授权页面,点一下就行

支持的计划:Plus(20/月,含 5 API 额度)、Pro(200/月,含 50 额度)、Team/Business/Enterprise。

方式二:API Key(开发者/CI 推荐)

bash 复制代码
# macOS / Linux
export OPENAI_API_KEY="sk-你的Key"

# 永久写入
echo 'export OPENAI_API_KEY="sk-你的Key"' >> ~/.zshrc
source ~/.zshrc

# Windows PowerShell
$env:OPENAI_API_KEY="sk-你的Key"

第 3 步:跑通第一个任务

bash 复制代码
# 进入你的项目目录
cd ~/projects/my-app

# 启动交互模式
codex

# 输入任务
> 帮我看看这个项目是做什么的

Codex 会扫描目录结构、读源码、给你一份项目概览。这一步成功,说明链路完全打通了。


三、三大审批模式:Codex 的"安全旋钮"

这是 Codex 最核心的设计,必须搞懂。

模式对比

模式 命令 自动改文件 自动执行命令 适合场景
suggest(默认) codex ❌ 只建议 ❌ 只建议 新手入门、陌生代码库、不放心时
auto-edit codex -a auto-edit ❌ 需确认 熟悉项目、批量重构、低风险编辑
full-auto codex -a full-auto 隔离环境测试、throwaway branch、CI

新手铁律

复制代码
suggest 入门 → 熟悉后切 auto-edit → 在 git 隔离分支中尝试 full-auto

不要一上来就 full-auto。 先用 suggest 模式跑几个任务,观察 Codex 的行为模式,建立信任后再逐步放开权限。

full-auto 安全实践

bash 复制代码
# 1. 先 commit 干净状态
git add -A && git commit -m "checkpoint before codex"

# 2. 创建隔离分支
git checkout -b codex/experiment

# 3. 全自动模式开干
codex -a full-auto "给所有函数添加类型注解"

# 4. 不满意?一键回滚
git checkout .
# 或 git checkout main && git branch -D codex/experiment

full-auto 的最终安全网就是 git。 只要你 commit 了干净状态,任何 AI 操作都可以回滚。


四、AGENTS.md:给 AI 一份"上岗说明书"

这是 Codex 区别于普通代码补全工具的关键能力。

作用机制

Codex 启动时会自动读取以下文件,构建指令链:

复制代码
~/.codex/AGENTS.override.md  ← 临时全局覆盖(最高优先级)
~/.codex/AGENTS.md           ← 个人全局偏好
项目根目录/AGENTS.md          ← 团队共享规则
子目录/AGENTS.md             ← 模块级局部规则(覆盖父级)
当前目录/AGENTS.md           ← 最终生效

文件从根目录向下拼接,越靠近当前目录的越优先。每个文件最大 32 KiB。

实战模板

在项目根目录创建 AGENTS.md

markdown 复制代码
# 项目简介

基于 Next.js 14 + TypeScript 的电商后台管理系统。

# 目录约定

- `src/app/api/` --- 接口路由
- `src/components/` --- UI 组件(PascalCase 命名)
- `src/lib/db/` --- Drizzle 数据访问层
- `tests/` --- 测试文件(Vitest)

# 构建 / 测试 / Lint

- 启动:`pnpm dev`
- 测试:`pnpm test`(改完代码后必须跑)
- 类型检查:`pnpm typecheck`
- Lint:`pnpm lint --fix`

# 工程约束

- TypeScript strict mode
- DB 操作只走 Drizzle,禁止裸 SQL
- 提交前自动 lint,不要绕过 husky

# 不要做的事

- 不要修改 `src/legacy/` 目录
- 不要新增运行时依赖前不询问
- 不要跳过测试直接提交

效果对比

指标 AGENTS.md AGENTS.md
代码风格一致性 60% 95%
首次生成正确率 40% 75%
需要返工次数 3-5 次 0-1 次
新成员上手时间 2-3 天 半天

Override 文件:临时覆盖不改共享配置

markdown 复制代码
<!-- ~/.codex/AGENTS.override.md -->
<!-- 临时:支付模块调试期间,每次改动后都跑支付测试 -->

临时覆盖:支付调试期间
- 修改 services/payments/ 下任何文件后,运行 make test-payments
- 专注 checkout 流程,忽略无关失败

用完删掉就行,不影响团队的 AGENTS.md


五、日常用法速查

交互模式(最常用)

bash 复制代码
codex
# 进入全屏 TUI,像聊天一样输入任务
> 找出所有 TODO 注释,统计数量并生成报告
> 给 src/utils.py 添加日志装饰器
> 运行测试并修复失败的用例

单次命令模式

bash 复制代码
# 给任务描述,执行完退出
codex "在 README.md 中添加安装说明"
codex "找到所有 TODO 注释并生成报告"

管道模式(强大但被低估)

bash 复制代码
# 把错误日志喂给 Codex 分析
cat error.log | codex "分析这个错误日志,找出根本原因"

# 让 Codex 总结最近的提交
git diff HEAD~3 | codex "总结最近 3 次提交的改动"

# 分析项目结构
find . -name "*.py" | head -20 | codex "分析这个项目的文件结构"

# 修复已有代码
codex "给这段代码添加错误处理" < weather.py

交互模式快捷键

快捷键 功能
Enter 发送消息
Ctrl+C 中断当前任务
Ctrl+D 退出 Codex
\ + Enter 换行(多行输入)
Ctrl+T 查看 Codex 思考过程

交互命令

命令 功能
/model 切换模型或调整推理级别
/diff 查看当前变更
/undo 撤销最近一次修改
/clear 清空对话历史
/approvals 动态调整权限级别
/review 代码审查(对比 base 分支)
/help 帮助

六、提示词技巧:四元素模板

Codex 官方推荐的提示词结构:

复制代码
Goal: 要做什么?要改什么?
Context: 涉及哪些文件、文档、错误信息?
Constraints: 约束有哪些?规范、架构、安全要求?
Done when: 完成判定条件是什么?

实战示例

差的提示词

给代码加个测试

好的提示词

Goal: 给 src/auth/login.ts 的 loginUser 函数写单元测试

Context: 测试框架用 Vitest,测试文件放 tests/auth/login.test.ts

Constraints: 覆盖正常登录、密码错误、账号不存在、token 过期 4 个场景

Done when: 所有测试通过,覆盖率 ≥ 90%

差的提示词

优化性能

好的提示词

Goal: 优化 src/api/products.ts 的 getProductList 接口响应速度

Context: 当前平均响应 800ms,目标 < 200ms。数据库是 PostgreSQL,ORM 用 Drizzle

Constraints: 不改变 API 返回格式,不新增依赖

Done when: pnpm test 通过 + 本地基准测试响应 < 200ms


七、高级配置:config.toml 精细控制

全局配置在 ~/.codex/config.toml

toml 复制代码
# 默认模型
model = "gpt-5.3-codex"

# 默认审批策略
# untrusted(默认):不信任的命令前提示
# never:完全信任,自动执行
# on-failure:沙箱失败后请求非沙箱重试
approval_policy = "untrusted"

# 沙箱模式
# read-only | workspace-write | danger-full-access
sandbox_mode = "workspace-write"

# Profile:为不同场景创建独立配置
[profiles.safe_mode]
model = "o4-mini"
approval_policy = "untrusted"
sandbox_mode = "read-only"

[profiles.full_power]
model = "gpt-5.3-codex"
approval_policy = "never"
sandbox_mode = "danger-full-access"

# MCP 服务器配置
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]

[mcp_servers.postgres]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-postgres"]

使用 Profile:

bash 复制代码
codex --profile safe_mode "审查这个 PR"
codex --profile full_power "重构整个 utils 目录"

八、MCP 集成:让 Codex 连接一切

MCP(Model Context Protocol)让 Codex 超越纯代码编辑,连接外部工具和数据源。

常用 MCP 服务器

toml 复制代码
# ~/.codex/config.toml

# GitHub:管理 PR、Issue
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]

# PostgreSQL:直接查数据库
[mcp_servers.postgres]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-postgres"]

# 文件系统:扩展文件操作
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]

# Context7:实时文档查询
[mcp_servers.Context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]

MCP 实战场景

配置好 GitHub MCP 后,你可以直接对 Codex 说:

复制代码
> 看看 #142 这个 PR 有什么问题,帮我写个 review 评论
> 把 issue #88 的描述提取出来,创建一个分支开始修复
> 列出所有待合并的 PR,按更新时间排序

Codex 会自动调用 MCP 工具完成操作,不需要你手动切到浏览器。


九、Agent Skills:给 Codex 装技能包

Codex 支持 Skills 系统------打包好的指令+脚本,让 Codex 可靠地执行特定工作流。

Skill 是什么

复制代码
my-skill/
├── SKILL.md          # 必须:指令 + 元数据
├── scripts/          # 可选:可执行代码
├── references/       # 可选:参考文档
└── assets/           # 可选:模板、资源

SKILL.md 格式:

markdown 复制代码
---
name: deploy-staging
description: 部署到 staging 环境的完整流程。当用户说"部署到 staging"或"发预发"时触发。
---

# 部署到 Staging

1. 运行 `pnpm build` 构建生产包
2. 运行 `pnpm test` 确保测试通过
3. 执行 `./scripts/deploy-staging.sh`
4. 验证:curl https://staging.example.com/health
5. 如果失败,回滚到上一个版本

Skill 存放位置

作用域 位置 用途
仓库级 $CWD/.agents/skills 当前项目专用
仓库根 $REPO_ROOT/.agents/skills 整个仓库共享
用户级 $HOME/.agents/skills 个人跨项目
系统级 /etc/codex/skills 机器/容器共享
内置 随 Codex 安装 所有用户可用

安装社区 Skills

复制代码
$skill-installer linear

Codex 会自动发现新安装的 Skills。


十、Codex Cloud:云端后台运行

除了本地 CLI,还有 Codex Web(chatgpt.com/codex),核心区别:

特性 Codex CLI Codex Web
运行位置 本地终端 OpenAI 云端
需要本地环境
任务执行 实时交互 后台异步,可关页面
适合任务 实时开发协作 长耗时任务(全量测试、大重构)
文件访问 读写本地文件 连接 GitHub 仓库

Cloud Tasks(从 CLI 启动)

bash 复制代码
# 在 CLI 中启动云端任务
codex cloud run "给整个项目添加类型注解并运行全量测试"

# 选择运行环境(Docker 沙箱)
# 任务在云端异步执行,完成后返回 diff
# 你可以关闭终端,任务继续跑

适合耗时超过 30 分钟的大任务------本地终端不用一直开着。


十一、多 Agent 编排:高级玩法

Git Worktree 并行执行

Codex 支持在独立的 Git worktree 中并行运行多个 Agent,适合大规模重构:

bash 复制代码
# 创建 3 个 worktree 并行处理不同模块
codex --worktree "重构 auth 模块" &
codex --worktree "重构 payment 模块" &
codex --worktree "重构 notification 模块" &

# 各自独立工作,互不干扰
# 完成后合并分支

Codex 作为 MCP Server

Codex CLI 本身可以作为 MCP Server 运行,被其他 Agent 框架调用:

python 复制代码
from agents import Agent, Runner
from agents.mcp import MCPServerStdio

async with MCPServerStdio(
    name="Codex CLI",
    params={
        "command": "npx",
        "args": ["-y", "codex", "mcp-server"],
    },
) as codex_mcp_server:
    developer = Agent(
        name="Developer",
        instructions="你是前端开发专家,用 Codex 工具实现需求",
        mcp_servers=[codex_mcp_server],
    )
    result = await Runner.run(developer, "实现一个登录页面")

这意味着你可以用 OpenAI Agents SDK 编排一个多角色团队:PM 拆任务 → Designer 出设计 → Frontend Dev 写前端 → Backend Dev 写接口 → Tester 验证。


十二、CI/CD 集成:Headless 模式

bash 复制代码
# 非交互式执行,适合 CI/CD
codex exec "运行所有测试,如果失败就修复" --approval-mode full-auto

# GitHub Actions 示例
- name: Codex Review
  run: |
    codex exec "审查本次 PR 的改动,指出潜在问题" \
      --approval-mode suggest \
      --output-format json > review.json

Codex Autofix

在 CI 中自动修复 lint/类型错误:

yaml 复制代码
# .github/workflows/autofix.yml
- name: Run Codex Autofix
  run: codex exec "修复所有 lint 和类型错误" -a full-auto
- name: Commit fixes
  run: |
    git config user.name "Codex Bot"
    git add -A
    git diff --staged --quiet || git commit -m "fix: auto-fix lint/type errors"

十三、Codex vs 同类工具:真实场景对比

场景 1:给遗留项目补类型注解

工具 表现
Codex CLI codex -a auto-edit "给所有 .ts 文件添加类型注解" --- 全自动扫描+修改,5 分钟搞定 50 个文件
Claude Code 同样能做,但需要更多交互确认
Cursor 需要逐文件操作,效率低
Copilot 只能补全当前光标位置,无法批量操作

场景 2:从报错驱动修 Bug

bash 复制代码
# 把报错信息喂给 Codex
cat error.log | codex "分析错误,找到根因,修复代码" -a auto-edit

Codex 会读报错 → 定位文件 → 分析原因 → 修改代码 → 跑测试验证。一个命令完成完整闭环。

场景 3:大规模重构

bash 复制代码
# full-auto 模式 + git 隔离
git checkout -b refactor/cleanup
codex -a full-auto "消除所有重复代码,提取公共函数,更新所有引用"
git diff  # 检查改动
git checkout main && git merge refactor/cleanup  # 满意就合并

十四、最佳实践 & 避坑清单

✅ 推荐做法

  1. 每次任务前先 git commit --- 这是 full-auto 模式的安全网
  2. 写好 AGENTS.md --- 投入 30 分钟,节省数十小时返工
  3. 用四元素提示词 --- Goal + Context + Constraints + Done when
  4. 善用管道模式 --- cat error.log | codex "分析" 比复制粘贴高效 10 倍
  5. 配置 Profile --- safe_mode 审查、full_power 重构,一键切换
  6. Ctrl+T 看思考过程 --- 验证 Codex 是否正确理解了你的意图
  7. 定期更新 --- npm install -g @openai/codex@latest,迭代很快
  8. 用 .codexignore 排除噪声 --- 和 .gitignore 类似,排除生成文件、node_modules 等

❌ 常见坑

  1. 一上来就 full-auto --- 没建立信任就全放开,改错了都不知道
  2. 不写 AGENTS.md --- Codex 不知道你的项目规范,生成的代码风格不一致
  3. 提示词太模糊 --- "优化性能"不如"把 getProductList 响应从 800ms 降到 200ms"
  4. 让 Codex 处理安全敏感代码 --- 鉴权、加密、权限判断必须人审
  5. 在非 git 目录跑 full-auto --- 没有回滚保障,改坏了哭都来不及
  6. 不跑测试就提交 --- Codex 给的是"很可能合理的变更",不是"已证明等价"
  7. API Key 提交到 Git --- 用环境变量,不要写死在代码里

十五、模型选择指南

模型 特点 适合场景
gpt-5.3-codex 默认,代码专项优化 日常开发(推荐)
gpt-5.3-codex-spark 更快,Pro 专属 简单任务、快速迭代
o4-mini 性价比之王 批量操作、CI
o3 最强推理 复杂架构设计、算法实现
gpt-4.1 强力综合 需要非代码推理时

切换模型:

bash 复制代码
# 命令行指定
codex -m o3 "设计一个分布式锁的实现方案"

# 交互模式切换
/model o3

# 配置文件默认
# ~/.codex/config.toml
model = "gpt-5.3-codex"

十六、满血配置:一键启动最强 Codex

~/.zshrc~/.bashrc 中添加别名:

bash 复制代码
alias codex-power='codex -m gpt-5.3-codex \
  -c model_reasoning_effort="high" \
  -c model_reasoning_summary_format=experimental \
  --search \
  --dangerously-bypass-approvals-and-sandbox'

⚠️ --dangerously-bypass-approvals-and-sandbox 会跳过所有安全检查,仅在可信环境 + git 隔离分支中使用

保存后 source ~/.zshrc,以后输入 codex-power 就是满血启动。


十七、速查卡(打印贴桌上)

复制代码
┌─────────────────────────────────────────────────────┐
│                  CODEX CLI 速查卡                    │
├─────────────────────────────────────────────────────┤
│                                                     │
│  安装:  npm i -g @openai/codex                      │
│  Key:   export OPENAI_API_KEY="sk-..."              │
│                                                     │
│  基本用法:                                           │
│    codex                    # 交互模式               │
│    codex "任务描述"          # 单次任务               │
│    cat file | codex "分析"   # 管道输入               │
│                                                     │
│  审批模式 (-a):                                      │
│    suggest   → 只建议,不动手                         │
│    auto-edit → 自动改文件,命令要确认                   │
│    full-auto → 全自动(⚠️ 沙箱内 + git 隔离)         │
│                                                     │
│  模型 (-m):                                          │
│    gpt-5.3-codex → 默认,代码优化                     │
│    o4-mini       → 性价比                             │
│    o3            → 最强推理                           │
│                                                     │
│  配置文件:                                            │
│    ~/.codex/config.toml     # 全局配置               │
│    ~/.codex/AGENTS.md       # 全局指令               │
│    项目/AGENTS.md           # 项目指令(自动读取)     │
│    项目/.codexignore        # 忽略文件                │
│                                                     │
│  交互命令:                                            │
│    /model /diff /undo /clear /review /approvals     │
│                                                     │
│  提示词四元素:                                        │
│    Goal → Context → Constraints → Done when         │
│                                                     │
│  安全铁律:                                            │
│    full-auto 前先 git commit                         │
│    敏感代码必须人审                                    │
│    不在非 git 目录跑 full-auto                        │
│                                                     │
└─────────────────────────────────────────────────────┘

结语

Codex CLI 的本质是把 AI 从"建议者"变成了"执行者"。

它不只是告诉你该怎么改,而是直接帮你改好、测好、提交好。三档审批模式让你自己决定 AI 自主的边界,AGENTS.md 让你用文件定义权限,git 给你兜底。

最合理的上手路径:suggest 模式入门 → 熟悉后切 auto-edit → 在 git 隔离分支中尝试 full-auto。三步走完,你就理解了 Agent 编程的完整心智模型。

工具在迭代,但底层方法论不变:可控的自主 > 完全的自动


数据截止 2026 年 8 月。Codex CLI 更新频率较高,建议定期运行 npm install -g @openai/codex@latest 保持最新版本。

相关推荐
IT_陈寒1 小时前
Java并行流把我坑惨了:原来不是线程安全的!
前端·人工智能·后端
石逸凡1 小时前
AI驱动的金融IT架构转型升级
人工智能·金融·架构
染指11101 小时前
76.高级RAG-后检索器(时间排序)
人工智能·python·llama_index·llamaindex
小雷信息医学1 小时前
5 篇老年队列套路拆解第 3 篇:单库 + U 型新指标 + Cox + RCS 拐点
人工智能·机器学习
少冰1 小时前
从数据清洗到 Docker 部署:我在本地训练了一个中医领域 Qwen3 模型
人工智能
opensnn1 小时前
当闭源AI遇上开源反击:未来竞争的核心不是模型,而是生态
人工智能·开源
一碗白开水一1 小时前
入门实践工程九:基于 BERT 的中文情感分类微调~附:安装依赖库及工程源码
人工智能·深度学习·机器学习·自然语言处理·分类·bert
空堂与归2 小时前
大模型幻觉:一篇文章搞懂成因、分类与四种解决方案
人工智能
CoordClaw2 小时前
主流多智能体架构为什么大多失败——它们输在结构,不在模型
人工智能·架构