👥 适用人群:开发者、架构师、团队负责人、编程爱好者 🛤️ 学习路径:安装配置 → 基础使用 → 高级功能 → 团队协作 → 安全合规 → 实战案例


第一章:Codex 简介

1.1 什么是 Codex?

Codex 是 OpenAI 推出的 AI 编程助手,将 GPT 级别的推理能力与本地代码执行能力结合,让开发者用自然语言即可读取、修改、执行代码。

核心特点

特性说明
🏠 本地运行直接在电脑上运行,代码不离开本机
🔓 开源免费Apache 2.0 许可,Rust 构建
🌍 跨平台macOS / Linux / Windows
🔌 MCP 支持连接 Model Context Protocol 扩展能力
⚡ 多种模式suggest / auto-edit / full-auto
🧠 多智能体并行运行多个 Agent 协同工作

Codex 的三种形态

① Codex CLI(终端版)

codex "帮我重构这个函数"
项目说明
特点轻量、快速、高度可配置
适用终端用户、CI/CD 集成
技术Rust 编写,性能极佳

② Codex IDE 插件

IDE安装方式
VS Code扩展商店搜索安装
Cursor内置支持
Windsurf内置支持

③ Codex App(桌面版)

项目说明
特点图形界面、多智能体并行、自动化工作流
适用复杂项目管理、团队协作
平台macOS / Windows

Codex vs Claude Code 对比

维度🟦 OpenAI Codex🟪 Anthropic Claude Code
底层技术Rust(速度极快)Node.js(生态兼容好)
开源✅ Apache 2.0❌ 闭源
核心哲学精细控制、自定义深度推理、自主思考
自定义扩展⭐⭐⭐ 自定义 Slash 命令⭐ CLAUDE.md
记忆文件AGENTS.mdCLAUDE.md
适合人群极客 / 架构师业务开发者

💡 提示:两者并不冲突,很多开发者同时使用 Codex CLI + Claude Code,各取所长。


第二章:安装与配置

系统要求

要求最低推荐
操作系统macOS 12+ / Ubuntu 20.04+ / Win 11最新 LTS 版本
Node.jsv22+v22 LTS
Git2.23+最新版
内存4 GB8 GB+

Codex CLI 安装

npm 全局安装(推荐):

npm install -g @openai/codex

Homebrew(macOS / Linux):

brew install --cask codex

二进制文件: 前往 GitHub Releases 下载:

平台文件名
macOS (Apple Silicon)codex-aarch64-apple-darwin.tar.gz
macOS (Intel)codex-x86_64-apple-darwin.tar.gz
Linux (x86_64)codex-x86_64-unknown-linux-musl.tar.gz
Linux (arm64)codex-aarch64-unknown-linux-musl.tar.gz

验证安装:

codex --version

Codex App 桌面端安装

macOS 安装

官网下载(推荐):

  1. 访问 https://chatgpt.com/codex
  2. 点击 “Download for Mac” 下载 .dmg 文件
  3. 双击 .dmg → 将 Codex 拖入 Applications 文件夹 Homebrew Cask:
brew install --cask openai-codex

Windows 安装

官网下载(推荐):

  1. 访问 https://chatgpt.com/codex
  2. 点击 “Download for Windows” 下载 .exe 安装包
  3. 双击运行安装程序,按向导完成安装 winget 命令安装:
winget install OpenAI.Codex

Microsoft Store:

  1. 打开 Microsoft Store
  2. 搜索 “OpenAI Codex”
  3. 点击安装

认证配置

方式一:ChatGPT 账号登录(推荐)

运行 codex 后选择 Sign in with ChatGPT:

计划支持Codex 免费额度
ChatGPT Free有限
ChatGPT Plus$5 / 30天
ChatGPT Pro$50 / 30天
ChatGPT Team按成员分配

方式二:API Key 配置

# ── Linux / macOS ──
# 永久
echo 'export OPENAI_API_KEY="sk-your-api-key-here"' >> ~/.bashrc
source ~/.bashrc
# ── Windows PowerShell ──
# 永久
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-your-api-key-here", "User")

配置文件路径

# Windows
C:\Users\[用户名]\.codex\
├── config.toml    ← 主配置文件
├── auth.json      ← 认证信息
└── AGENTS.md      ← 全局指导文件

基础配置示例

# ~/.codex/config.toml
 
# 模型配置
model = "o4-mini"
model_provider = "openai"
model_reasoning_effort = "high"
 
# 操作模式
approval_mode = "auto-edit"
 
# 隐私保护
disable_response_storage = true
 
# MCP 服务器
[mcp_servers]
github = { command = "npx", args = ["-y", "@modelcontextprotocol/server-github"] }

第三章:OpenAI 订阅指南

订阅计划全景

计划月费Codex 额度适合人群
Free$0基础体验试用者
Plus$20/月$5 / 30天个人开发者
Pro$200/月$50 / 30天重度用户
Team$25/人/月按成员分配小团队
Enterprise定制自定义企业

各计划详细权益

🆓 Free 免费版

  • ✅ 可使用 Codex CLI 和 App
  • ✅ 访问 GPT-4o mini
  • ⚠️ 严重限速,高峰期需排队

⭐ Plus 订阅(最推荐入门)

  • ✅ 无限 GPT-4o 访问
  • ✅ o3 / o4-mini 推理模型
  • ✅ Codex 专用额度 $5 / 月
  • ✅ DALL·E 图片生成
  • ✅ GPTs 商店访问
  • ✅ 优先响应,无需排队

🚀 Pro 订阅(重度用户首选)

  • ✅ Plus 的全部权益
  • ✅ 无限 o3-pro 推理模型
  • ✅ Codex 专用额度 $50 / 月
  • ✅ 更高的速率限制
  • ✅ 早期体验新功能

API 模式费用估算

模型输入 / 1M tokens输出 / 1M tokens适合任务
o4-mini$1.10$4.40日常开发(推荐)
gpt-4o$2.50$10.00中等复杂度
o3$10.00$40.00复杂推理

省钱技巧

技巧说明节省幅度
🎯 用 o4-mini 做简单任务便宜 90%⭐⭐⭐
📝 精简提示词减少上下文 Token⭐⭐
🔄 /compact 定期压缩避免上下文过长⭐⭐
💳 Plus 订阅获 $5 免费额度⭐⭐⭐
📊 设 API 花费上限platform.openai.com 设置防止超支

中国大陆用户支付方案

方案一:虚拟信用卡(推荐)

服务注册门槛手续费推荐度
WildCard低,支付宝认证~2%⭐⭐⭐
Dupay~3%⭐⭐⭐
Depay~2.5%⭐⭐

方案二:API 预付费(无需订阅)

  1. 访问 https://platform.openai.com
  2. 注册账号并充值 API Credits
  3. 使用 API Key 模式运行 Codex(按量计费)

第四章:基础使用

启动方式

方式命令说明
交互模式codex进入对话界面
直接提问codex “解释项目结构”单次执行
指定模型codex -m o4-mini “简单任务”临时切换模型

三种操作模式

模式说明自主程度适用场景
suggest只建议,不执行🔒 最安全阅读 / 分析代码
auto-edit自动编辑,需确认⚖️ 平衡修改代码(默认)
full-auto自动执行一切⚡ 最快批量重构(谨慎)

指定模式:

codex -a suggest "重构这个函数"
codex -a auto-edit "添加错误处理"
codex -a full-auto "运行测试并修复错误"

基础交互示例

代码分析:

codex "分析这个函数的时间复杂度"
codex "找出代码中的潜在 bug"
codex "这个模块的依赖关系是什么?"

代码生成:

codex "为这个类写一个单元测试"
codex "生成 TypeScript 类型定义"
codex "根据注释生成实现代码"

代码修改:

codex "将这个函数改为异步实现"
codex "添加输入参数验证"
codex "重构为更小的函数"

命令行参数速查

codex [options] [prompt]
 
  -m, --model <model>          指定模型
  -a, --approval-mode <mode>   设置操作模式
  -q, --quiet                  安静模式
  --profile <name>             使用配置文件
  --help                       帮助
  --version                    版本号

第五章:斜杠命令大全

会话与流程控制

命令功能典型场景
/new新建会话上一个任务结束
/undo撤销上一步Codex 改错代码
/exit退出程序下班 / 切换项目
/logout登出账号切换 OpenAI 账号
/resume恢复对话继续之前的工作
/fork分叉线程工作出现分支
/compact压缩历史对话过长变慢

配置与权限

命令功能典型场景
/approvals设置权限模式控制自动化程度
/model切换模型简单任务用 mini 省钱
/status查看状态Token 使用量
/mcp管理 MCP 工具调试外部连接

权限模式详解

/approvals 可选模式:
 
1️⃣ Auto(默认推荐)
   • 读取文件 → 自动执行
   • 修改文件 / 运行命令 → 按 Enter 确认
 
2️⃣ Read Only(只读)
   • 只能读取,不能修改
   • 适合审查敏感代码
 
3️⃣ Full Access(全自动)
   • 拥有完全终端控制权
   • ⚠️ 慎用!适合大规模重构

上下文与记忆

命令功能典型场景
/init初始化项目,生成 AGENTS.md项目必做第一步
/mention提及文件,加入上下文Codex 找不到文件时
/diff查看变更(Git Diff)提交前检查
/review代码审查让 AI 充当 Reviewer

动作与高级功能

命令功能典型场景
/planPlan 模式,先规划后执行复杂任务
/agent多代理切换多智能体协作
/skills浏览技能探索功能
/theme语法高亮主题个性化
/appsChatGPT apps扩展能力

自定义斜杠命令 🔥 —— 杀手级功能

Codex 允许你编写自己的斜杠命令,只需创建 Markdown 文件!

创建方法:

mkdir -p ~/.codex/prompts
# 文件名 = 命令名

示例:安全审计命令

创建 ~/.codex/prompts/security-audit.md:

# Security Audit
 
请扫描当前代码库,查找以下漏洞:
1. SQL 注入
2. 硬编码的密钥
3. XSS 漏洞
4. 不安全的依赖
 
生成 Markdown 报告,包含:漏洞位置、严重程度、修复建议

使用:

codex
> /security-audit     # 一键执行整套安全审计!

更多示例:

~/.codex/prompts/daily-report.md:

# Daily Report
分析今天的代码提交,生成日报:
1. 列出所有提交  2. 按模块分类  3. 统计变更量  4. 标注重要改动

~/.codex/prompts/fix-bug.md:

# Fix Bug Workflow
1. 运行测试找出失败用例  2. 分析原因  3. 修复  4. 重测  5. 提交

第六章:AGENTS.md 配置指南

AGENTS.md 的作用

自动加载进上下文,定义 Codex 在仓库中的工作方式:

作用示例
仓库结构关键目录和文件说明
运行方式构建 / 测试 / lint 命令
工程规范代码风格、命名约定
PR 期望标题格式、审查要求
约束禁止模式、敏感文件
验证完成标准、自测步骤

基础模板

# AGENTS.md
 
## 项目概述
Next.js 14 项目,App Router + Tailwind CSS。
 
## 目录结构
- /src/app        → 页面路由
- /src/components → 可复用组件
- /src/lib        → 工具函数
- /src/types      → TypeScript 类型
 
## 开发命令
- npm run dev   → 启动开发服务器
- npm run build → 构建生产版本
- npm run test  → 运行测试
- npm run lint  → 代码检查
 
## 代码规范
- TypeScript,禁止 any
- 函数式组件 + Hooks
- Tailwind,不写内联 CSS
- 文件命名 kebab-case
 
## 测试要求
- 新功能必须写测试
- 覆盖率 > 80%
- Vitest + Testing Library
 
## PR 规范
- 标题:type(scope): description
- 必须通过 CI
- 至少一个 Reviewer
 
## 禁止事项
- ❌ 直接修改 node_modules
- ❌ 提交 .env 文件
- ❌ 跳过测试提交

多层级配置

~/.codex/AGENTS.md          ← 全局(个人偏好)
项目根目录/AGENTS.md          ← 项目(团队规范)
项目子目录/AGENTS.md          ← 模块(局部规则)
 
优先级:子目录 > 项目根 > 全局

保持简洁

📏 一份简短准确的 AGENTS.md 比充斥模糊规则的长文件更有用。

建议:

  1. 先从基础规则入手
  2. 发现重复错误后才添加新规则
  3. 让 Codex 自己更新
# 当 Codex 犯了两次同样的错误
> 请回顾这次错误,并更新 AGENTS.md 以防止再次发生

第七章:MCP 服务器集成

什么是 MCP?

MCP(Model Context Protocol) 是开放协议,让 AI 模型连接外部工具和服务。

传统MCP
手动复制粘贴自动获取实时数据
记住 API 用法直接调用工具
信息容易过时始终最新

配置方法

命令行

codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp
codex mcp list           # 查看
codex mcp remove <name>  # 移除

配置文件(~/.codex/config.toml)

[mcp_servers]
github     = { command = "npx", args = ["-y", "@modelcontextprotocol/server-github"] }
filesystem = { command = "npx", args = ["-y", "@modelcontextprotocol/server-filesystem"] }
postgres   = { command = "npx", args = ["-y", "@modelcontextprotocol/server-postgres"] }
slack      = { command = "npx", args = ["-y", "@modelcontextprotocol/server-slack"] }

常用 MCP 服务器

服务器功能典型用途
🔗 GitHubIssue / PR / 分支管理代码审查自动化
🗄️ PostgreSQLSQL 查询 / 结构查看数据库管理
📁 Filesystem文件读写跨项目文件操作
💬 Slack发消息 / 读频道团队通知

第八章:Skills 技能系统

设计原则

一个技能 = 一项工作 + 明确输入/输出 + 清晰触发词

检查清单:

2-3 个具体用例

输入格式

输出格式

使用场景说明

触发短语

创建技能

文件结构:

~/.agents/skills/
└── my-skill/
    └── SKILL.md    ← 核心文件

SKILL.md 模板:

---
name: 日志分类器
description: 自动分析日志内容并分类
triggers:
  - "帮我分析日志"
  - "log analysis"
inputs:
  - 日志文件路径或文本
outputs:
  - 分类报告 + 异常统计
---
 
# 日志分类器
 
## 功能说明
自动识别 ERROR / WARNING / INFO / DEBUG
 
## 输出格式
统计摘要 + 异常详情 + 修复建议

技能管理

> /skills            # 浏览技能
> $skill-installer   # 安装技能
> $skill-creator     # 创建技能
 
# 位置
~/.agents/skills/              # 个人
项目根目录/.agents/skills/      # 团队共享

第九章:Codex App 桌面版

核心功能

① 多智能体并行

┌─────────────────────────────────────┐
│         Codex App 指挥中心            │
├─────────────────────────────────────┤
│  🤖 Agent 1 → 前端开发               │
│  🤖 Agent 2 → 后端 API              │
│  🤖 Agent 3 → 测试验证              │
│  🤖 Agent 4 → 文档编写              │
└─────────────────────────────────────┘
每个 Agent 在独立工作树中运行,互不干扰

② Skills 技能沉淀

将团队规范打包复用:前端规范 / API 规范 / 数据库规范 / 安全清单 / 部署流程

③ Automations 自动化

任务频率
代码提交汇总每天下班前
Bug 扫描每次 PR
发布说明发布时
CI 故障检查每天早上

Codex App vs CLI

功能CLIApp
界面终端图形
多智能体
自动化
技能管理基础完整
多项目手动可视化
适合个人团队

桌面操控能力(2026年4月新功能)

功能说明
🖱️ 光标控制独立光标,实时查看屏幕
📱 应用操控点击元素、输入文字
🧠 智能记忆保存偏好和工作流
⏰ 长期调度跨天/跨周推进项目

使用场景:

> 请打开我的电商后台
> 点击"商品管理"页面
> 截图检查当前界面
> 测试添加商品功能

第十章:API 高级用法

流式输出(Streaming)

流式输出让响应实时逐步返回,无需等待完整生成。

Python 示例:

from openai import OpenAI
 
client = OpenAI()
 
stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个代码审查助手。"},
        {"role": "user", "content": "审查这段代码的安全性问题:..."}
    ],
    stream=True
)
 
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Node.js 示例:

const stream = await openai.chat.completions.create({
    model: "gpt-4o",
    messages: [{ role: "user", content: "解释这段代码的作用" }],
    stream: true,
});
 
for await (const chunk of stream) {
    process.stdout.write(chunk.choices[0]?.delta?.content || "");
}

函数调用(Function Calling)

函数调用让模型结构化地请求执行操作,是 MCP 的底层机制。

定义函数:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取指定城市的天气",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名称"},
                    "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
                },
                "required": ["city"]
            }
        }
    }
]
 
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
    tools=tools,
    tool_choice="auto"
)
 
message = response.choices[0].message
if message.tool_calls:
    for tool_call in message.tool_calls:
        function_name = tool_call.function.name
        function_args = json.loads(tool_call.function.arguments)
        if function_name == "get_weather":
            result = get_weather(**function_args)
        messages.append(message)
        messages.append({
            "role": "tool",
            "tool_call_id": tool_call.id,
            "content": str(result)
        })

批量任务处理

批量代码审查:

def batch_review(directory, pattern="*.py"):
    """批量审查目录下的所有 Python 文件"""
    import glob
    files = glob.glob(os.path.join(directory, "**", pattern), recursive=True)
    results = []
    for file_path in files:
        with open(file_path, 'r', encoding='utf-8') as f:
            code = f.read()
        response = client.chat.completions.create(
            model="o4-mini",
            messages=[
                {"role": "system", "content": "你是代码审查专家。简洁指出问题。"},
                {"role": "user", "content": f"审查以下代码,列出问题:\n```\n{code}\n```"}
            ]
        )
        results.append({"file": file_path, "review": response.choices[0].message.content})
    return results

并行批量(更高效):

import asyncio
from openai import AsyncOpenAI
 
client = AsyncOpenAI()
 
async def review_file(file_path):
    with open(file_path, 'r') as f:
        code = f.read()
    response = await client.chat.completions.create(
        model="o4-mini",
        messages=[{"role": "user", "content": f"审查代码:\n{code[:4000]}"}]
    )
    return {"file": file_path, "review": response.choices[0].message.content}
 
async def batch_parallel(files, concurrency=5):
    semaphore = asyncio.Semaphore(concurrency)
    async def limited_review(fp):
        async with semaphore:
            return await review_file(fp)
    return await asyncio.gather(*[limited_review(f) for f in files])
 
results = asyncio.run(batch_parallel(file_list))

结构化输出

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "分析这个函数的复杂度"}],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "complexity_analysis",
            "schema": {
                "type": "object",
                "properties": {
                    "time_complexity": {"type": "string"},
                    "space_complexity": {"type": "string"},
                    "issues": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "type": {"type": "string"},
                                "severity": {"type": "string", "enum": ["low", "medium", "high"]},
                                "description": {"type": "string"}
                            }
                        }
                    }
                }
            }
        }
    }
)
analysis = json.loads(response.choices[0].message.content)

Embedding 与语义搜索

def code_search(query, code_files, top_k=5):
    """语义代码搜索"""
    query_embedding = client.embeddings.create(
        model="text-embedding-3-small",
        input=query
    ).data[0].embedding
 
    code_embeddings = []
    for fp in code_files:
        emb = client.embeddings.create(
            model="text-embedding-3-small",
            input=open(fp).read()[:8000]
        ).data[0].embedding
        code_embeddings.append((fp, emb))
 
    import numpy as np
    scores = []
    for fp, emb in code_embeddings:
        similarity = np.dot(query_embedding, emb) / (
            np.linalg.norm(query_embedding) * np.linalg.norm(emb)
        )
        scores.append((fp, similarity))
 
    scores.sort(key=lambda x: x[1], reverse=True)
    return scores[:top_k]

第十一章:竞品深度横评

六大竞品一览

维度🟦 Codex🟪 Claude Code🟢 Cursor🟡 Copilot🔵 Windsurf🟠 Aider⬛ Devin
类型CLI + AppCLIIDEIDE 插件IDECLIAI 员工
开源
底层技术RustNode.jsElectron云端ElectronPython云端
价格免费起$20/月起$20/月$10/月$15/月免费+API$500/月
多智能体✅ App
MCP
自定义命令
代码执行✅ 本地✅ 本地✅ 本地✅ 本地✅ 本地✅ 沙箱
适合人群极客业务开发日常开发初学者全栈极客企业

逐一分析

🟦 OpenAI Codex

优势:

  • ✅ 开源,完全自定义

  • ✅ Rust 构建,速度极快

  • ✅ MCP 生态扩展能力强

  • ✅ 自定义斜杠命令 = 工作流自动化

  • ✅ 多智能体并行(App) 劣势:

  • ⚠️ 推理深度不如 Claude Code

  • ⚠️ 文档尚在完善

  • ⚠️ 社区生态较新 适合:追求控制力和效率的架构师/极客

🟪 Anthropic Claude Code

优势:

  • ✅ 推理深度最强(Claude 3.5/4 系列)

  • ✅ 自主思考能力强

  • ✅ 超长上下文(200K tokens)

  • ✅ 代码理解力出色 劣势:

  • ⚠️ 闭源,无法自定义底层

  • ⚠️ 不支持 MCP

  • ⚠️ 价格较高 适合:需要深度推理的复杂项目

🟢 Cursor

优势:

  • ✅ IDE 体验最好

  • ✅ 多模型切换(GPT/Claude/Gemini)

  • ✅ 代码补全体验流畅

  • ✅ 上下文感知精准 劣势:

  • ⚠️ 闭源,订阅制

  • ⚠️ 无 CLI 模式

  • ⚠️ 不支持多智能体 适合:日常开发,IDE 党首选

🟡 GitHub Copilot

优势:

  • ✅ 生态最广(VS Code 内置)

  • ✅ 价格最低($10/月)

  • ✅ 企业方案成熟 劣势:

  • ⚠️ 功能最基础

  • ⚠️ 无法执行代码

  • ⚠️ 不支持自定义工作流 适合:初学者、轻量使用

🔵 Windsurf(Codeium)

优势:

  • ✅ Cascade 流式推理
  • ✅ 多智能体协作
  • ✅ 免费版功能丰富 适合:追求性价比的全栈开发者

🟠 Aider

优势:

  • ✅ 开源,Python 编写
  • ✅ 支持多模型
  • ✅ Git 集成最好
  • ✅ 完全免费 适合:终端极客、Git 工作流重度用户

⬛ Devin(Cognition)

优势:

  • ✅ 完全自主,接近人类员工

  • ✅ 可独立完成端到端任务 劣势:

  • ⚠️ 极贵($500/月)

  • ⚠️ 完全云端,代码离开本机

  • ⚠️ 不透明,难以审计 适合:预算充足的企业团队

选型决策树

你的首要需求是什么?

├─ 🎯 精细控制 & 自定义 → Codex CLI
├─ 🧠 深度推理 & 复杂逻辑 → Claude Code
├─ 🖥️ IDE 体验 & 日常开发 → Cursor
├─ 💰 最低成本入门 → Copilot
├─ ⚡ 性价比 & 多模型 → Windsurf / Aider
└─ 🏢 全自动 AI 员工 → Devin

组合使用策略

策略工具组合场景
🏆 黄金组合Codex CLI + CursorCodex 做架构/重构,Cursor 做日常编辑
🧠 深度思考Claude Code + CodexClaude 做推理,Codex 做执行
💰 穷人方案Aider + Copilot FreeAider 做复杂任务,Copilot 做补全
🏢 企业方案Codex App + Copilot BusinessApp 做项目管理,Copilot 做团队补全

第十二章:安全与隐私

数据处理流程

你的代码

本地 Codex(CLI/App)
    ↓ 加密传输
OpenAI API 服务器
    ↓ 生成响应
本地 Codex

返回结果(仅本地)
 
⚠️ 代码会在传输过程中到达 OpenAI 服务器
⚠️ 但不会被用于训练(付费用户)
✅ 传输过程使用 TLS 加密

关键数据策略

计划数据用于训练数据保留审计日志
Free可能30天
Plus/Pro30天
Team可配置
Enterprise可配置
API 模式不保留

💡 最安全的模式:使用 API Key + disable_response_storage = true,代码不会被存储。

沙箱与隔离机制

隔离层级:

Level 1: 网络隔离 → Codex 不主动发送数据到外部
Level 2: 文件系统隔离 → suggest 模式只读,auto-edit 需确认
Level 3: 命令执行隔离 → 危险命令需确认,full-auto 有执行白名单
Level 4: Agent 隔离(App)→ 每个 Agent 独立工作树,互不干扰

安全配置示例

# ~/.codex/config.toml — 安全配置
 
disable_response_storage = true
approval_mode = "auto-edit"
 
# 限制可执行的命令
[allowed_commands]
run_test = ["npm", "test"]
run_lint = ["npm", "run", "lint"]
run_build = ["npm", "run", "build"]
 
# 禁止的文件路径
[restricted_paths]
secrets = ".env*"
keys = "*key*"
certs = "*cert*"

敏感文件保护

AGENTS.md 中添加禁止规则:

## 禁止事项
- ❌ 不要读取 .env 文件
- ❌ 不要修改包含密钥的文件
- ❌ 不要执行包含 secrets 的命令
- ❌ 不要提交任何包含 API Key 的代码

企业合规审计

# audit.py — 企业安全审计脚本
 
def generate_security_report():
    """生成安全审计报告"""
    import os
    from pathlib import Path
 
    sensitive_patterns = ["api_key", "secret", "password", "token", ".env"]
    violations = []
 
    for root, dirs, files in os.walk("."):
        # 跳过 node_modules 和 .git
        dirs[:] = [d for d in dirs if d not in ["node_modules", ".git", "dist"]]
 
        for file in files:
            if file.endswith((".py", ".js", ".ts", ".json")):
                filepath = Path(root) / file
                try:
                    content = filepath.read_text(encoding="utf-8", errors="ignore")
                    for pattern in sensitive_patterns:
                        if pattern.lower() in content.lower():
                            violations.append({
                                "file": str(filepath),
                                "pattern": pattern,
                                "raw": content[max(0, content.lower().find(pattern.lower())-20):content.lower().find(pattern.lower())+50]
                            })
                except Exception:
                    pass
 
    return violations

第十三章:团队协作方案

多角色权限配置

# ~/.codex/config.toml — 按角色配置
 
# Junior Developer(只读 + 小修改)
[junior]
approval_mode = "suggest"
allowed_dirs = ["src/components", "src/pages"]
 
# Senior Developer(自动编辑)
[senior]
approval_mode = "auto-edit"
allowed_dirs = ["src/**"]
 
# Tech Lead(全权限)
[lead]
approval_mode = "full-auto"
allowed_dirs = ["**"]

团队共享 Skills

团队技能目录:
团队 Git 仓库/.codex/skills/
├── pr-review.md           # PR 审查清单
├── test-generator.md       # 测试生成规范
├── api-doc.md             # API 文档规范
├── security-check.md       # 安全检查
└── deploy.md              # 部署流程

团队技能示例 pr-review.md:

# PR Review — 团队标准审查
 
## 审查清单
 
### 代码质量
- [ ] 命名规范
- [ ] 函数长度 < 50 行
- [ ] 无重复代码
- [ ] 类型定义完整
 
### 测试覆盖
- [ ] 新功能有测试
- [ ] 边界条件有测试
- [ ] 测试通过率 100%
 
### 安全性
- [ ] 无硬编码密钥
- [ ] 输入验证完整
- [ ] SQL 参数化
 
### 文档
- [ ] 公共 API 有文档
- [ ] 复杂逻辑有注释

CI/CD 集成

# .github/workflows/codex-review.yml
name: AI Code Review
 
on:
  pull_request:
    branches: [main, develop]
 
jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
 
      - name: Setup Codex
        run: npm install -g @openai/codex
 
      - name: Run AI Review
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: |
          codex --model o4-mini --no-input "
          请审查以下 PR 变更,重点检查:
          1. 代码质量和风格
          2. 潜在的 Bug 和安全问题
          3. 测试覆盖
          4. 文档完整性
          "

代码库迁移流程

# 团队从旧工具迁移到 Codex
1️⃣ Tech Lead 安装并配置 Codex
2️⃣ 创建团队 AGENTS.md 并提交到 Git
3️⃣ 创建团队 Skills 库并同步
4️⃣ 新成员 clone 后自动继承配置
5️⃣ 逐步淘汰旧工具

第十四章:技术栈实战

React 技术栈

AGENTS.md 模板:

# AGENTS.md — React 项目
 
## 技术栈
- React 18 + TypeScript
- Vite (构建)
- TanStack Query (数据获取)
- React Router v6 (路由)
- Zustand (状态管理)
- Tailwind CSS (样式)
- React Hook Form + Zod (表单)
- Vitest + Testing Library (测试)
 
## 代码规范
- TypeScript,禁用 any
- 函数式组件 + Hooks
- Tailwind,不写内联 CSS
- 文件命名 kebab-case
 
## 常用命令
- npm run dev       → 启动开发
- npm run build     → 构建
- npm run test      → 测试
- npm run lint      → ESLint

高效提示词示例:

# 生成页面
codex "创建用户列表页面,使用 DataTable 组件,支持搜索和分页"
 
# 生成 API Hook
codex "为 /api/users 端点创建 useUsers Hook,使用 TanStack Query,包含类型定义"
 
# 调试
codex "这个组件在 SSR 时报 'window is not defined',修复它"
 
# 测试
codex "为 UserList 组件编写测试,包含:加载状态、空数据、搜索过滤、分页切换"

Python 技术栈

AGENTS.md 模板:

# AGENTS.md — Python 项目
 
## 技术栈
- Python 3.12
- FastAPI (Web)
- SQLAlchemy 2.0 (ORM)
- Pydantic v2 (验证)
- pytest (测试)
- Ruff (Lint + Format)
 
## 代码规范
- 类型注解必须完整
- 使用 async/await
- Pydantic Model 做输入输出验证
- 依赖注入用 Depends()
 
## 常用命令
- uvicorn app.main:app --reload  → 开发
- pytest                          → 测试
- ruff check .                    → Lint

高效提示词:

# 生成 CRUD
codex "为 User 模型创建完整的 CRUD API,包含 Pydantic schema、路由、服务层"
 
# 数据库迁移
codex "创建 Alembic 迁移脚本,添加 User 表的 email_verified 字段"
 
# 测试
codex "为用户注册 API 编写 pytest 测试,覆盖:正常注册、重复邮箱、密码强度验证"

Go 技术栈

AGENTS.md 模板:

# AGENTS.md — Go 项目
 
## 技术栈
- Go 1.22
- Gin / Echo (HTTP)
- GORM (ORM)
- pgx (PostgreSQL driver)
 
## 代码规范
- 遵循 Effective Go
- 错误处理必须显式
- 接口定义在消费方
- 表驱动测试
 
## 常用命令
- go run ./cmd/server    → 启动
- go test ./...           → 测试
- go vet ./...            → 静态检查
- golangci-lint run       → Lint

Rust 技术栈

AGENTS.md 模板:

# AGENTS.md — Rust 项目
 
## 技术栈
- Rust 1.78+
- Tokio (异步运行时)
- Axum (Web)
- SQLx (数据库)
- Serde (序列化)
 
## 代码规范
- Clippy 零警告
- 所有 public API 必须有文档注释
- 错误使用 thiserror 定义
- 异步函数使用 async fn
 
## 常用命令
- cargo run              → 运行
- cargo test             → 测试
- cargo clippy           → Lint
- cargo fmt              → 格式化

第十五章:成本分析与管控

成本结构全景

直接成本:

成本项月费说明
ChatGPT Plus$20含 $5 Codex 额度
ChatGPT Pro$200含 $50 Codex 额度
API 额度按量o4-mini ~$1-5/月(轻度)
API 额度按量o3 ~$20-200/月(重度)

用量追踪

# track_usage.py — 每日用量追踪
from datetime import datetime, timedelta
from openai import OpenAI
 
client = OpenAI()
 
def get_daily_usage():
    """获取 API 使用量"""
    usage = client.billing.usage(
        start_date=(datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d"),
        end_date=datetime.now().strftime("%Y-%m-%d")
    )
    return usage
 
PRICING = {
    "o4-mini": {"input": 1.10, "output": 4.40},
    "gpt-4o": {"input": 2.50, "output": 10.00},
    "o3": {"input": 10.00, "output": 40.00},
}
 
def estimate_cost(model, input_tokens, output_tokens):
    """估算单次调用成本"""
    price = PRICING.get(model, PRICING["o4-mini"])
    cost = (
        input_tokens / 1_000_000 * price["input"] +
        output_tokens / 1_000_000 * price["output"]
    )
    return cost
 
def monthly_projection(model, daily_tasks, avg_input=500, avg_output=800):
    """月度成本预测"""
    daily_cost = estimate_cost(model, avg_input, avg_output) * daily_tasks
    monthly_cost = daily_cost * 30
    return {
        "model": model,
        "daily_tasks": daily_tasks,
        "monthly_cost": f"${monthly_cost:.2f}",
    }

预算告警

# budget_alert.py — 每日检查 API 用量并发送告警
import os
import requests
from openai import OpenAI
from datetime import datetime
 
SLACK_WEBHOOK = os.environ.get("SLACK_WEBHOOK_URL")
MONTHLY_BUDGET = 50  # USD
 
def check_budget():
    client = OpenAI()
    usage = client.billing.usage(
        start_date=datetime.now().replace(day=1).strftime("%Y-%m-%d"),
        end_date=datetime.now().strftime("%Y-%m-%d")
    )
    total = usage.total_usage / 100
    percentage = (total / MONTHLY_BUDGET) * 100
    if percentage >= 80:
        emoji = "🔴" if percentage >= 100 else "🟡"
        requests.post(SLACK_WEBHOOK, json={
            "text": f"{emoji} Codex 预算告警\n当月使用:${total:.2f} / ${MONTHLY_BUDGET}\n已使用:{percentage:.1f}%"
        })
 
if __name__ == "__main__":
    check_budget()

ROI 计算

指标无 AI有 Codex提升
功能开发时间8h4h50% ⬆️
代码审查时间2h0.5h75% ⬆️
Bug 修复时间4h2h50% ⬆️
月度成本$0$20-50-
月度节省-~40h-

ROI 公式:

月度 ROI = (节省工时 × 时薪 - AI 工具费) / AI 工具费 × 100%
 
示例(时薪 $50):
ROI = (40h × $50 - $25) / $25 × 100% = 7900%
即每投入 $1,回报 $80

第十六章:最佳实践

提示词四要素

优秀提示 = 目标 + 上下文 + 约束 + 完成条件

示例:

🎯 目标:优化用户登录接口性能
 
📍 上下文:
   • 文件:src/api/auth.ts
   • 问题:每次登录 3 秒
   • 相关:src/utils/cache.ts
 
🔒 约束:
   • 接口不变
   • 不破坏安全性
   • 使用 Redis 缓存
 
✅ 完成条件:
   • 响应 < 500ms
   • 通过所有测试

推理级别选择

级别场景建议
🟢 低快速、范围清晰日常开发
🟡 中/高复杂改动、调试架构变更
🔴 极高需主动思考的长任务全新系统设计

⚠️ 最强推理 ≠ 最佳结果,匹配任务复杂度即可

规划优先

复杂任务务必先 /plan:

> /plan
# Codex 会:收集上下文 → 提问 → 制定计划 → 等确认后执行

避坑指南

❌ 错误✅ 正确
规则塞进提示里移到 AGENTS.md
不告诉如何跑测试明确构建/测试命令
复杂任务不规划先 /plan
一上来全开权限逐步放宽
多步不验证每步自动测试
对话太长不压缩定期 /compact
一次提多个需求一次一个清晰需求

进阶路线

Level 1 → 生成代码(复制粘贴)
Level 2 → 分析修改(理解上下文)
Level 3 → 规划验证(计划 + 测试 + 审查)
Level 4 → 自动化流(Skills + Automation)
Level 5 → 团队协作(AGENTS.md + 团队规范)
Level 6 → 自定义生态(MCP + Skills + API 集成)

第十七章:实战案例

案例一:遗留代码重构

场景:重构 3 年前的 PHP 遗留系统

codex
 
# 步骤 1:理解现有代码
> 分析 src/ 目录下的 PHP 文件结构,理解业务逻辑
> 重点关注:用户认证、订单处理、数据模型
 
# 步骤 2:创建 AGENTS.md
> /init
> 为 PHP 重构项目创建 AGENTS.md,包含:
> - 技术栈目标:Python FastAPI
> - 代码规范
> - 重构原则
 
# 步骤 3:分模块迁移
> 先迁移用户认证模块到 Python
> 为迁移后的代码编写测试
> 验证功能等价性
 
# 步骤 4:审查与优化
> /review
> 优化性能瓶颈
 
# 步骤 5:文档与部署
> 生成 API 文档
> 编写部署脚本

案例二:自动化代码审查流水线

# .github/workflows/daily-review.yml
name: Daily AI Code Review
 
on:
  schedule:
    - cron: '0 9 * * *'  # 每天早上 9 点
 
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
 
      - name: Install Codex
        run: npm install -g @openai/codex
 
      - name: Run AI Review
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: |
          codex --model o4-mini --no-input "
          审查昨天以来的代码变更,生成简洁的审查报告:
          1. 主要变更摘要
          2. 发现的问题
          3. 改进建议
          "
 
      - name: Create GitHub Issue
        uses: actions/github-script@v7
        with:
          script: |
            github.rest.issues.create({
              owner: context.repo.owner,
              repo: context.repo.repo,
              title: '📋 AI 代码审查报告 - ' + new Date().toLocaleDateString(),
              body: '请查看自动生成的代码审查报告'
            })

案例三:TDD 开发工作流

codex
 
# Test-Driven Development with Codex
 
# 步骤 1:编写测试
> 为 UserService.get_user(id) 编写测试用例,覆盖:
> - 正常获取
> - 用户不存在
> - 数据库连接失败
 
# 步骤 2:运行测试(应该失败)
> pytest tests/test_user.py -v
 
# 步骤 3:让 Codex 实现通过测试的代码
> 根据以上测试用例,实现 UserService.get_user 方法
> 确保通过所有测试用例
 
# 步骤 4:运行测试(应该通过)
> pytest tests/test_user.py -v
 
# 步骤 5:重构优化
> 重构代码,确保可读性和性能
> 确保所有测试仍然通过

案例四:全栈开发

codex
 
# 电商后台全栈开发
 
# 后端
cd backend
> 创建商品管理 REST API
> 包含 CRUD、搜索、分页
> 为所有接口编写集成测试
> 生成 OpenAPI 文档
 
# 前端
cd frontend
> 创建商品管理页面
> 使用 React + Ant Design
> 对接后端 API
> 添加表单验证和错误处理
 
# 数据库
> 设计商品表结构
> 创建 Alembic 迁移
> 编写种子数据
 
# 部署
> 编写 Dockerfile
> 配置 CI/CD
> 编写部署文档

案例五:DevOps 自动化

codex
 
# 场景:自动化发布流程
 
> 创建自动化部署脚本,包含:
> 1. 代码检查(lint + test)
> 2. Docker 镜像构建
> 3. 推送到镜像仓库
> 4. 滚动更新到 Kubernetes
> 5. 健康检查
> 6. 发送部署通知到 Slack
 
> 创建回滚脚本,能在 30 秒内回滚到上一版本
 
> 创建运维监控 Dashboard,展示:
> - 服务健康状态
> - 错误率
> - 响应时间
> - 资源使用率

附录

A. 命令速查卡

命令功能示例
codex启动交互codex
codex ”…”单次执行codex “解释代码”
/new新会话/new
/init初始化项目/init
/diff查看变更/diff
/review代码审查/review
/plan规划任务/plan
/undo撤销修改/undo
/compact压缩历史/compact
/model切换模型/model
/status查看状态/status
/skills浏览技能/skills
/mcpMCP 管理/mcp

B. 配置文件速查

配置项说明默认值
model默认模型o4-mini
approval_mode操作模式auto-edit
disable_response_storage禁用响应存储false
allow允许的命令[]
deny禁止的命令[]

C. 模型速查

模型适用场景性价比
o4-mini日常开发⭐⭐⭐⭐⭐
gpt-4o中等复杂度⭐⭐⭐⭐
o3复杂推理⭐⭐⭐

D. 环境变量速查

变量说明
OPENAI_API_KEYAPI 密钥
OPENAI_BASE_URLAPI 地址(代理时设置)
HTTP_PROXYHTTP 代理
HTTPS_PROXYHTTPS 代理

E. 常见错误代码

错误原因解决
AUTH_FAILEDAPI Key 无效检查 OPENAI_API_KEY
RATE_LIMIT请求过于频繁降低频率或升级计划
CONTEXT_OVERFLOW上下文超限使用 /compact
PERMISSION_DENIED权限不足检查 config.toml

F. 资源链接