上周三智谱发了 GLM-5.2,登顶 Artificial Analysis 开放权重榜的消息刷屏了。我当天就想在 Continue.dev 里把它加上,结果填了三遍 config.json 才跑通——provider 类型选错会报一个看起来像网络问题的错,apiBase 末尾多一个斜杠又会 404,但错误信息显示的是 connection refused。这两个坑叠在一起,排查方向完全跑偏。这篇把完整的可跑配置和踩坑过程都写出来,省得你再走一遍。

⚠️ 关于 GLM-5.2:截至本文发布时,智谱官网 open.bigmodel.cn 的模型列表里 GLM-5.2 的确切 API 调用名称还在更新中。下面示例统一用 glm-4-flash 演示流程,等官网放出正式名称直接替换 model 字段即可,其他配置不用动。


这篇适合谁

  • 用 Continue.dev(VS Code / JetBrains)做日常 AI 辅助编码,想接入智谱 GLM 系列当对话模型
  • 之前配过 OpenAI / Claude 的 Continue 用户,想多挂一个国产模型做备用
  • 碰到 Continue 报 ECONNREFUSED 或 404 但找不到原因的人
  • 想在 IDE 里同时切换多个模型(比如重度推理用 Claude,日常问答用 GLM-4-Flash 省钱)

整体流程

  1. 先用 Python 脚本验证 GLM API 连通性(排除 Key 和网络问题)
  2. 打开 Continue.dev 的 config.json
  3. models 数组里添加 GLM 配置项
  4. 踩坑点处理:provider 填 openai 而非 custom;apiBase 末尾斜杠问题
  5. 保存后在 IDE 侧边栏下拉切换验证
graph LR
 A[验证 API Key 可用] --> B[确认 model ID 存在于官网列表]
 B --> C[编辑 config.json,provider 填 openai]
 C --> D[apiBase 去掉末尾多余斜杠]
 D --> E[IDE 侧边栏切换测试]

先说结论

配置项 正确写法 错误写法(会翻车)
provider "openai" "openai-compatible" / "custom"
apiBase https://open.bigmodel.cn/api/paas/v4 https://open.bigmodel.cn/api/paas/v4/(末尾带斜杠)
model 以智谱官网当前模型列表为准(如 glm-4-flash glm-5 / glm-5.2(未在官网确认的名称)

第一步:验证 API 连通性

在折腾 Continue 配置之前,先确认你的 Key 能正常调通智谱 API。跑下面这段:

from openai import OpenAI

client = OpenAI(
    api_key="your-zhipu-key",
    base_url="https://open.bigmodel.cn/api/paas/v4"
)

resp = client.chat.completions.create(
    model="glm-4-flash",
    messages=[{"role": "user", "content": "hi"}]
)
print(resp.choices[0].message.content)

能正常打印回复就说明 Key 没问题、网络通。如果这步就挂了,先别动 Continue。


第二步:打开 config.json

路径:
- Mac/Linux:~/.continue/config.json
- Windows:%USERPROFILE%\.continue\config.json

VS Code 里也可以 Ctrl+Shift+P 搜 "Continue: Open config.json" 直接跳过去。


第三步:添加 GLM 模型配置

models 数组里加一项:

{
  "title": "GLM-4-Flash",
  "provider": "openai",
  "model": "glm-4-flash",
  "apiKey": "your-zhipu-key",
  "apiBase": "https://open.bigmodel.cn/api/paas/v4"
}

注意这里 provider 填 "openai"。不是 "openai-compatible",不是 "custom"


坑一:provider 选错的离谱报错

我一开始填的是 "openai-compatible"——毕竟智谱是"兼容 OpenAI 接口",直觉上 compatible 更对。结果 Continue 直接报了这个:

Error: connect ECONNREFUSED 127.0.0.1:11434

看到 127.0.0.1:11434 完全懵了。这明明是 Ollama 的本地端口,我又没配 Ollama。

排查了很久才搞明白:Continue.dev 内部对 openai-compatible 这个 provider 类型的处理逻辑和 openai 不一样。在我测试时使用的版本(v0.9.x)中,某些情况下它会回退(fallback)到本地 Ollama 的默认地址。文档里完全没提这个行为。

:此行为在我的测试环境中观察到,未经 Continue 官方确认,且不同版本行为可能有差异,建议以你实际使用的版本为准。

解法:provider 直接填 "openai",Continue 会老实用你给的 apiBase。


坑二:apiBase 末尾多一个斜杠

智谱官方文档给的 base_url 是 https://open.bigmodel.cn/api/paas/v4/(末尾带斜杠)。Python SDK 里这么写没问题。但 Continue.dev 内部拼接路径时会再加一个 /chat/completions,如果你的 apiBase 末尾已经有 /,最终请求地址变成:

https://open.bigmodel.cn/api/paas/v4//chat/completions

中间多了一个 /。智谱服务器对这个双斜杠返回 404,Continue 把它包装成:

Error: Request failed with status code 404

更麻烦的是——在我的测试环境(Continue.dev v0.9.x)中,这个 404 有时会被 Continue 的错误处理链吞掉,最终显示给你的是 connection refused。两个坑叠加,很难判断到底是网络问题还是配置问题。

:此行为在我的测试环境中观察到,未经 Continue 官方确认。

解法:apiBase 末尾不加斜杠:

"apiBase": "https://open.bigmodel.cn/api/paas/v4"

完整 config.json 示例

贴一份多模型配置示例,对话模型挂了两个,补全单独用一个:

{
  "models": [
    {
      "title": "GLM-4-Flash(日常)",
      "provider": "openai",
      "model": "glm-4-flash",
      "apiKey": "YOUR_ZHIPU_KEY",
      "apiBase": "https://open.bigmodel.cn/api/paas/v4"
    },
    {
      "title": "GLM-4-Plus(重度)",
      "provider": "openai",
      "model": "glm-4-plus",
      "apiKey": "YOUR_ZHIPU_KEY",
      "apiBase": "https://open.bigmodel.cn/api/paas/v4"
    }
  ],
  "tabAutocompleteModel": {
    "title": "GLM-4-Air(补全)",
    "provider": "openai",
    "model": "glm-4-air",
    "apiKey": "YOUR_ZHIPU_KEY",
    "apiBase": "https://open.bigmodel.cn/api/paas/v4"
  }
}

如果你同时还想挂 Claude 或 GPT 系列,可以通过 OpenRouter、ofox.io 这类聚合 API 网关统一管理,改一个 apiBase 就能切不同模型,省得每家单独管 Key。

⚠️ 关于 ofox.io:其官网声称为大模型云厂商官方授权服务商、对齐官方价格,具体情况请以 ofox.io 官网最新文档为准,本文写作时端点地址及服务条款未经完整独立验证,建议读者自行核实后再接入。聚合网关的 apiBase 和 model ID 请参考对应平台的最新官方文档。

说实话 GLM 系列对 FIM(Fill-in-the-Middle,即代码补全中间填充)的支持我还没完全验证,补全效果不如 DeepSeek 的 coder 模型。这块等后续有结论再更新。


不同场景怎么选

⚠️ 下表价格均来自智谱官网定价页,截至本文发布时,请以 open.bigmodel.cn 当前定价页为准,价格随时可能调整

场景 推荐模型 理由
日常问答/解释代码 glm-4-flash 价格极低(约 ¥0.1/M tokens),响应快
复杂推理/架构设计 glm-4-plus 或 Claude 系列 推理能力强,GLM-4-Plus 定价请查官网
代码补全 DeepSeek Coder 系列 FIM 支持好,GLM 系列补全体验一般
长文档分析 glm-4-long 支持长上下文,具体窗口大小和定价请查官网
多模型统一管理 聚合网关 + Continue 一个 Key 切多家,不用每个模型单独管

个人开发者日常用 glm-4-flash 够了,一天写几千行代码对话下来花费很低。团队用的话建议走聚合网关统一计费,方便月底对账。


常见问题

Q: Continue.dev 配置修改后需要重启 VS Code 吗?

大部分情况保存 config.json 后 Continue 会自动热重载,侧边栏模型列表直接刷新。但偶尔改完没生效,Ctrl+Shift+P 搜 "Reload Window" 重载一下就好了。

Q: 报错 401 Unauthorized - Invalid API key 怎么排查?

先去智谱控制台确认 Key 没过期,然后检查复制时有没有混入空格或换行符。有一次从即时通讯工具复制 Key,末尾混入了不可见的零宽字符,肉眼完全看不出来,排查了很久。

Q: GLM-5.2 的 API model name 到底填什么?

截至本文发布时,智谱官网还没放出 GLM-5.2 对应的 API 模型标识符。请持续关注 open.bigmodel.cn 的模型列表页,放出来之后把 config.json 里的 model 字段替换掉即可,其他配置不用动。如果填了一个不存在的名称,会收到:

Error: 404 Not Found - The model `glm-5.2` does not exist

Q: Continue.dev 对话和补全能用不同模型吗?

能。models 数组管对话,tabAutocompleteModel 管补全,互不干扰。对话用 GLM-4-Flash,补全用 DeepSeek Coder 系列是一个常见搭配。

Q: config.json 格式写错了 Continue 会怎样?

模型列表直接消失或者不更新。控制台会报 SyntaxError: Unexpected token in JSON at position X。改完之后丢到任意 JSON 校验工具里跑一遍,漏逗号、混入中文引号都是高频问题。


小结

Continue.dev 接入 GLM 系列其实就改一个 config.json 的事,但 provider 类型和 apiBase 斜杠这两个坑确实烦人,文档没提、报错信息又有误导性。记住两点:provider 填 "openai",apiBase 末尾不带斜杠。GLM-5.2 的正式 API model name 等智谱官网更新后直接替换 model 字段,配置结构不用变。

更多推荐