Codex 简介¶
Codex 是 OpenAI 官方推出的一款面向开发者的命令行 AI 智能体(Agent)。它可以直接运行在本地开发环境中,自动阅读和修改代码、执行终端命令、运行测试,并根据执行结果持续调整方案,适合用于代码开发、调试、重构和自动化任务。
🚀 核心特性¶
- Agentic 编程能力:能够根据任务自主分析代码库、制定修改方案、编辑文件并验证结果,而不仅仅是进行代码问答。
- 本地项目操作:可以直接读取和修改当前项目文件,并调用 Shell 命令、Git、测试框架和其他开发工具。
- 自动测试与修复:能够在修改代码后运行测试,根据报错继续修复,形成“分析—执行—验证”的工作循环。
- 灵活的模型配置:支持 OpenAI 官方服务,也可以通过
model_providers配置兼容 OpenAI Responses API 的第三方或自建 API 服务。 - 多配置切换:支持通过模型参数或 Profile 在不同模型、不同 API Provider 之间快速切换。
📋 安装¶
请优先参考 OpenAI Codex 官方文档。
这里以 Ubuntu / WSL 环境为例。
安装 Node.js¶
Codex 可以通过 npm 安装,因此首先需要安装较新的 Node.js 环境。
如果系统已经安装 Node.js,可以先查看版本:
node -v
npm -v
建议使用较新的 Node.js LTS 版本,例如 Node.js 22。
如果已经安装 fnm,可以直接创建并启用 Node.js 22 环境:
fnm install 22
fnm default 22
fnm use 22
如果由于网络问题无法安装 fnm,也可以直接通过 NodeSource 安装:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
安装完成后确认版本:
node -v
npm -v
安装 Codex¶
通过 npm 全局安装:
npm install -g @openai/codex
如果当前 Node.js 是系统级安装,可能需要:
sudo npm install -g @openai/codex
安装完成后检查:
codex --version
网络代理
如果服务器无法直接访问 GitHub、npm 或 OpenAI 等服务,可以临时配置代理,例如:
alias proxy_on='export http_proxy="http://10.66.0.101:7890"; export https_proxy="http://10.66.0.101:7890"'
alias proxy_off='unset http_proxy; unset https_proxy'
proxy_on
安装结束后可执行:
proxy_off
配置大模型¶
Codex 默认可以使用 OpenAI 官方服务,也支持通过 ~/.codex/config.toml 自定义模型服务。
这里以 New API 中转服务 为例。
首先创建配置目录:
mkdir -p ~/.codex
nano ~/.codex/config.toml
加入以下配置:
model = "gpt-5.6-sol"
model_provider = "newapi"
[model_providers.newapi]
name = "New API"
base_url = "https://api.iomics.pro/v1"
env_key = "NEWAPI_API_KEY"
wire_api = "responses"
其中:
model:New API 中实际提供的模型名称。model_provider:指定当前使用的 Provider。base_url:New API 的 OpenAI 兼容接口地址。env_key:保存 API Key 的**环境变量名称**,这里不能直接填写 API Key。wire_api = "responses":使用 OpenAI Responses API。
不要将 API Key 直接写入 env_key
以下配置是错误的:
env_key = "sk-xxxxxxxx"
Codex 会把 sk-xxxxxxxx 当作“环境变量的名字”,从而出现:
Missing environment variable: sk-xxxxxxxx
正确方式是:
env_key = "NEWAPI_API_KEY"
然后在 Shell 中配置真实的 API Key。
配置 API Key¶
临时配置:
export NEWAPI_API_KEY="sk-xxxxxxxxxxxxxxxx"
然后运行:
codex
确认能够正常使用后,可以永久写入:
vi ~/.bashrc
加入:
export NEWAPI_API_KEY="sk-xxxxxxxxxxxxxxxx"
重新加载环境变量:
source ~/.bashrc
API Key 安全
不建议将 API Key 直接写入公开的配置文件、Git 仓库或 Wiki 页面。
config.toml 中只保存环境变量名称:
env_key = "NEWAPI_API_KEY"
API Key 本身建议保存在用户环境变量或其他凭据管理工具中。
测试 New API¶
Codex 使用 Responses API,因此中转服务需要支持类似:
POST /v1/responses
可以通过 curl 进行简单测试:
curl https://api.iomics.pro/v1/responses \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"input": "Reply only with OK"
}'
如果接口正常,会返回 JSON 格式的模型结果。
多模型配置¶
config.toml 中的:
model = "gpt-5.6-sol"
只是默认模型,并不代表 Codex 只能使用这个模型。New API 中同时提供多个模型,可以启动时临时指定:
codex -m gpt-5.6-sol
或者:
codex -m Qwen3.8-27B
因此同一个 Provider 可以对应多个模型:
New API
├── gpt-5.6-sol
├── GPT 系列模型
├── Qwen 系列模型
└── 其他兼容 Responses API 的模型
使用 Profile 管理多个模型¶
如果经常在多个模型之间切换,可以在配置中创建 Profile。
例如:
[model_providers.newapi]
name = "New API"
base_url = "https://api.iomics.pro/v1"
env_key = "NEWAPI_API_KEY"
wire_api = "responses"
[profiles.gpt]
model_provider = "newapi"
model = "gpt-5.6-sol"
[profiles.qwen]
model_provider = "newapi"
model = "qwen3-coder"
然后启动时选择:
codex --profile gpt
或者:
codex --profile qwen
这种方式比较适合同时维护多个项目或者经常切换模型的场景。
启动 Codex¶
进入项目根目录:
cd ~/projects/my-project
直接运行:
codex
Codex 会读取当前目录中的项目代码,并进入交互式 Agent 界面。
如果需要指定模型:
codex -m gpt-5.6-sol
如果已经配置 Profile:
codex --profile gpt
常用启动方式¶
默认启动¶
codex
指定模型¶
codex -m gpt-5.6-sol
指定 Profile¶
codex --profile gpt
直接提交任务¶
codex "分析当前项目结构并给出优化建议"
非交互式执行¶
codex exec "检查当前项目中的测试失败原因"
推荐目录结构¶
对于 WSL 环境,建议将代码项目直接放在 Linux 文件系统中,例如:
~/projects/
├── project-a/
├── project-b/
└── project-c/
然后:
cd ~/projects/project-a
codex
相比:
/mnt/c/
/mnt/d/
Linux 文件系统在大量小文件、Git、Node.js 和 Python 环境操作中通常更加合适。
大型数据文件则可以继续保存在 Windows 磁盘、NAS 或服务器存储中。
与 HAPI 配合使用¶
如果已经安装 HAPI,可以通过 HAPI 启动 Codex:
hapi codex
建议先确认直接运行:
codex
能够正常连接 New API,再配置 HAPI。
整体调用关系为:
HAPI
↓
Codex
↓
~/.codex/config.toml
↓
New API
↓
大语言模型
这样 HAPI 不需要单独维护一份模型 API 配置,Codex 仍然统一读取自己的 Provider 和模型配置。
本文阅读量 次本站总访问量 次