客户端集成

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 refusedChrome 没有监听 CDP 端口不需要浏览器自动化时可忽略
Operation not permitted 访问 localhostCodex 沙箱阻止本地网络使用允许网络的模式,或不要使用本地浏览器桥接
glm5.app 返回 401 invalid_api_keyKey 没传入或无效检查启动 Codex 的同一个 Shell 中是否有 GLM5_API_KEY
glm5.app 返回 402账户积分不足充值或使用有可用 API 积分的账户
glm5.app 返回 404端点/模型错误或线上版本过旧使用 /api/v1/responsesglm-5.3-flash

Cursor

Cursor 通过设置界面配置,不使用项目配置文件。打开 Cursor Settings > Models 后:

  1. 开启 Use OpenAI API Key,粘贴你的 sk-glm5-... Key。
  2. 开启 Override OpenAI Base URL (when using key)
  3. 将 Base URL 设置为 https://glm5.app/api/v1
  4. 添加或选择 GET /models 返回的模型 ID,例如 glm-5.3glm-5.3-flash
  5. 在支持自定义模型的聊天请求中选择该模型。

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。不要依赖本文档没有列出的客户端专属字段。