使用 CLIProxyAPI 搭建自部署 API 中转站

整篇分成三个部分:

  1. 用 CLIProxyAPI 搭出一个本地中转站。
  2. 用 cc-switch 快速切换 Claude Code / Codex 的配置。
  3. 在 VSCode 里复用这套配置。

项目地址:

1. 最终要实现的效果

这篇文章想达到的效果很简单:

  • 用 CPA 把 CLI 工具里的模型转成 API,并且支持多账号轮询。
  • 利用 cc-switch 把 CPA 反代出来的 API 接入到 Codex 和 Claude Code 中,并且支持快速切换配置。

说明:这里的“CPA”就是 CLIProxyAPI。下文统一写成 CLIProxyAPI,避免混淆。

2. 下载与安装 CLIProxyAPI

GitHub 项目地址:

根据自己电脑系统下载最新压缩包,解压后通常会看到这些文件:

1
2
3
4
5
6
7
static/
cli-proxy-api.exe
config.example.yaml
config.yaml
LICENSE
README.md
README_CN.md

3. 配置 CLIProxyAPI

3.1 复制配置文件

config.example.yaml 复制一份并重命名为 config.yaml

3.2 修改管理密码

打开 config.yaml,找到 secret_key 或类似字段,把它改成你自己记得住的密码。

示例:

1
secret_key: "123456"

说明:这个 secret_key 主要用于登录管理面板,不是你给 Codex 或 Claude Code 使用的 API Key。

3.3 启动服务

双击运行 cli-proxy-api.exe,会弹出一个命令行窗口。

注意:使用期间不要关闭这个窗口,关闭就相当于服务停止。

4. 登录管理面板

在浏览器里打开管理地址:

  • http://localhost:8317/management

然后输入你在 config.yaml 里设置的 secret_key

注意:启动后配置文件中的 secret_key 可能会显示成密文,这是正常现象,继续用你自己的明文密码登录即可。

5. OAuth 登录

进入管理面板后,在侧边栏找到 OAuth 登录。

然后选择你要授权的 AI 服务,点击登录获取验证链接,按提示完成授权。

完成后,CLIProxyAPI 会自动获取并保存认证文件。

6. 导入认证文件

如果别人分享了认证文件,你也可以直接导入到自己的 CLIProxyAPI 中使用。

支持的通常是 JSON 认证文件,导入后即可在对应 provider 中启用。

安全提示:不要导入来源不明的认证文件,避免账号被接管或凭据泄露。

7. 如何使用配置好的本地 API

这一步是最关键的。

你只需要记住两个信息:

  • Base URL: http://localhost:8317/v1
  • API Key: 在管理面板的 API 密钥列表里复制,或者自己创建一个

不同工具的 Base URL 写法

工具 Base URL 怎么填
Cherry Studio / 大多数 OpenAI 兼容客户端 http://localhost:8317/v1
Claude Code http://localhost:8317(不要加 /v1

8. 用 cc-switch 一键切换 Codex 和 Claude Code 的配置

如果你要频繁切换 Codex 和 Claude Code,手动改配置会比较烦,所以更推荐用 cc-switch。

9.1 cc-switch 的原理

它维护一套配置数据库。当你在 cc-switch 的 UI 里切换配置时,它会定位到相关工具的原始配置文件位置,然后直接覆盖或修改对应内容。

这样你就不需要每次都手动改:

  • Codex 的配置文件
  • Claude Code 的配置文件

9.2 下载 cc-switch

Windows 用户可以下载对应安装包,安装后打开面板即可使用。

9.3 添加自定义配置

详细步骤可以按这个顺序:

  1. 顶栏选择你要配置的 AI CLI,例如 Codex。
  2. 点击右上角 +
  3. 选择 自定义配置
  4. 填入:
  • 供应商名称
  • Base URL
  • API key

添加后就可以快速切换配置了。

9. 在 VSCode 中使用 Codex 和 Claude Code

如果你已经把 Codex / Claude Code 的 CLI 配好了,那么 VSCode 里相关扩展通常可以直接复用这套配置。

一般流程是:

  1. 打开 VSCode 的插件市场。
  2. 安装对应的 Claude Code / Codex 插件。
  3. 打开插件后,直接读取 CLI 工具共用的配置。

大多数情况下,不需要重新登录,因为 VSCode 插件读取的配置和 CLI 工具是共用的。

10. 我遇到的两个问题

10.1 让 Claude Code 使用 CLIProxyAPI 的 Codex API

在 cc-switch 中为 Claude Code 添加配置时:

  • API 格式选择:OpenAI Chat Completions
  • Base URL 不要带 /v1

正确写法:

  • http://localhost:8317

不要写成:

  • http://localhost:8317/v1

另外还要配置默认模型映射,比如:

  • opus
  • sonnet
  • haiku

分别映射到你要用的默认模型。

10.2 Codex 配置后报 404(/response 或 /responses)

如果你遇到类似这种错误:

1
unexpected status 404 Not Found: 404 page not found, url: localhost:8317/responses...

通常是因为:

  • Codex CLI 的请求路由方式和 CLIProxyAPI 支持的接口不一致。
  • CLIProxyAPI 当前配置与 responses 路径不兼容,或请求模式不匹配。

解决方案一般有两个方向:

  1. 把配置里的 wire apiresponse 改成 chat
  2. 检查你选的 API 格式是否和目标工具匹配。

参考资料:

11. 快速检测和删除无效账号

如果你导入了很多账号,建议定期清理失效账号,不然切换的时候会比较乱。

可以参考仓库里的其他配套工具或脚本来做检测和清理。

12. 小结

按照这套流程,你就能搭出一个比较完整的自部署 API 中转站:

  • CLIProxyAPI 负责统一转发和管理
  • cc-switch 负责快速切换 CLI 配置
  • VSCode 负责实际使用

如果你本来就有多个 AI 账号,这套方案的核心价值不是“省一次配置”,而是把账号、模型、路由和客户端分层管理,后面扩展起来会轻松很多。