OpenAI Codex 安装与使用指南
OpenAI Codex 安装与使用指南
Codex CLI 是 OpenAI 的终端编程智能体,在本地 Shell 中理解代码库、生成补丁、执行命令。适合 ChatGPT 订阅用户、Node/monorepo 维护者与无 IDE 的自动化场景。
产品概览
| 项目 | 说明 |
|---|---|
| 仓库 | github.com/openai/codex |
| 类型 | 终端 CLI Agent(Rust 实现) |
| 支持系统 | macOS、Linux、Windows(WSL 体验更佳) |
| 认证 | ChatGPT Plus/Pro/Business 登录,或 OpenAI API Key |
| 关联产品 | Codex IDE 插件、Codex 桌面 App、Codex Web(chatgpt.com/codex) |
安装步骤
方式一:独立安装脚本(推荐,无需 Node.js)
macOS / Linux:
# 官方独立安装器(自动加入 PATH)
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Windows PowerShell:
irm https://chatgpt.com/codex/install.ps1 | iex
方式二:npm
# 需 Node.js 18+(推荐 22)
# 注意:包名是 @openai/codex,不是 codex
npm install -g @openai/codex
勿安装无 scope 的
codex包,那是无关的旧项目。
方式三:Homebrew(macOS)
brew install --cask codex
方式四:GitHub Releases 二进制
从 Releases 下载对应平台包:
| 平台 | 文件名示例 |
|---|---|
| macOS ARM | codex-aarch64-apple-darwin.tar.gz |
| macOS Intel | codex-x86_64-apple-darwin.tar.gz |
| Linux x64 | codex-x86_64-unknown-linux-musl.tar.gz |
| Linux ARM | codex-aarch64-unknown-linux-musl.tar.gz |
解压后将二进制重命名为 codex 并加入 PATH。
验证与登录
# 检查版本
codex --version
# 启动并登录
codex
首次启动选择 Sign in with ChatGPT(推荐,含于 Plus/Pro 等计划),或配置 OPENAI_API_KEY 使用 API 计费模式。
# API Key 方式(可选)
export OPENAI_API_KEY="your-key-here"
codex
快速冒烟测试
cd your-project
codex "列出这个项目的主要目录和文件"
若正确列出文件,说明认证与沙箱均正常。
核心用法
交互模式
# 进入项目目录启动 Agent
cd ~/my-monorepo
codex
用自然语言描述任务,Codex 会:
- 阅读相关文件
- 通过
apply_patch等工具生成修改 - 在沙箱中执行命令(如跑测试)
- 展示 diff 供你确认
常用参数与命令
| 用法 | 说明 |
|---|---|
codex "任务描述" |
直接执行任务 |
codex exec "任务" |
非交互执行,适合脚本 |
--full-auto |
减少确认停顿(谨慎使用) |
--add-dir <路径> |
授权访问额外目录 |
codex update |
更新到最新版 |
/model |
会话内切换模型 |
/mcp |
查看已连接 MCP 工具 |
示例:自动修测试
codex --full-auto "运行测试并修复所有失败用例"
MCP 并行调用
Codex 作为 MCP 客户端,可连接文档服务、测试 Runner 等 Server,并支持并行工具调用,缩短多步任务耗时。
IDE 集成
若需在 VS Code / Cursor / Windsurf 中使用,可安装对应 IDE 扩展;本专栏侧重 CLI 终端场景。
沙箱与安全
- 默认在受限沙箱中执行,限制随意写盘与网络
- 改动前 Review diff,避免误删配置
- Windows 沙箱基于 AppContainer,官方标注仍为实验特性
- 推荐在 WSL2 中运行以获得更完整 Linux 体验
实战示例
Monorepo 跨包重构
将 packages/shared/src/logger.ts 中的 logInfo 重命名为 logDebug,
更新 monorepo 内所有 import,并运行各包的单元测试。
生成带注释的工具函数
在 src/utils/geo.ts 添加函数 haversineDistance:
- 参数为两点的经纬度(度)
- 返回球面距离(米)
- 添加完整 JSDoc 与边界情况处理
CI 集成思路
# 非交互模式用于流水线(需评估安全策略)
codex exec "根据 PR diff 生成 changelog 条目"
优缺点分析
优点
| 优点 | 说明 |
|---|---|
| 终端原生 | 无需 IDE,SSH/CI 友好 |
| ChatGPT 生态 | 订阅用户可直接使用 |
| Rust 实现 | 性能好,发布迭代活跃 |
| MCP 支持 | 可扩展企业工具链 |
| 并行工具 | 多 MCP 调用提速 |
| 沙箱机制 | 降低误操作风险 |
| 开源 CLI | Apache-2.0,社区可审计 |
缺点
| 缺点 | 说明 |
|---|---|
| 需付费计划 | Plus/Pro 或 API 费用 |
| 国内网络 | 登录与调用可能不稳定 |
| 无 GUI 补全 | 不能替代 IDE 日常体验 |
| Windows 实验性 | 原生 Windows 沙箱仍不完善 |
| npm 包混淆 | 错误安装旧 codex 包会踩坑 |
| 大仓库成本 | 长会话 token 与 API 消耗 |
| 与 Claude Code 竞争 | 选型需看模型偏好与生态 |
Codex vs Claude Code
| 维度 | Codex | Claude Code |
|---|---|---|
| 厂商 | OpenAI | Anthropic |
| 账号 | ChatGPT / API Key | Anthropic 订阅 |
| 语言实现 | Rust | 多语言 |
| IDE 插件 | 有 | 有(Claude in IDE) |
| 推理风格 | 偏 OpenAI 模型特性 | Claude 长推理突出 |
| 适合谁 | ChatGPT 重度用户 | Claude 重度用户 |
常见问题
| 问题 | 解决 |
|---|---|
| 装错 npm 包 | 确认 @openai/codex |
| EACCES 权限 | 用独立安装脚本或配置 npm 前缀 |
| 命令无响应 | 检查网络、登录状态、订阅额度 |
| 改动不可控 | 去掉 --full-auto;缩小任务范围 |
| 与桌面 App 混淆 | CLI 用 codex 命令;桌面版是另一入口 |
延伸阅读
本文由 xueyise 创作,AI 编程工具专栏。