
VS Code 里 Continue 插件把 apiBase 指到本地 vLLM 的 9000 端口、model 跟着--served-model-name codestral填成 codestral这套组合能跑起来但维护成本不低。TaoToken 想做的是把这段通道挪到统一 API 上先打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建 Key再把 Continue 的 apiBase 改成 https://taotoken.net/api模型名按控制台可用列表选。这样你仍然在 VS Code 里做 AI 辅助代码生成只是不再需要盯着 AWQ 量化、多卡--tensor-parallel-size和--max-model-len这些启动参数。本地 vLLM 方案最大的问题不是能不能跑而是每次环境变化都要重新对齐。服务器重启、显卡驱动升级、vLLM 版本更新、量化权重换目录任何一个环节变动Continue 里的 apiBase 和 model 都要跟着检查一遍。如果只是想在写代码时获得补全和对话能力没必要把整条推理栈背在自己身上。把请求交给统一 API 通道Continue 继续按 OpenAI 兼容格式发这就是本篇要改的那一步。1. Continue 插件里那个 http://IP:9000 的 apiBase先别急着改1.1 本地 vLLM 起 Codestral-22B 时Continue 配置长什么样原文那条路径很典型在一台带显卡的服务器上用 vLLM 拉起 Codestral-22B权重可能是 AWQ 量化版本启动命令里带着--served-model-name codestral、--tensor-parallel-size 2、--max-model-len 8192之类的参数。服务起来后监听 9000 端口然后回到 VS Code在 Continue 的config.json里写{ models: [ { title: Codestral Local, provider: openai, model: codestral, apiKey: dummy, apiBase: http://192.168.1.20:9000 } ] }这里的apiBase指向部署服务器的内网 IP 和 9000 端口model必须和--served-model-name完全一致否则 vLLM 会返回 model not found。补全请求从 VS Code 发出经过局域网到 vLLM再由显卡推理返回。整个过程听起来闭环但前提是你得保证那台服务器一直在线、端口一直可达、模型名一直不变。1.2 不想维护 vLLM 推理栈就把 apiBase 换成统一通道当你开始频繁换机器、换网络、或者只是想在不同电脑上都能用 Continue 补全时本地 vLLM 的维护成本就会冒出来。AWQ 量化权重需要和 vLLM 版本匹配多卡--tensor-parallel-size要和实际显卡数量匹配--max-model-len要和显存容量匹配。任何一个参数写错服务可能起不来或者起来后 Continue 发请求直接报错。这时可以把 Continue 的apiBase换成 TaoToken 的兼容通道。TaoToken 在这里的角色很明确提供 API Key 和 Base URL把 OpenAI 兼容格式的请求转给可用模型。你不再需要在本地跑 vLLM也不需要维护 9000 端口。模型 ID 不再写死成codestral而是去控制台模型广场看当时可用的列表复制哪个就填哪个。Continue 的配置结构几乎不用大改只改apiBase、apiKey和model三个字段。2. 在 Continue 的 config.json 里把 apiBase 指向 TaoToken2.1 先去 TaoToken 创建 API Key复制模型 ID打开 TaoToken 注册并登录进入控制台创建 API Key。Key 只显示一次复制后先放在安全的地方后面配置里用YOUR_API_KEY占位。接着去模型广场搜 Codestral 或同类代码模型看当时可用的模型 ID。不要自己拼日期后缀也不要拿网上看到的旧 ID 直接填。模型 ID 以模型广场当时列表为准复制到什么就填什么。这一步对应原文里「申请或复制 API Key」的位置只是把来源从本地 vLLM 的免密服务换成了 TaoToken 控制台。拿到 Key 和模型 ID 后回到 VS Code打开 Continue 的配置文件。旧版 Continue 用~/.continue/config.json新版可能用~/.continue/config.yaml你按自己插件版本找对应文件即可。2.2 config.json 里 provider、apiBase、model 三个字段怎么填Continue 的 OpenAI 兼容配置里provider通常写openaiapiBase写https://taotoken.net/api注意末尾不要带/v1。apiKey填YOUR_API_KEYmodel填你从模型广场复制出来的 ID。下面是一份可以直接对照修改的config.json示例{ models: [ { title: Codestral Remote, provider: openai, model: YOUR_MODEL_ID, apiKey: YOUR_API_KEY, apiBase: https://taotoken.net/api } ], tabAutocompleteModel: { title: Codestral Autocomplete, provider: openai, model: YOUR_MODEL_ID, apiKey: YOUR_API_KEY, apiBase: https://taotoken.net/api } }如果你用的是config.yaml字段名基本对应写法类似models: - title: Codestral Remote provider: openai model: YOUR_MODEL_ID apiKey: YOUR_API_KEY apiBase: https://taotoken.net/api保存后重启 VS Code或者重新加载窗口让 Continue 重新读取配置。此时 Continue 的请求不再发往http://192.168.1.20:9000而是发往https://taotoken.net/api。3. tabAutocompleteModel 和 embeddingsProvider 别只配一半3.1 补全模型tabAutocompleteModel 也要写 apiBaseContinue 的聊天模型和补全模型是分开配置的。如果你只在models数组里改了apiBase但tabAutocompleteModel还留着默认值或者旧地址那么聊天框可能通了代码补全仍然不走 TaoToken 通道甚至继续尝试连本地 9000 端口。所以在tabAutocompleteModel里也要写清楚provider、model、apiKey、apiBase。补全模型可以选择响应更轻快的代码模型具体 ID 同样去模型广场看。如果模型广场里有专门的补全模型优先用它如果没有也可以先用聊天模型顶一阵只是补全延迟可能略有差异。关键点是apiBase保持https://taotoken.net/api不要写成https://taotoken.net/api/v1。3.2 嵌入模型embeddingsProvider 走同一个 Base URL如果你在 Continue 里用codebase或者代码库索引还需要配置embeddingsProvider。嵌入模型也走 OpenAI 兼容格式apiBase同样填https://taotoken.net/apiapiKey用同一把YOUR_API_KEYmodel填模型广场里可用的嵌入模型 ID。配置示例{ embeddingsProvider: { provider: openai, model: YOUR_EMBEDDING_MODEL_ID, apiKey: YOUR_API_KEY, apiBase: https://taotoken.net/api } }如果只是做代码补全和对话嵌入模型可以先不配但只要你打算让 Continue 理解整个项目这一步就绕不开。配置完后Continue 的索引请求也会走统一通道而不是本地推理服务。4. 验证 Continue 是否真的把请求发到 TaoToken4.1 在 VS Code 里发一条补全或对话最简单的验证是打开一个代码文件在空白行写一段注释比如# 写一个读取 CSV 并过滤空行的函数然后等 Continue 的补全建议。如果补全出现说明tabAutocompleteModel已经通了。再打开 Continue 聊天面板选择刚配置的模型发一条消息比如「用 Python 写一个快速排序并解释时间复杂度」。如果返回内容说明models数组里的配置也通了。如果补全没反应但聊天有回复先回去检查tabAutocompleteModel的apiBase和apiKey。如果聊天也报错就去看 Continue 的输出面板或开发者工具里的网络请求确认请求地址是不是https://taotoken.net/api而不是旧的http://IP:9000。4.2 去 TaoToken 控制台看这次调用配置保存后回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 登录控制台查看用量或调用记录。如果你刚刚在 VS Code 里发了补全或对话请求并且能在控制台看到对应的调用说明 Key 和 Base URL 都对上了。这一步也能帮你确认模型 ID 是否真的可用因为调用记录通常会带上模型名称。如果控制台没有记录说明请求可能还没发出去或者 Continue 仍在用旧配置。先重启 VS Code再检查配置文件是否保存到了正确的路径。Windows 用户注意~/.continue通常在C:\Users\你的用户名\.continue不要改到插件安装目录里。5. Continue 报错对照401、404、model not found、连接被拒5.1 401 UnauthorizedAPI Key 占位符没换Continue 报 401最常见的原因是apiKey还写着YOUR_API_KEY或者复制 Key 时多带了空格、换行。重新去控制台创建一把 Key覆盖配置文件里的值保存后重启 VS Code。注意不要用本地 vLLM 时代的dummy或空字符串统一通道需要真实 Key。5.2 404 或 /v1 重复apiBase 多写了 /v1如果 Continue 报 404或者日志里出现https://taotoken.net/api/v1/v1/chat/completions这类重复路径通常是apiBase末尾多写了/v1。把apiBase改回https://taotoken.net/api让 Continue 自己拼接后面的路径。这一点和本地 vLLM 配置不同vLLM 时代你可能习惯写http://IP:9000/v1但这里不要带。5.3 连接被拒Continue 还在指本地 9000报错里出现ECONNREFUSED或connect ETIMEDOUT并且地址还是192.168.x.x:9000说明 Continue 没有读到新配置或者tabAutocompleteModel没有改。检查config.json和config.yaml是否同时存在Continue 可能优先读了另一个文件。把两个文件里的apiBase都改到https://taotoken.net/api。5.4 model not found模型 ID 和控制台不一致如果报 model not found先回模型广场确认模型 ID 是否仍然可用。不要继续用--served-model-name codestral时代的codestral字符串除非模型广场里确实有同名 ID。复制当时列表里的 ID 填进去保存后重新加载窗口。6. 跑通之后同一把 Key 还能做什么6.1 先用模型对话确认模型 ID配置完 Continue 之后如果你想单独确认模型 ID 和 Key 是否正确可以打开 TaoToken 模型对话 发一条测试消息。这里和 Continue 走的是同一套通道能快速区分是模型 ID 问题还是插件配置问题。6.2 看 Coding Plan 和管理 API Key如果你准备长期在 VS Code 里用 Continue 做 AI 辅助代码生成可以去 Coding Plan 看套餐是否合适Key 在 控制台 API Keys 创建和管理。后面如果想把同样的通道接到 Claude Code可以参考 Claude Code 接入文档。Continue 这边保持apiBase为https://taotoken.net/api即可不用再回到本地 9000 端口。