客户端集成
Codex、OpenCode、Oh My Pi、Cursor、Claude Code、Continue 与 OpenAI SDK 的可用 Provider 配置,含 Base URL 与模型 ID 的填法,以及每种接法常见的报错和排查方式。
GLM 5 提供 OpenAI 兼容的 Chat Completions 和 Responses API。客户端必须把请求发往
GLM 5 的 Base URL,使用 GLM 5 API Key,并选择 GET /models 返回的模型 ID。
先直接验证 API
配置 IDE 或智能体客户端前,先直接验证 Key 和端点:
curl https://glm5.app/api/v1/models \
-H "Authorization: Bearer $GLM5_API_KEY"
如果这一步失败,先排查 Key、可用于 API 的付费积分或端点。客户端配置不能修复这一步已经失败的 API 请求。
OpenCode
OpenCode 支持自定义 OpenAI-compatible Provider。先执行 /connect,选择 Other 保存 GLM 5 API Key,再在 OpenCode 配置中增加 GLM 5 Provider。
OpenCode 不同版本的配置 schema 可能使用 provider/npm/options,也可能使用新版 providers/package/settings。请以你本机版本生成的 schema 为准。当前新版配置示例:
{
"$schema": "https://opencode.ai/config.json",
"providers": {
"glm5": {
"name": "GLM5",
"env": ["GLM5_API_KEY"],
"package": "@opencode-ai/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://glm5.app/api/v1"
},
"models": {
"glm-5.3-flash": { "name": "GLM 5.3 Flash" },
"glm-5.3": { "name": "GLM 5.3" }
}
}
}
}
API Key 只保存在 OpenCode 的本地凭证存储或 GLM5_API_KEY 中,不要提交到 Git。
Oh My Pi(omp)
omp(Oh My Pi)通过 ~/.omp/agent/models.yml 支持自定义 OpenAI 兼容 Provider。
GLM5 使用 Responses 协议:
providers:
glm5:
baseUrl: https://glm5.app/api/v1
api: openai-responses
apiKey: GLM5_API_KEY
models:
- id: glm-5.3-flash
name: GLM 5.3 Flash
contextWindow: 1000000
maxTokens: 8192
在启动 omp 的同一个 Shell 中设置 GLM5_API_KEY。如果希望新会话默认使用该模型,
在 ~/.omp/agent/config.yml 中加入:
modelRoles:
default: glm5/glm-5.3-flash
验证模型发现并启动会话:
omp models glm5
omp
Windows 原生环境对应的文件是 %USERPROFILE%\\.omp\\agent\\models.yml 和
%USERPROFILE%\\.omp\\agent\\config.yml。WSL 使用 Linux 路径,除非你显式把 OMP 的
Agent 目录配置为共享位置。apiKey 填环境变量名,不要把真实 Key 提交到代码仓库。
Codex Desktop / CLI
Codex 自定义 Provider 使用 Responses API。GLM5 现在支持 Responses 端点,并将请求 转换到同一套按量计费的 GLM5 模型运行时。请把配置写在用户级配置文件中,这样 Codex CLI 和 Codex Desktop 都可以使用:
model = "glm-5.3-flash"
model_provider = "glm5"
[model_providers.glm5]
name = "GLM5"
base_url = "https://glm5.app/api/v1"
env_key = "GLM5_API_KEY"
wire_api = "responses"
启动 Codex 前,在本机 Shell 中设置 Key:
export GLM5_API_KEY="sk-glm5-..."
codex --model glm-5.3-flash
macOS 和 Linux 的 export 只对当前终端会话生效。Windows 请使用 PowerShell 或命令提示符:
$env:GLM5_API_KEY = "sk-glm5-..."
codex --profile glm5
set GLM5_API_KEY=sk-glm5-...
codex --profile glm5
Profile 文件名在各系统相同,只是用户目录不同:
| 系统 | Profile 路径 |
|---|---|
| macOS / Linux | ~/.codex/glm5.config.toml |
| Windows PowerShell | $env:USERPROFILE\.codex\glm5.config.toml |
| Windows WSL | ~/.codex/glm5.config.toml(或已配置的 CODEX_HOME) |
Responses 适配层支持文本流式输出、函数调用和标准 input/output item 格式。请在每次请求 中保留完整输入历史;GLM5 不会在服务端持久化 Codex 的响应状态。
验证配置
进入 Codex 后执行 /status,确认当前模型是 glm-5.3-flash。如果请求失败,可以在不
打印 Key 的情况下检查环境变量:
test -n "${GLM5_API_KEY:-}" && echo "GLM5_API_KEY is set"
如果看到 MCP startup incomplete,例如 Linear OAuth 重新认证提示,那是独立的 MCP 连接
问题,不代表 GLM5 API 失败。
切回原来的 Codex
GLM5 配置使用的是独立 Profile。停止当前会话后,不带 Profile 启动 Codex:
codex
这样会继续使用原来的 ~/.codex/config.toml、MCP 服务和 OpenAI 登录状态,不需要删除
Codex 主配置文件。
如果只想停用 GLM5,同时保留可恢复备份:
mv ~/.codex/glm5.config.toml ~/.codex/glm5.config.toml.disabled
unset GLM5_API_KEY
如果曾经把 GLM5_API_KEY 写进 ~/.zshrc 或 ~/.bashrc,只删除那一行 export,然后重新加载对应的 Shell 配置文件。
不要删除 ~/.codex/config.toml,里面可能还有原来的 Provider、MCP、权限和通知配置。
浏览器、MCP 和 API 报错不是一回事
下面这些提示不代表 GLM5 API 配置错误:
| 提示 | 含义 | 处理方式 |
|---|---|---|
MCP startup incomplete (failed: linear) | Linear MCP 需要重新 OAuth | 执行 codex mcp login linear;不用 Linear 就禁用它 |
Ego Lite 的 Connection invalid | 浏览器工具连接失败 | 重启浏览器工具,或直接使用 API/终端请求 |
127.0.0.1:9222 ... connection refused | Chrome 没有监听 CDP 端口 | 不需要浏览器自动化时可忽略 |
Operation not permitted 访问 localhost | Codex 沙箱阻止本地网络 | 使用允许网络的模式,或不要使用本地浏览器桥接 |
glm5.app 返回 401 invalid_api_key | Key 没传入或无效 | 检查启动 Codex 的同一个 Shell 中是否有 GLM5_API_KEY |
glm5.app 返回 402 | 账户积分不足 | 充值或使用有可用 API 积分的账户 |
glm5.app 返回 404 | 端点/模型错误或线上版本过旧 | 使用 /api/v1/responses 和 glm-5.3-flash |
Cursor
Cursor 通过设置界面配置,不使用项目配置文件。打开 Cursor Settings > Models 后:
- 开启 Use OpenAI API Key,粘贴你的
sk-glm5-...Key。 - 开启 Override OpenAI Base URL (when using key)。
- 将 Base URL 设置为
https://glm5.app/api/v1。 - 添加或选择
GET /models返回的模型 ID,例如glm-5.3或glm-5.3-flash。 - 在支持自定义模型的聊天请求中选择该模型。
Cursor Tab 是另一条能力
Cursor 的 Tab 自动补全继续使用 Cursor 内置模型。GLM 5 API Key 只用于 Cursor 支持的自定义聊天/模型请求,不能替换 Tab 自动补全。
如果当前 Cursor 版本或账户没有 OpenAI Base URL 覆盖选项,就不能直接接入该端点;请改用 OpenCode、Continue 或 SDK。
Claude Code
Claude Code 使用 Anthropic Messages 协议,而 GLM 5 当前提供 OpenAI-compatible Chat Completions,因此不要把 Claude Code 直接指向 https://glm5.app/api/v1。
如果必须在 Claude Code 中使用 GLM 5,需要在中间增加 Anthropic-compatible 转换网关:由网关接收 Anthropic Messages 请求,转换成 OpenAI-compatible Chat Completions,再使用你的 GLM 5 API Key 请求 https://glm5.app/api/v1。
如果不强依赖 Claude Code,OpenCode 是目前更简单的 GLM 5 直连 Coding 客户端方案。
在 VS Code 中使用 Continue
Continue 是 VS Code 扩展,支持明确配置 OpenAI 兼容 provider。将下面内容加入它的 config.yaml,并替换 Key 占位符:
name: GLM5 Config
version: 0.0.1
schema: v1
models:
- name: GLM 5.3 Flash
provider: openai
model: glm-5.3-flash
apiBase: https://glm5.app/api/v1
apiKey: <YOUR_GLM5_API_KEY>
roles:
- chat
- edit
- apply
模型 ID 必须来自 GET /models。保存后,先进行一次简短聊天请求,再用编辑或长任务工作流。
OpenAI SDK
标准 OpenAI 客户端只需改为 GLM 5 Base URL:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.GLM5_API_KEY,
baseURL: 'https://glm5.app/api/v1',
});
const response = await client.chat.completions.create({
model: 'glm-5.3-flash',
messages: [{ role: 'user', content: 'Review this function for edge cases.' }],
max_completion_tokens: 800,
});
console.log(response.choices[0]?.message?.content);
常见配置失败
| 现象 | 先检查什么 |
|---|---|
401 invalid_api_key | 确认 Key 是 GLM 5 的 sk-glm5-...,Base URL 必须包含 /api/v1。 |
404 model_not_found | 调用 GET /models,使用返回列表里的模型 ID。 |
402 payment_required 或积分不足 | 查看计费与限制;试用和注册赠送积分不能用于 API。 |
| cURL 成功、IDE 失败 | 确认 IDE 没有继续请求它的默认 provider 端点,并确认它支持自定义 OpenAI 兼容 Base URL。 |
| Cursor Tab 没有使用 GLM 5 | 这是预期行为:Tab 自动补全是 Cursor 的内置能力。 |
支持的请求字段请查看 Chat Completions。不要依赖本文档没有列出的客户端专属字段。