
1. 为什么我宁愿用本地 LLM 当 VS Code 的编码助手VS Code 里写代码Copilot 确实好用但订阅费、联网要求、代码上传到云端这几件事总让人心里有点疙瘩。尤其是公司内网项目、涉密仓库或者你只是单纯想省点钱本地 LLM 就成了一个很现实的选择。它的核心逻辑很简单模型跑在你自己的机器上代码不出本机断网也能用系统提示词完全由你控制。但本地 LLM 也有两个绕不开的坑。第一是硬件门槛7B 量化模型至少需要 8GB 内存13B 以上最好有独立显卡第二是模型能力消费级硬件能跑的模型补全质量确实不如云端大模型。所以我的实际做法是本地模型负责日常补全和隐私代码云端通道负责复杂重构和长上下文任务两者用同一套 Continue 配置切换。这里就引出了本篇要解决的问题Continue 插件默认只连一个 provider如果你想同时管理本地 LM Studio 和云端 API手动改 config.json 会非常痛苦。我试过用 TaoToken 做统一 Key/API 通道把云端模型和本地模型都挂在同一个 Continue 配置里切换时只改一个字段省去了反复改配置的麻烦。下面把完整流程拆开讲包括 LM Studio 的模型加载、Continue 的 config.json 骨架、TaoToken 的接入参数以及 VS Code 里怎么验证补全到底有没有生效。2. 前置准备LM Studio 与 Continue 的安装与模型选择2.1 LM Studio 下载与模型量化选择LM Studio 是一个带图形界面的本地模型运行工具支持 Windows、macOS、Linux。去官网下载安装包一路下一步即可。打开后主界面中间有搜索栏输入你想用的模型名。我建议从Code Llama 7B Instruct或者Qwen2.5-Coder-7B-Instruct开始这两个在代码补全场景下表现稳定对硬件也友好。搜索到模型后注意选择量化版本。量化是用精度换体积常见的有 Q4_K_M、Q5_K_M、Q8_0。我的经验是8GB 内存选 Q4_K_M16GB 内存选 Q5_K_M 或 Q8_0有 8GB 以上显存可以直接上 Q8_0 并开 GPU 加速。选错了量化模型加载会直接失败LM Studio 会提示内存不足。2.2 启动本地服务器模型下载完成后切到左侧的「Local Server」标签页。顶部有一个「Select a model to load」按钮选中你刚下载的模型。如果加载失败说明量化对当前内存太大换更小的量化或者更小的模型。加载成功后点击「Start Server」默认监听http://localhost:1234。这个地址就是 Continue 要连接的本地端点。这里有个细节LM Studio 的服务器默认只监听本机不需要额外配置跨域。如果你在 WSL 里跑 VS Code需要把localhost换成 Windows 宿主机的 IP或者直接在 Windows 侧装 VS Code。2.3 Continue 插件安装在 VS Code 扩展市场搜索Continue安装后左侧会出现 Continue 图标。首次打开会引导你登录或跳过直接跳过即可我们手动改配置文件。Continue 的配置文件位置WindowsC:/Users/{你的用户名}/.continue/config.jsonmacOS / Linux~/.continue/config.json如果文件不存在在 Continue 面板里点齿轮图标选择「Open config.json」会自动创建。3. TaoToken 前置统一 Key 与 API 通道的配置3.1 为什么需要 TaoTokenContinue 原生支持多种 provider比如openai、anthropic、lmstudio、ollama。但如果你同时用多个云端模型每个都要单独填 Key、单独改 base_url配置会变得很乱。TaoToken 的作用是提供一个统一的 API 通道你只需要在 TaoToken 控制台创建一个 Key然后在 Continue 里把 provider 指向 TaoToken 的端点就能用同一套凭证访问多个模型。官网地址https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点https://taotoken.net/api3.2 获取 API Key登录 TaoToken 控制台进入 API Keys 页面创建一个新 Key。建议按用途命名比如vscode-continue方便后续排查。创建后复制 Key注意只显示一次丢了就重新生成。控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite3.3 确认可用模型在 TaoToken 的模型对话页面可以查看当前支持的模型列表也可以直接发一条测试消息确认 Key 是否有效。模型对话入口https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite如果你打算长期用 Continue 做编码助手建议同时了解一下 Coding Plan它针对高频编码场景做了额度优化。入口https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite4. 可复制配置Continue config.json 完整骨架下面这份配置同时挂了本地 LM Studio 和 TaoToken 云端通道你可以直接复制后改 Key 和模型名。{ models: [ { title: Local Qwen Coder, provider: lmstudio, model: qwen2.5-coder-7b-instruct, apiBase: http://localhost:1234/v1, contextLength: 8192, systemMessage: 你是一个严谨的编程助手只输出代码和必要注释不要解释。 }, { title: TaoToken GPT, provider: openai, model: gpt-4o-mini, apiKey: sk-你的TaoTokenKey, apiBase: https://taotoken.net/api/v1, contextLength: 128000, systemMessage: 你是一个资深工程师回答简洁代码优先。 } ], tabAutocompleteModel: { title: Local Autocomplete, provider: lmstudio, model: qwen2.5-coder-7b-instruct, apiBase: http://localhost:1234/v1 }, embeddingsProvider: { provider: transformers.js }, allowAnonymousTelemetry: false, tabAutocompleteOptions: { debounceDelay: 500, maxPromptTokens: 1024 } }几个关键字段说明provider设为lmstudio时Continue 默认连http://localhost:1234但显式写apiBase更稳妥。tabAutocompleteModel是专门控制 Tab 补全的模型建议用本地小模型延迟低。allowAnonymousTelemetry设为false可以关闭匿名遥测避免不必要的外联。embeddingsProvider用transformers.js可以在本地做代码索引不需要额外 API。如果你只想用 TaoToken 云端模型把tabAutocompleteModel也改成 TaoToken 的配置即可但要注意云端补全有网络延迟Tab 补全体验不如本地。5. 验证请求在 VS Code 里确认补全是否生效配置改完后重启 VS Code或者按CtrlShiftP执行Continue: Reload Config。然后按以下步骤验证第一步打开 Continue 面板底部模型选择框应该能看到Local Qwen Coder和TaoToken GPT两个选项。切换模型时LM Studio 的服务器日志会显示请求记录。第二步新建一个.py文件输入以下代码停在def后面def calculate_average(numbers): # 光标停在这里等待补全如果本地模型正常工作Continue 会在 1-2 秒内给出补全建议按 Tab 接受。如果没反应检查 LM Studio 的 Server 日志是否有POST /v1/completions请求。第三步测试云端通道。在 Continue 面板切到TaoToken GPT然后在聊天框输入「用 Python 写一个快速排序」如果能正常返回代码说明 TaoToken 的 Key 和端点配置正确。第四步验证 Tab 自动补全。在任意代码文件里输入半行代码比如for i in range(观察是否出现灰色补全提示。如果没有检查tabAutocompleteModel是否配置以及debounceDelay是否设得太大。6. 本篇常见错排查6.1 LM Studio 模型加载失败报错通常是Failed to load model或内存不足。原因是量化版本对当前内存太大。解决办法换更小的量化比如从 Q8_0 降到 Q4_K_M或者关闭其他占内存的程序有 GPU 的话在 LM Studio 右侧勾选「GPU Acceleration」把n_gpu_layers从 10 开始逐步调高。6.2 Continue 连不上 localhost:1234先确认 LM Studio 的 Server 是否在运行浏览器访问http://localhost:1234/v1/models应该返回模型列表。如果返回连接拒绝说明 Server 没启动。如果 VS Code 在 WSL 里localhost指向的是 WSL 内部需要改成 Windows 宿主机的局域网 IP并在 LM Studio 设置里允许外部连接。6.3 TaoToken 返回 401 或 403检查apiKey是否复制完整有没有多余空格。确认apiBase写的是https://taotoken.net/api/v1不要漏掉/v1。如果 Key 刚创建等几秒再试避免缓存问题。仍然失败的话去 TaoToken 控制台确认 Key 状态是否正常。6.4 Tab 补全不触发Continue 的 Tab 补全依赖tabAutocompleteModel如果这个字段没配就不会有自动补全。另外debounceDelay默认 500ms如果设成 2000ms 以上会感觉补全很迟钝。还有一点某些文件类型默认不触发补全可以在tabAutocompleteOptions里加disableInFiles反向配置。6.5 模型切换后 Continue 显示错误模型这是 Continue 的已知行为GUI 里切换模型后如果 LM Studio 服务器加载的是另一个模型实际请求会失败。解决办法是保持 LM Studio 加载的模型和 Continue 配置里的model字段一致或者用 TaoToken 云端通道避开这个问题。7. 接入文档与后续操作如果你在配置过程中遇到 provider 字段不识别、apiBase 格式报错或者想了解 Continue 支持的全部参数建议直接查接入文档里面有完整的字段说明和示例。文档入口https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite对于长期用 Continue 做编码助手的场景Coding Plan 的额度模型比按量计费更划算适合每天高频补全的开发者。入口https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite如果你用的是 Claude Code 或者 Anthropic 风格的客户端TaoToken 也提供了对应的接入方式配置逻辑和 Continue 类似只是字段名不同。参考https://taotoken.net/claude-code?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite最后提醒一句本地模型和云端通道的切换建议用 Continue 的模型选择框而不是改配置文件改完配置记得 reload。LM Studio 的预设功能可以保存不同模型的加载参数切换模型时直接选预设比手动调n_gpu_layers快得多。