Continue.dev 接入智谱 GLM 系列踩坑实录(以 GLM-4-Flash 演示流程):provider 选错 + apiBase 多斜杠,两个坑叠一起排查了三遍才搞定
上周三智谱发了 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 省钱)
整体流程
- 先用 Python 脚本验证 GLM API 连通性(排除 Key 和网络问题)
- 打开 Continue.dev 的 config.json
- 在
models数组里添加 GLM 配置项 - 踩坑点处理:provider 填
openai而非custom;apiBase 末尾斜杠问题 - 保存后在 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 字段,配置结构不用变。
更多推荐



所有评论(0)