Terminal window displaying code with dark theme, green monospace font on black background

Codex CLI + 智谱 GLM 接入实战:CCX 网关详解

AI编程Codex CLI智谱GLM大模型开发者工具

开篇

前几天折腾 Codex CLI,想把它接上国内的智谱 GLM,结果一上来就碰了壁——Codex CLI 跑 OpenAI Responses 协议,智谱 GLM 只认 Chat Completions API,两边根本对不上。翻了半天文档,又是改 base URL 又是调参数,折腾一下午才跑通。

后来找到了 CCX 网关,才算把这事儿理顺了。今天把完整流程梳理一遍,希望帮大家少走弯路。

CCX 网关是什么

CCX 是 Protocol Bridge(协议桥)的开源实现,专门解决「用本地工具调用国内大模型 API」的场景。它在本地启动一个轻量代理服务,把 OpenAI Responses 协议格式的请求,自动转换成智谱 GLM 能理解的 Chat Completions 格式,请求发出去了,响应也能正确解析回来。

本质上就是一个本地中转层,不改你的代码,不动模型侧的配置。

协议转换原理

展开说两句技术细节,方便理解原理。

Codex CLI 发出的请求大概是这个结构:

{
  "model": "codex",
  "input": "帮我写一个求斐波那契数列的函数",
  "stream": true
}

而智谱 GLM 的接口期望的是:

{
  "model": "glm-4",
  "messages": [{"role": "user", "content": "帮我写一个求斐那契数列的函数"}],
  "stream": true
}

CCX 网关做的事情,就是把 input 字段拆出来,重新组装成 messages 格式,发给智谱,再把响应转译回 OpenAI Responses 格式返回给 Codex。整个过程毫秒级延迟,用户无感知。

完整7步安装

第一步:确认环境依赖

需要 Node.js 18 以上。如果没装过,去 nodejs.org 下载 LTS 版:

node --version
npm --version

两个都返回版本号就行。

第二步:安装 Codex CLI

npm install -g @openai/codex
codex --version
# 输出: codex-cli 0.57.0

第三步:安装 CCX 网关

mkdir -p ~/.ccx/logs ~/.ccx/.config

# Linux x86_64
curl -L -o ~/.ccx/ccx https://github.com/BenedictKing/ccx/releases/latest/download/ccx-linux-amd64
chmod +x ~/.ccx/ccx
~/.ccx/ccx --version
# 输出: ccx v2.9.16

第四步:写入 CCX 配置文件

配置文件必须写在 /root/codex/.config/config.json(CCX 从工作目录读取):

{
  "responsesUpstream": [
    {
      "baseUrl": "https://open.bigmodel.cn/api/coding/paas/v4",
      "apiKeys": ["你的智谱API Key"],
      "serviceType": "openai",
      "name": "zhipu-glm",
      "codexToolCompat": true,
      "priority": 0,
      "status": "active"
    }
  ],
  "fuzzyModeEnabled": true
}

第五步:启动 CCX

nohup ~/.ccx/ccx > ~/.ccx/logs/stdout.log 2>&1 &
sleep 3
curl -s http://127.0.0.1:3000/health

第六步:配置 Codex

~/.codex/config.toml

personality = "pragmatic"

[model_providers.zhipu]
name = "GLM via CCX"
base_url = "http://127.0.0.1:3000/v1"
env_key = "ZHIPU_API_KEY"
wire_api = "responses"

[profiles.m27]
model = "gpt-5.5"
model_provider = "zhipu"

设置环境变量(Key 是 CCX 的 proxy access key):

export ZHIPU_API_KEY="your-proxy-access-key"

第七步:端到端验证

curl -s -N -X POST http://127.0.0.1:3000/v1/responses \
  -H "Authorization: Bearer your-proxy-access-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.5","input":"用中文说hello","stream":true}'

收到中文 SSE 流式响应即成功。

避坑指南

说几个我踩过的坑。

坑一:modelMapping 不生效。 v2.9.16 不读配置文件里的 modelMapping 字段,必须用 REST API 单独写入这一步很多人卡住,官方文档也没写清楚。

坑二:apiKeys 写成字符串。 CCX 要求数组格式,写成 "apiKeys": "xxx" 会静默失败,日志只报「渠道暂停」。

坑三:base_url 缺少 /v1。 Codex 要求完整路径 http://127.0.0.1:3000/v1,漏写 /v1 会 404。

坑四:API Key 权限不足。 智谱控制台生成的 Key 有模型权限限制,确认开通了对应模型的调用额度。

适合谁用

如果你在用 Codex CLI、Cursor、Cline 这类基于 OpenAI 协议的工具,想接入智谱、百度、阿里等国内大模型,CCX 是目前最省事的方案。配置一次,后续无感。

不想折腾协议转换、又受限于防火墙的开发者,这个组合值得一试。

FTC 联盟链接披露

本文可能包含联盟链接。如果您通过这些链接购买,我们可能会获得佣金,且无需您支付额外费用。这有助于我们继续为您提供免费、真实的评测内容。