综合介绍
OpenAI Codex CLI 是一个开源的终端编码工具,由 OpenAI 开发,专为习惯终端的开发者设计。它通过自然语言指令生成代码、编辑文件、执行命令,并集成 Git 版本控制。Codex CLI 使用 OpenAI 的最新模型(如 o3 和 o4-mini),支持多语言编程,提供安全沙箱环境,限制网络访问和目录操作,确保安全。项目完全开源,鼓励社区贡献,适合快速开发、自动化任务和学习编程。
功能列表
- 代码生成:根据自然语言生成 Python、JavaScript 等多语言代码。
- 文件操作:创建、编辑文件,支持 Git 提交和版本管理。
- 命令执行:在沙箱中运行代码或命令,实时显示结果。
- 多模态输入:支持截图、图表输入,生成对应代码。
- 安全沙箱:默认禁用网络,仅操作当前目录,保障安全。
- 自动化审批:提供手动、自动编辑、全自动三种模式。
- 开源开发:允许用户查看代码、提交 PR 贡献功能。
- 项目文档:支持全局和项目级 Markdown 指令,定制行为。
使用帮助
安装流程
要使用 Codex CLI,需完成以下安装步骤:
- 系统要求:
- 操作系统:macOS 12+、Ubuntu 20.04+/Debian 10+,或 Windows 11(通过 WSL2)。
- Node.js:版本 >= 22(推荐 LTS 版本)。
- Git:版本 >= 2.23(推荐,用于版本控制)。
- 内存:至少 4GB,推荐 8GB。
- OpenAI API 密钥:从 OpenAI 官网 获取。
- 安装步骤:
- 通过 npm 全局安装(推荐):
npm install -g @openai/codex
- 或从源代码构建:
git clone https://github.com/openai/codex.git cd codex/codex-cli npm install npm run build
- 设置 API 密钥:
export OPENAI_API_KEY="your-api-key-here"
为永久设置,添加至 shell 配置文件(如
~/.zshrc
或~/.bashrc
):echo 'export OPENAI_API_KEY="your-api-key-here"' >> ~/.zshrc source ~/.zshrc
- 验证安装:
codex --help
若显示帮助信息,安装成功。
- 通过 npm 全局安装(推荐):
- Linux Docker 配置:
- 推荐使用 Docker 增强安全性:
./run_in_container.sh
- 确保 Docker 已安装,脚本会自动挂载当前目录并配置防火墙,仅允许 OpenAI API 访问。
- 推荐使用 Docker 增强安全性:
- 注意事项:
- 不要使用
sudo npm install -g
,应修复 npm 权限:sudo chown -R $(whoami) ~/.npm
- 确保 API 密钥有效,避免
401
或429
错误。
- 不要使用
使用方法
Codex CLI 通过终端命令操作,结合自然语言和沙箱环境,提供高效编码体验。以下是主要功能的使用流程:
1. 生成代码
- 操作流程:
- 交互模式:
codex
输入提示,如“创建一个 Python 函数计算斐波那契数列”。
- 单命令模式:
codex "生成 JavaScript 过滤数组函数"
- Codex CLI 生成代码,显示预览。
- 输入
y
接受并保存,输入n
拒绝。
- 交互模式:
- 高级选项:
- 指定模型:
codex --model o4-mini "生成 Go HTTP 服务器"
- 非交互模式:
codex -q "生成 SQL 查询" > output.sql
- 指定模型:
- 特色功能:
- 支持 Python、JavaScript、TypeScript、Go、SQL 等语言。
- 可处理复杂任务,如“生成带用户认证的 Flask 应用”。
2. 文件操作与 Git 集成
- 操作流程:
- 编辑文件:
codex "在 src/app.js 中添加登录功能"
- Codex CLI 显示代码差异,确认后保存。
- 提交到 Git:
codex "提交更改,消息为 '添加登录功能'"
- 编辑文件:
- 特色功能:
- 自动处理 Git 命令(
add
、commit
)。 - 支持批量操作,如:
codex "重命名所有 *.jpeg 为 *.jpg 并更新引用"
- 提供三种审批模式:
suggest
:默认,需手动确认所有更改。auto-edit
:自动应用文件更改,命令需确认。full-auto
:全自动,需谨慎使用:codex --approval-mode full-auto "更新 README"
- 自动处理 Git 命令(
3. 运行代码
- 操作流程:
- 执行代码:
codex "运行 src/main.py"
- Codex CLI 在沙箱中运行,显示结果。
- 若缺少依赖,提示安装:
codex "安装 numpy 并运行 script.py"
- 执行代码:
- 特色功能:
- macOS 使用 Apple Seatbelt 沙箱,Linux 使用 Docker。
- 默认禁用网络,防止意外访问。
- 支持调试输出,显示错误详情。
4. 多模态输入
- 操作流程:
- 输入图像路径:
codex "根据 ui.png 实现界面代码"
- Codex CLI 分析图像,生成 HTML/CSS 或前端代码。
- 输入图像路径:
- 特色功能:
- 支持 UI 设计到代码的转换。
- 可处理图表或流程图,生成逻辑代码。
5. 配置与自定义
- 配置文件:
- 全局配置:
~/.codex/config.yaml
:model: o4-mini fullAutoErrorMode: ask-user
- 指令文件:
~/.codex/instructions.md
:- 使用 Python 3.9 - 禁止自动提交 Git
- 项目级配置:项目根目录的
codex.md
:- 优先使用 TypeScript - 运行测试前执行 npm run lint
- 全局配置:
- 禁用项目文档:
codex --no-project-doc
- 审批模式切换:
codex --approval-mode auto-edit
6. CI/CD 集成
- 操作流程:
- 在 GitHub Actions 中运行:
- name: 更新文档 run: | npm install -g @openai/codex export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}" codex -a auto-edit -q "更新 CHANGELOG"
- 设置静默模式:
export CODEX_QUIET_MODE=1
- 在 GitHub Actions 中运行:
- 特色功能:
- 支持非交互模式,适合自动化流程。
- 输出 JSON 格式,便于脚本处理:
codex -q --json "生成配置"
注意事项
- 确保目录受 Git 跟踪,
full-auto
模式会在非 Git 目录中发出警告。 - 检查 API 密钥配额,频繁调用可能触发限制。
- 项目为实验性,可能有不稳定功能,建议关注 GitHub 动态。
应用场景
- 快速原型开发
开发者可通过自然语言快速生成代码框架。例如,输入“创建带数据库的 Express 应用”,Codex CLI 生成路由、模型和配置文件,适合验证想法。 - 自动化任务
Codex CLI 简化重复任务,如“更新所有文件中的版权声明并提交”。它自动编辑文件、运行脚本并推送到 Git,适合批量操作。 - 编程学习
初学者可输入“用 Python 实现快速排序”,Codex CLI 生成代码并解释逻辑,适合自学或课堂教学。 - 开源协作
开发者可通过 GitHub 参与 Codex CLI 开发,提交 bug 修复或新功能,透明的代码库便于协作。 - CI/CD 管道
在 CI 环境中,Codex CLI 可自动更新文档、生成测试用例或修复 lint 错误,提升开发效率。
QA
- Codex CLI 与 2021 年的 Codex 模型有何不同?
Codex CLI 是基于最新 OpenAI 模型(o3、o4-mini)的终端工具,与 2021 年已停用的 Codex 模型无关,功能更强大且开源。 - 如何确保操作安全?
Codex CLI 默认在沙箱中运行,macOS 使用 Apple Seatbelt,Linux 使用 Docker,禁用网络并限制目录访问,避免系统风险。 - 支持哪些编程语言?
支持 Python、JavaScript、TypeScript、Go、SQL 等,具体由使用的 OpenAI 模型决定,可通过指令指定语言。 - Codex CLI 免费吗?
Codex CLI 本身免费,但需 OpenAI API 密钥,API 调用可能产生费用,详情见 OpenAI 定价。 - 如何停止 Codex CLI 修改文件?
使用suggest
模式,所有更改需手动确认:codex --approval-mode suggest