migrating-vscode-continue-cursor-config-to-aggregator · ZH · 2026-10-10

把 Continue、Cline 这类 VS Code 插件指向聚合站接口的配置实操

面向长期使用 VS Code 的开发者,说明如何把 Continue、Cline 等 AI 编程插件从官方接口切换到 OpenAI 兼容的聚合站接口:base URL 填在哪里、哪些字段可以填自定义 key、常见填错方式,以及用日志、用量记录、报错信息验证流量确实走了聚合站。

为什么这两类插件都能改 base URL

Continue 和 Cline 虽然定位不同(前者偏补全与对话,后者偏 Agent 式多步操作),但在模型接入层都走同一套抽象:OpenAI 兼容的 Chat Completions 协议。

这意味着它们天然接受三个可配置项:

  • baseURL / apiBase:请求发往哪个域名
  • apiKey:随请求发送的凭证
  • model:请求体里声明的模型名

聚合站只要暴露 OpenAI 兼容端点,插件就不需要任何改动,只改配置即可。

关键概念:base URL 到底填到哪一级

这是最容易出错的地方。OpenAI 官方 SDK 的 baseURL 约定是包含版本段、不含资源路径:

  • 正确形态:https://<你的聚合站域名>/v1
  • 错误形态一:填成完整对话端点 .../v1/chat/completions(插件会自己再拼一次,变成双份路径)
  • 错误形态二:只填域名根 https://<域名>(缺 /v1,多数插件不会自动补)

判断标准很简单:最终请求 URL 应该是 baseURL + /chat/completions。如果你填的 base URL 已经以 /chat/completions 结尾,就一定错了。

有些插件把这一项叫 baseURL,有些叫 apiBase 或 openAiBaseUrl,含义完全一致。

Continue 的配置位置

Continue 把模型定义放在配置文件里,而不是图形界面。典型流程:

  1. 打开配置入口(命令面板里搜索 Continue 的配置命令,或直接编辑用户目录下的配置文件)。
  2. 在 models 数组里新增一项,provider 选 OpenAI 兼容类型(openai 或标注为兼容的 provider)。
  3. 在该项下写 apiBase、apiKey、model、title 四个字段。
  4. title 是你在 UI 里看到的显示名,随便取,不影响请求。

哪些字段接受自定义 key: apiKey 字段接受任意字符串,插件不会校验它的前缀或格式。所以聚合站签发的 key 直接粘贴进去即可,不需要伪装成 sk- 开头(即便伪装了也不会更有效)。

Config 类插件通常还支持在配置里写 env 引用环境变量,把 key 放环境变量里比写死进配置文件更安全,尤其是配置会被同步到云端或提交进仓库时。

Cline 的配置位置

Cline 走图形界面为主:

  1. 打开 Cline 面板,进入设置。
  2. API Provider 选 OpenAI Compatible(不要选 OpenAI——选 OpenAI 会锁死到官方域名,base URL 输入框可能直接不出现)。
  3. 出现 Base URL 输入框,填到 /v1 一级。
  4. API Key 填聚合站签发的 key。
  5. Model ID 手动填写模型标识(例如你打算用哪个厂商的哪个型号,按聚合站文档给的名称原样填)。

这一步最常见的失败原因:Provider 选错。 很多人选了 OpenAI 之后发现没有 base URL 输入框,以为是插件不支持,其实是选错了 provider 类型。选 OpenAI Compatible 才会暴露自定义端点。

Model ID 是手填字符串,拼错不会在保存时报错,只会在发请求时返回模型不存在之类的错误——所以第一次配置完一定要实际发一条消息验证。

用哪些信号验证流量确实走了聚合站

配置填完不等于生效。下面几种验证方式从弱到强:

  • 报错信息里的域名:故意填一个不存在的模型名发请求。如果返回的是聚合站的错误结构,说明请求确实打到了聚合站;如果返回 OpenAI 官方风格的错误,说明 base URL 没生效。
  • 插件日志/输出面板:两个插件都有输出通道。打开后能看到实际发出的请求地址和状态码,这是最直接的证据。
  • 聚合站侧用量记录:发几条消息后去聚合站后台看用量是否增加。这是端到端验证,能排除「插件本地缓存了响应」这类假象。
  • 断网测试法:临时把 base URL 改成一个不可达地址,请求应当立刻失败。如果仍然成功,说明有别的路径在生效(比如另一个配置项覆盖了你的修改)。

验证时建议只发一条最简单的消息,不要一上来就跑 Agent 多步任务,否则排查面太大。

几个容易踩的坑

  • 配置层级覆盖:Continue 可能同时存在用户级和项目级配置,项目级会覆盖用户级。改完不生效先检查是否有第二份配置。
  • 尾部斜杠:.../v1 和 .../v1/ 在部分实现里会被拼成 //chat/completions。虽然很多服务端能容忍,但遇到 404 时优先检查这个。
  • 模型名与 provider 不匹配:在 OpenAI Compatible 模式下填了某家厂商的模型名,通常没问题(聚合站负责路由),但前提是模型名拼写和聚合站文档一致,大小写敏感。
  • 把 key 提交进 Git:如果项目级配置文件里有明文 key,记得加进 .gitignore 或改用环境变量引用。

关于计费的常识性提醒

在这类聚合站上,你的调用按官方价乘以一个固定系数扣费,系数由站点定义;贡献自有 key 的人则按另一个系数获得返还。这两件事与插件配置无关——插件只负责把请求发出去,扣费发生在服务端。所以要核对用量,去看聚合站后台,而不是插件界面里的 token 统计(那个是插件自己估算的,可能和服务端计费口径不同)。

把插件指向聚合站,本质只是换了一个 OpenAI 兼容端点。真正需要小心的不是协议,而是配置项的层级、拼写和 provider 类型选择。