【LLM】Codex CLI 接入第三方大模型实践:实现 GLM / GPT 等多模型切换

˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗˗ˋˏ ♡ ˎˊ˗

1. 背景 ฅʕ•̫͡•

作为一名预算有限的前端开发er,在实际工作中,我们常常面临以下痛点ฅʕ•̫͡•:

  • GPT 成本较高:频繁调用 OpenAI 的 GPT 模型会产生不小的开销。
  • 希望使用国内模型:出于网络、合规性或成本考虑,有时更倾向于使用国内的 AI 模型。
  • 不同任务需要不同模型:并非所有场景都需要最强的模型,根据任务复杂度选择合适的模型可以优化成本与效率。

Soooooooo! ✧ ʕ̢̣̣̣̣̩̩̩̩·͡˔· Ɂ̡̣̣̣̣̩̩̩̩✧

针对不同的开发场景,我们可以参考以下模型选择策略:

场景 推荐模型
日常代码编写 GLM / Claude
大型架构分析 GPT
图片、多模态任务 GPT
简单代码补全 Flash 类模型

因此,我期望构建一个解决方案,其核心流程如下:

复制代码
Codex CLI
    |
    ↓
CLIProxyAPI
    |
    ↓
第三方模型

2. 整体架构

( ᵒ̴̶̷̤ꈊ˂̶̤̀ )✧

2.1 为什么需要 CLIProxyAPI?

Codex CLI 默认调用:OpenAI Responses API

而很多第三方模型提供:Chat Completions API

两者协议不同,因此增加代理层:

text 复制代码
┌─────────────┐
│  Codex CLI  │
└──────┬──────┘
       │
       │ Responses API
       ↓

┌───────────────┐
│ CLIProxyAPI   │
│               │
│ 协议转换       │
│ 模型路由       │
│ Key管理        │
└──────┬────────┘

       │
       │ Chat API
       ↓

┌─────────────┐
│   GLM/GPT   │
└─────────────┘

2.2 CLIProxyAPI 主要负责

  • 接收 Codex 请求
  • 转换 API 协议
  • 根据模型名称选择目标模型
  • 转发到对应服务

3. 环境准备

3.1 安装要求

支持平台:

bash 复制代码
macOS
Linux
Windows

依赖环境:

bash 复制代码
node >= 22
npm

环境检查:

bash 复制代码
node -v
npm -v

4. 安装 Codex CLI

4.1 安装步骤

安装命令:

bash 复制代码
npm install -g @openai/codex@latest

验证安装:

bash 复制代码
codex --version

安装成功提示:

bash 复制代码
codex-cli x.x.x

5. 安装 CLIProxyAPI

CLIProxyAPI 是专门用于 Codex / Claude Code 等 CLI 工具的 API 协议转换工具。

5.1 创建目录并下载

下载 macOS Apple Silicon 版本:

bash 复制代码
mkdir -p ~/.codex
bash 复制代码
curl -L \
  -o /tmp/cliproxy.tar.gz \
  https://github.com/router-for-me/CLIProxyAPI/releases/latest/download/CLIProxyAPI_darwin_arm64.tar.gz

其他版本下载:

下载地址:CLIProxyAPI Releases,请下载对应平台的版本。

解压文件:

bash 复制代码
cd /tmp
tar -xzf cliproxy.tar.gz

复制文件:

bash 复制代码
cp cli-proxy-api ~/.codex/
chmod +x ~/.codex/cli-proxy-api

验证安装:

bash 复制代码
~/.codex/cli-proxy-api --help

6. 配置 CLIProxyAPI

注:我这里配的是免费版的glm,如果有需要也可以改为你对应的版本

创建:

bash 复制代码
vim ~/.codex/cliproxy-config.yaml

示例:

shell 复制代码
host: "127.0.0.1"
port: 8317
debug: false
api-keys:
  - "sk-codex-local"

openai-compatibility:
  - name: "glm"
    base-url: "https://open.bigmodel.cn/api/paas/v4"
    api-key-entries:
      - api-key: "YOUR_GLM_KEY"
    models:
      - name: "glm-4.7-flash"
        alias: "glm-4.7-flash"
说明

api-keys

这是:Codex → CLIProxyAPI认证使用。

例如:

复制代码
api-keys:

 - sk-codex-local

api-key

这是:CLIProxyAPI → GLM真实 API Key。

两者不要混淆。

7. 启动 CLIProxyAPI

前台启动

bash 复制代码
~/.codex/cli-proxy-api \
-config ~/.codex/cliproxy-config.yaml

用于调试。

后台启动

bash 复制代码
nohup ~/.codex/cli-proxy-api \
-config ~/.codex/cliproxy-config.yaml \
> ~/.codex/proxy.log 2>&1 &

查看日志:

bash 复制代码
tail -f ~/.codex/proxy.log
  • 检查:
bash 复制代码
lsof -i:8317

8. 配置 Codex

配置文件:

bash 复制代码
~/.codex/config.toml

示例:

bash 复制代码
model_provider = "glm-proxy"

model = "glm-4.7-flash"

[model_providers.glm-proxy]

name = "GLM via CLIProxyAPI"


base_url = "http://127.0.0.1:8317/v1"


env_key = "CODEX_GLM_KEY"


wire_api = "responses"

9. 配置环境变量

添加:

bash 复制代码
echo '

export CODEX_GLM_KEY="sk-codex-local"

' >> ~/.zshrc

生效:

bash 复制代码
source ~/.zshrc

检查:

bash 复制代码
echo $CODEX_GLM_KEY

10. 验证模型

查看代理模型:
bash 复制代码
curl \
http://127.0.0.1:8317/v1/models \
-H "Authorization: Bearer $CODEX_GLM_KEY"

返回:

json 复制代码
{
 "data":[
   {
    "id":"glm-4.7-flash"
   }
 ]
}

说明:

  • CLIProxyAPI 正常;
  • Key 正常;
  • 模型注册成功。
  • 使用 Codex

启动:

bash 复制代码
codex

例如:

bash 复制代码
分析当前项目架构

或者:

bash 复制代码
codex "优化这个函数"

自动修改:

bash 复制代码
codex --full-auto \
"修复这个bug"

(⸝⸝•‧̫•⸝⸝)

12. 模型切换方式

12.1 修改默认模型

编辑:

bash 复制代码
~/.codex/config.toml

例如:

bash 复制代码
GLM:

model="glm-4.7-flash"

GPT:

model="gpt-5.5"

修改后重新启动 Codex。

12.2 临时指定模型

不修改配置:

bash 复制代码
codex --model glm-4.7-flash

例如:

bash 复制代码
codex --model gpt-5.5

适合临时测试。

12.3 多 Provider 配置

推荐方式:

同时保留多个模型。

例如:

bash 复制代码
model_provider="openai"

model="gpt-5.5"



[model_providers.glm-proxy]

name="GLM"


base_url="http://127.0.0.1:8317/v1"


env_key="CODEX_GLM_KEY"


wire_api="responses"

效果:

复制代码
默认:

Codex
 ↓
GPT

指定:

codex --model glm-4.7-flash

 ↓

GLM

13. CLI 与 ChatGPT Desktop 的区别

这是实际使用中最容易踩坑的地方。

Codex CLI

读取:

复制代码
~/.codex/config.toml

可以:

复制代码
Codex CLI
 ↓
CLIProxyAPI
 ↓
GLM

适合:

  • 编码
  • 重构
  • Debug
桌面端 Codex 通常使用:

ChatGPT Account,而不是完全依赖config.toml

因此,可以使用 GPT 官方模型;不一定支持第三方 Provider;多模态能力依赖官方模型。

例如:

复制代码
GPT
支持:
√ 图片
√ Pet
√ 多模态

GLM:

复制代码
可能只支持文本

14. 常见问题

ʕ•̫͡• ʔ•̫͡•ཻʕ•̫͡•ʔ•͓͡•ʔʕ•̫͡• ʔ•̫͡•ཻʕ•̫͡•ʔ•͓͡•ʔʕ•̫͡• ʔ•̫͡•ཻʕ•̫͡•ʔ•͓͡•ʔʕ•̫͡• ʔ•̫͡•ཻʕ•̫͡•ʔ

14.1 Missing CODEX_GLM_KEY

原因:环境变量不存在

解决:

bash 复制代码
source ~/.zshrc

14.2 429 Too Many Requests

例如:

json 复制代码
{
"code":"1113",
"message":"余额不足或无可用资源包"
}

说明不是 Codex 问题。

检查:

bash 复制代码
curl /v1/responses

确认GLM 余额;套餐;API Key。

14.3 模型不存在

例如:

bash 复制代码
model glm-xxx not found

检查:

bash 复制代码
curl /v1/models

确认代理暴露模型。

15. 推荐开发环境方案

方案一:低成本开发

复制代码
Codex CLI

↓

CLIProxyAPI

↓

GLM-4.7-Flash

适合:

  • 日常开发
  • 代码阅读
  • Bug修复

方案二:高级能力

复制代码
ChatGPT Desktop

↓

GPT模型

适合:

  • 图片
  • 多模态
  • Agent能力
  • 总结

通过 CLIProxyAPI,可以让 Codex CLI 接入第三方大模型。

核心流程:

复制代码
安装 Codex CLI

↓

安装 CLIProxyAPI

↓

配置模型 Provider

↓

启动代理

↓

配置 config.toml

↓

选择模型

最终实现:

一个 Codex,多个模型按场景切换

◔.̮◔✧

相关推荐
自律懒人14 小时前
Warp 2.0 从零上手:4 步把终端变成 Agentic 开发环境(GitHub 6.4万星)
gpt
天天进步201515 小时前
Pixelle-Video 源码解析 #10:多模型适配:GPT、通义千问、DeepSeek、Ollama 如何统一调用?
人工智能·gpt
蒸蒸yyyyzwd17 小时前
AI软件开发面试gpt模拟学习笔记
人工智能·gpt·面试
chunmiao303219 小时前
GPT-5.6一个月两次降价,大模型API价格战来了
人工智能·gpt
必须会一定会1 天前
AI 前端项目验收:Playwright 截图、响应式视口、控制台错误与交互回归
前端·人工智能·gpt·交互·ai编程
chunmiao30321 天前
GPT-5.6上线Kiro平台:AI编程降价潮下模型怎么选
gpt·ai编程
BerrySen1782 天前
GPT、Kimi、DeepSeek 多模态能力实测:open design设计任务中的公平对比
gpt
雾里看山2 天前
大模型是什么:从 GPT 到开源大模型的演进脉络
gpt·开源
自律懒人2 天前
匿名模型 OX Alpha 横评:DeepSWE 80% 反超 Fable 5 与 GPT-5.6 Sol,免费窗口最后 2 天
gpt·ai编程