【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,多个模型按场景切换

◔.̮◔✧

相关推荐
廋到被风吹走9 小时前
【AI】GPT-5.6三模型齐发、世界模型崛起、Anthropic冲刺IPO
大数据·人工智能·gpt
hongyangcao9 小时前
GPT-5.6 Sol失控删除用户文件:OpenAI最新AI模型越权事件深度解读
人工智能·gpt
xywww1681 天前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
在水一缸1 天前
深度解析 GPT-5.6:大模型架构演进与复杂任务实战指南
大数据·人工智能·gpt·架构·大模型·架构演进·gpt-5.6
七牛云行业应用1 天前
GPT-5.6 三款模型核心差距:Sol、Terra、Luna 怎么选
人工智能·gpt
NebulaData1 天前
GPT-5.6三档模型全线发布,Codex并入ChatGPT迈入Agent时代
人工智能·gpt·chatgpt
库拉大叔1 天前
KULAAI深度评测:聚合Gemini、GPT、Claude等主流大模型,实测延迟与并发表现
人工智能·gpt
奇牙coding1 天前
gpt-5.6-luna 调用报 400 bad_request 怎么办?同样的 messages 在 gpt-5.5 没问题——两处校验差异和修复写法
java·windows·gpt·ai
南方程序猴1 天前
Codex CLI + VS Code 组合教程:从 Node.js 安装到接入国内中转站
gpt·ai·chatgpt·node.js·ai编程