如何安装 Codex,并用 CC-Switch 配置 API Key
先说最基本的结构:一个能工作的 Agent,至少需要程序本体、模型服务地址和认证信息。
- Codex 是 Agent 程序。
- Base URL 决定请求发往哪里。
- API Key 用来认证和计费。
如果使用 ChatGPT 账号登录,认证由 OAuth 完成,看不到 API Key 也很正常。本文重点讲另一条路线:安装 Codex CLI,再用 CC-Switch 管理 API Key、Base URL 和模型。
于我个人而言,对使用中转站持负面态度,有技术,有条件,还是应当自行建立自己的号池,毕竟你无法确认会不会模型掺水,会不会拉大费率
先选路线
| 你的情况 | 建议 |
|---|---|
| 已有可用的 ChatGPT Plus、Pro、Business、Edu 或 Enterprise 账号 | 直接运行 codex,选择 Sign in with ChatGPT;通常不需要 CC-Switch |
| 只有 OpenAI API Key | 可以直接配置 Codex,也可以交给 CC-Switch 管理 |
| 需要在多个官方或第三方接口之间切换 | 使用 CC-Switch |
| 接口只支持 Chat Completions,不支持 Responses API | 使用 CC-Switch 的对应预设或本地路由映射 |
GPT的token plan 额度与其API key无关,如果你需要将token plan导出成API KEY你需要一个CPA或Sub2api反代
安装 Codex CLI
Windows:官方独立安装脚本
在 PowerShell 中运行:
powershell -ExecutionPolicy Bypass -c "irm https://chatgpt.com/codex/install.ps1 | iex"这条命令来自 Codex 官方仓库。它默认从 OpenAI 的发布地址下载,必要时回退到 GitHub Releases。如果你不想直接执行远程脚本,可以改用下面的 npm 或手动下载方式。
安装完成后,关闭并重新打开终端:
codex --versioncodex第一次启动时,按提示选择 Sign in with ChatGPT 或 API Key 登录。
Windows:npm 安装
npm 方式适合已经装好 Node.js 的用户。当前包要求 Node.js 16 或更高版本;实际使用建议安装仍在维护期内的 LTS 版本。
先检查环境:
node --versionnpm --version再安装:
npm install -g @openai/codexcodex --version如果只是 npm 下载很慢,可以临时使用镜像:
npm install -g @openai/codex --registry=https://registry.npmmirror.com镜像只影响 npm 安装包下载,不会替你代理 Codex 的模型请求,也不会解决 API Base URL 或账号登录问题。
macOS 与 Linux
macOS 可以用 Homebrew:
brew install --cask codexLinux 可以使用官方安装脚本:
curl -fsSL https://chatgpt.com/codex/install.sh | sh也可以到 OpenAI Codex Releases 手动下载与系统架构对应的稳定版。优先选择最新稳定版,不要在没有测试需求时安装带 alpha 标记的构建。
桌面端:Codex 已并入 ChatGPT 桌面应用
原文把 Codex App 和 ChatGPT 桌面客户端写成了两个独立应用,这已经过时。
OpenAI 当前在 Windows 上提供的是 ChatGPT desktop app,Codex 已经作为其中的本地开发能力存在,不需要再单独安装一个 Codex App。可以从 OpenAI 官方 Windows 文档 下载,或在 PowerShell 中运行:
winget install --id 9PLM9XGG6VKS -s msstore这不影响前面的 Codex CLI 安装方式:桌面应用和 CLI 是同一套 Codex 能力的不同入口,CLI 仍然可以独立使用。
OpenAI 文档说明,Windows 桌面应用与 Windows 原生 Codex 共用 %USERPROFILE%.codex;ChatGPT 桌面应用、Codex CLI 和 IDE 扩展也共用 config.toml。因此,后面通过 CC-Switch 写入的 Codex 配置也能被本地桌面链路读取。
可选:安装中文版 Codex CLI
我维护了一个非官方社区项目 Codex-Cli-Ultra,为 Codex CLI 提供简体中文语言包、Windows 安装管理和可选的终端界面扩展。
npm install -g @openai/codex从 Codex-Cli-Ultra Releases 下载 Windows x64 ZIP 和对应的 .sha256 文件。可以先校验摘要:
Get-FileHash .\codex-cli-ultra-v*-windows-x64.zip -Algorithm SHA256Get-Content .\codex-cli-ultra-v*-windows-x64.zip.sha256确认两边的 SHA256 一致后,解压并运行:
.\install.cmd打开新终端验证:
codex --versioncodex --i18n-self-check
需要恢复官方英文版时:
codex-ultra uninstall安装 CC-Switch
CC-Switch 是第三方开源配置管理工具,不是 Codex 的组成部分。它的作用是保存多个供应商配置,并把当前启用的配置写入各个 CLI 的实际配置文件。
Windows 10 或更高版本可以从 CC-Switch Releases 下载:
CC-Switch-v{版本号}-Windows.msi:安装版;CC-Switch-v{版本号}-Windows-Portable.zip:绿色版。
macOS 可以运行:
brew install --cask cc-switch首次启动时,如果 CC-Switch 检测到已有 Codex 配置,可以先导入为默认供应商。这样切换失败时还有一份可回退的配置。
以 DeepSeek 官方 API 为例
下面不再只讲抽象字段,而是完整走一遍 DeepSeek 官方 API 的接入过程。接口信息以 DeepSeek API 中文文档 为准。
1. 创建 DeepSeek API Key
打开 DeepSeek 开放平台 并登录。
DeepSeek API 本身需要单独计费,先确认账户中还有余额。网页端聊天与 API 调用不是同一套额度。

点击左侧 API keys,进入密钥管理页面。

点击右上角 创建 API key。名称可以任意填写,建议写成容易辨认用途的名字,例如 “Codex-CC-Switch”。
创建后立即复制并妥善保存。完整 Key 只在创建时显示一次,关闭窗口后无法再次查看,丢失只能重新创建。

不要把完整 Key 放进截图、Git 仓库、聊天记录或公开文章。
2. 在 CC-Switch 中添加 DeepSeek
打开 CC-Switch,切换到 Codex,点击右上角的 +。
如果应用内已经提供 DeepSeek 预设,优先选择预设。通常只需要:
- 粘贴刚才创建的 API Key;
- 点击 获取模型;
- 从返回结果中选择真实存在的模型 ID;
- 保存供应商。
DeepSeek 会调整模型列表,截图或旧教程里的名称可能过时。撰写本文时,官方文档列出了 deepseek-v4-flash 和 deepseek-v4-pro,但实际配置仍以“获取模型”返回的 ID 为准。
如果当前 CC-Switch 版本没有 DeepSeek 预设,再选择自定义供应商:
| 字段 | 内容 |
|---|---|
| 名称 | DeepSeek |
| API Key | 刚创建的 DeepSeek Key |
| Base URL | https://api.deepseek.com |
| API 格式 | OpenAI Chat Completions |
| 模型 | 点击“获取模型”后选择 |
| 需要本地路由映射 | 开启 |
DeepSeek 当前中文首页明确给出的 OpenAI 格式 Base URL 是 **https://api.deepseek.com**。优先使用 CC-Switch 预设;手动配置时填这个服务根地址,不要继续拼接 /chat/completions。
3. Codex 与 DeepSeek 当前到底使用什么协议
截至本文修订时,OpenAI 的 Codex 配置参考 对自定义 Provider 的说明是:wire_api 只支持 responses,省略时也默认使用 responses。
DeepSeek 所说的“兼容 OpenAI API 格式”不等于兼容 OpenAI 的所有 API。当前 DeepSeek API 中文文档 的首页示例调用 /chat/completions;API 参考列出了 Chat Completions、Completions、Models 和账户余额等接口,但没有公开 /responses 文档。
因此目前的结论是:
- Codex 自定义 Provider 端使用 Responses API;
- DeepSeek 官方公开文档提供的是 Chat Completions 兼容接口;
- Codex 不能按 DeepSeek 文档直接请求,需要 CC-Switch 做协议转换。
如果 DeepSeek 以后正式发布 Responses API,应以届时官方文档中的 /responses 接口和请求结构为准,再决定是否关闭本地路由,而不是仅凭“OpenAI 兼容”四个字判断。
4. 开启 Codex 本地路由
进入 CC-Switch 的 设置 → 路由 → 本地路由:
- 打开路由总开关;
- 在“路由启用”中打开 Codex;
- 回到 Codex 供应商列表,启用 DeepSeek。
CC-Switch 会让 Codex 连接本机路由,把 Codex 发出的 Responses 请求转换成 DeepSeek 能理解的 Chat Completions 请求,再把响应转换回来。不要把 wire_api 手动改成 chat。
切换后完全退出正在运行的 ChatGPT 桌面应用和 Codex CLI,再重新打开。发一个很小的测试请求,然后到 DeepSeek 用量页面确认请求次数或 Token 用量已经增长。
大功告成。
CC-Switch 的通用配置方法
1. 选择 Codex
打开 CC-Switch,在应用列表中选择 Codex,再点击右上角的 +。
如果列表里已经有你的服务商,优先选择预设。预设会自动填写协议、端点和路由方式,你通常只需要确认 API Key 与模型。预设会随版本更新,以应用内实际显示为准。
没有对应预设时,选择自定义供应商。

2. 填写供应商信息
通常需要确认这些字段:
| 字段 | 怎么填 |
|---|---|
| 名称 | 就是名字 |
| API Key | 从服务商控制台复制; |
| Base URL | 填服务商给出的 API 根地址,OPENAI格式通常以 /v1 结尾 |
| 模型 | 填服务商实际支持的模型 ID,可以点击获取模型来获得列表 |
| API 协议 | 优先使用原生 Responses API;只有 Chat Completions 的接口需要本地路由映射 |
可以点击模型输入框旁的 获取模型。出现 401/403 一般是 Key 不对。

3. 分清 Responses 与 Chat Completions
Codex 原生工作流使用 Responses API。供应商如果原生支持 /responses,可以直接连接。
如果供应商只提供 /chat/completions,不要简单把 wire_api 改成 chat。在 CC-Switch 中选择对应的 Chat Completions 预设,或开启 需要本地路由映射,由 CC-Switch 的本地代理完成协议转换和模型映射。
最常见的配置错误,就是 Base URL 能打开、Key 也没错,但服务端没有实现 Codex 需要的 Responses 协议。
4. 保存并启用
保存供应商后,在卡片上点击 启用。看到“当前启用”后,完全退出正在运行的 ChatGPT 桌面应用和 Codex CLI,再关闭并重新打开终端,然后重新运行:
codexCC-Switch 的 Codex 供应商切换不是当前会话热更新。旧终端或旧 Codex 进程可能还在使用切换前的配置。
CC-Switch 实际改了什么
Windows 上,Codex 默认读取:
%USERPROFILE%\.codex\auth.json%USERPROFILE%\.codex\config.tomlAPI Key 保存在 auth.json:
{ "OPENAI_API_KEY": "YOUR_API_KEY"}模型和端点保存在 config.toml。一个原生 Responses 供应商大致如下:
model_provider = "custom"model = "provider-model-id"model_reasoning_effort = "high"disable_response_storage = true
[model_providers.custom]name = "custom"base_url = "https://api.example.com/v1"wire_api = "responses"requires_openai_auth = true这段只是帮助你理解文件结构,不要原样复制示例地址和模型。通过 CC-Switch 创建供应商时,应让它按表单和预设生成配置。Chat Completions 路由模式下,实际配置还会指向 CC-Switch 的本地代理。
CC-Switch 自己还会把供应商数据保存在 ~/.cc-switch/cc-switch.db,并保留自动备份。因此:
- 不要把
.codex或.cc-switch目录提交到 Git; - 不要把 API Key 截进教程图片、终端记录或错误日志;
- 不要把包含 Key 的配置备份发给别人。
验证配置
先确认当前终端调用的是哪一个 Codex:
Get-Command codex | Format-List Sourcecodex --version再检查登录和配置状态:
codex login statuscodex doctor最后运行 codex,发一个很小的测试请求。能进入界面只说明程序装好了;只有请求实际返回,才能证明 Base URL、API Key、协议和模型都匹配。
常见问题
401 或 403
先检查:
- API Key 是否复制完整;
- 是否误带了空格、引号或
Bearer; - Key 是否属于当前 Base URL 对应的平台;
- 账号是否还有额度或调用权限。
404、405,或提示 Responses 不支持
通常是端点或协议不匹配:
- Base URL 不要直接填某个具体请求路径;
- 确认服务商是否真的支持 Responses API;
- 只有 Chat Completions 时,启用 CC-Switch 本地路由映射。
切换后仍然请求旧地址
先完全退出 Codex,并打开新终端。然后检查是否有环境变量覆盖配置文件。下面的命令只返回 True/False,不会打印 Key:
[bool]$env:OPENAI_API_KEY[Environment]::GetEnvironmentVariable("OPENAI_API_KEY", "User") -ne $null[Environment]::GetEnvironmentVariable("OPENAI_API_KEY", "Machine") -ne $null如果 CC-Switch 顶部出现“环境变量冲突”警告,先查看变量来源,再决定是否删除。CC-Switch 会把被删除的变量备份到 ~/.cc-switch/env-backups/,但仍建议先确认内容。
明明更新了,运行的还是旧版本
Windows 上可能同时存在 npm、官方独立安装器和 Codex-Cli-Ultra 的入口。执行:
where.exe codexGet-Command codex -All | Select-Object Source根据输出确认 PATH 中最先命中的到底是哪一个版本。安装 Codex-Cli-Ultra 后出现它自己的启动器是正常的;卸载时使用 codex-ultra uninstall 恢复官方入口。
参考
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!



