如何安装 Codex,并用 CC-Switch 配置 API Key

如何安装 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 中运行:

Terminal window
powershell -ExecutionPolicy Bypass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

这条命令来自 Codex 官方仓库。它默认从 OpenAI 的发布地址下载,必要时回退到 GitHub Releases。如果你不想直接执行远程脚本,可以改用下面的 npm 或手动下载方式。

安装完成后,关闭并重新打开终端:

Terminal window
codex --version
codex

第一次启动时,按提示选择 Sign in with ChatGPT 或 API Key 登录。

Windows:npm 安装#

npm 方式适合已经装好 Node.js 的用户。当前包要求 Node.js 16 或更高版本;实际使用建议安装仍在维护期内的 LTS 版本。

先检查环境:

Terminal window
node --version
npm --version

再安装:

Terminal window
npm install -g @openai/codex
codex --version

如果只是 npm 下载很慢,可以临时使用镜像:

Terminal window
npm install -g @openai/codex --registry=https://registry.npmmirror.com

镜像只影响 npm 安装包下载,不会替你代理 Codex 的模型请求,也不会解决 API Base URL 或账号登录问题。

macOS 与 Linux#

macOS 可以用 Homebrew:

Terminal window
brew install --cask codex

Linux 可以使用官方安装脚本:

Terminal window
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 中运行:

Terminal window
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 安装管理和可选的终端界面扩展。

Terminal window
npm install -g @openai/codex

Codex-Cli-Ultra Releases 下载 Windows x64 ZIP 和对应的 .sha256 文件。可以先校验摘要:

Terminal window
Get-FileHash .\codex-cli-ultra-v*-windows-x64.zip -Algorithm SHA256
Get-Content .\codex-cli-ultra-v*-windows-x64.zip.sha256

确认两边的 SHA256 一致后,解压并运行:

Terminal window
.\install.cmd

打开新终端验证:

Terminal window
codex --version
codex --i18n-self-check

Codex-Cli-Ultra 中文界面
Codex-Cli-Ultra 中文界面

需要恢复官方英文版时:

Terminal window
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 可以运行:

Terminal window
brew install --cask cc-switch

首次启动时,如果 CC-Switch 检测到已有 Codex 配置,可以先导入为默认供应商。这样切换失败时还有一份可回退的配置。

以 DeepSeek 官方 API 为例#

下面不再只讲抽象字段,而是完整走一遍 DeepSeek 官方 API 的接入过程。接口信息以 DeepSeek API 中文文档 为准。

1. 创建 DeepSeek API Key#

打开 DeepSeek 开放平台 并登录。

DeepSeek API 本身需要单独计费,先确认账户中还有余额。网页端聊天与 API 调用不是同一套额度。

DeepSeek 开放平台用量页面
DeepSeek 开放平台用量页面

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

DeepSeek API Keys 页面
DeepSeek API Keys 页面

点击右上角 创建 API key。名称可以任意填写,建议写成容易辨认用途的名字,例如 “Codex-CC-Switch”。

创建后立即复制并妥善保存。完整 Key 只在创建时显示一次,关闭窗口后无法再次查看,丢失只能重新创建。

创建 DeepSeek API Key 后复制密钥
创建 DeepSeek API Key 后复制密钥

不要把完整 Key 放进截图、Git 仓库、聊天记录或公开文章。

2. 在 CC-Switch 中添加 DeepSeek#

打开 CC-Switch,切换到 Codex,点击右上角的 +

如果应用内已经提供 DeepSeek 预设,优先选择预设。通常只需要:

  1. 粘贴刚才创建的 API Key;
  2. 点击 获取模型
  3. 从返回结果中选择真实存在的模型 ID;
  4. 保存供应商。

DeepSeek 会调整模型列表,截图或旧教程里的名称可能过时。撰写本文时,官方文档列出了 deepseek-v4-flashdeepseek-v4-pro,但实际配置仍以“获取模型”返回的 ID 为准。

如果当前 CC-Switch 版本没有 DeepSeek 预设,再选择自定义供应商:

字段内容
名称DeepSeek
API Key刚创建的 DeepSeek Key
Base URLhttps://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 的 设置 → 路由 → 本地路由

  1. 打开路由总开关;
  2. 在“路由启用”中打开 Codex
  3. 回到 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 与模型。预设会随版本更新,以应用内实际显示为准。

没有对应预设时,选择自定义供应商。

在 CC-Switch 中添加 Codex 供应商
在 CC-Switch 中添加 Codex 供应商

2. 填写供应商信息#

通常需要确认这些字段:

字段怎么填
名称就是名字
API Key从服务商控制台复制;
Base URL填服务商给出的 API 根地址,OPENAI格式通常以 /v1 结尾
模型填服务商实际支持的模型 ID,可以点击获取模型来获得列表
API 协议优先使用原生 Responses API;只有 Chat Completions 的接口需要本地路由映射

可以点击模型输入框旁的 获取模型。出现 401/403 一般是 Key 不对。

填写 API Key、Base URL 并获取模型
填写 API Key、Base URL 并获取模型

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,再关闭并重新打开终端,然后重新运行:

Terminal window
codex

CC-Switch 的 Codex 供应商切换不是当前会话热更新。旧终端或旧 Codex 进程可能还在使用切换前的配置。

CC-Switch 实际改了什么#

Windows 上,Codex 默认读取:

%USERPROFILE%\.codex\auth.json
%USERPROFILE%\.codex\config.toml

API 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:

Terminal window
Get-Command codex | Format-List Source
codex --version

再检查登录和配置状态:

Terminal window
codex login status
codex 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:

Terminal window
[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 的入口。执行:

Terminal window
where.exe codex
Get-Command codex -All | Select-Object Source

根据输出确认 PATH 中最先命中的到底是哪一个版本。安装 Codex-Cli-Ultra 后出现它自己的启动器是正常的;卸载时使用 codex-ultra uninstall 恢复官方入口。

参考#

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

如何安装 Codex,并用 CC-Switch 配置 API Key
https://mansus.cc/posts/如何安装codex并使用cc-switch配置api-key/
作者
Cec1c
发布于
2026-07-24
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Cec1c
为了留存某条林地小径
我应该说什么吗
每个不同页面有不同的配色系统。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
最新动态
分类
标签
站点统计
文章
2
动态
1
分类
2
标签
6
总字数
5,817
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.12.3
文章许可
CC BY-NC-SA 4.0