VS Code 插件 Continue 配置自定义 API:DeepSeek、Claude 兼容端点与本地 Ollama 接入指南
用 VS Code 写代码的朋友应该都听过 Continue 这个插件。它的核心卖点是不绑定任何一家模型厂商你想接什么模型都可以。但恰恰是这种“自由”我第一次配置的时候就懵了——DeepSeek 的 API Key 拿到了往哪个字段填别人给我一个兼容 Claude 协议的接口地址又要怎么配本地 Ollama 明明已经把模型跑起来了Continue 却还是连不上这篇文章我就不绕弯子了把 Continue 配置自定义 API 的三种典型套路一次性讲完DeepSeek 官方 API、Claude 兼容端点、本地 Ollama。同时把配置文件里容易踩的坑、常见的报错也一并拆开揉碎给正在折腾的朋友一份可以直接抄作业的参考。先说个大概结论Continue 的配置逻辑并不复杂核心就是改一个 YAML 文件。你只要搞清楚“请求格式”和“服务地址”这两个变量剩下就是填空。但恰恰是这两个变量不同模型、不同端点之间各有各的写法错一个字段就是一连串报错。所以我先带你把 Continue 的配置机制搞明白再分别看三种场景怎么写最后结合我实际碰到的问题清单帮你省掉到处搜报错的时间。1. 先摸清 Continue 的配置机制1.1 Continue 是什么为什么值得配置自定义 APIContinue 是 VS Code 和 JetBrains 系 IDE 里一款开源的 AI 编程助手插件。和 GitHub Copilot 这类封闭工具最大的不同是它的模型后端完全由用户自己控制。你可以把任意支持 OpenAI 格式、Anthropic 格式的云端 API 接进来也可以把本地推理服务接进来甚至可以在同一个配置文件里同时挂好几个模型按场景切换。我最初看中它就是因为不想被某个厂商的订阅费锁死。DeepSeek 的价格便宜、代码能力也不错本地 Ollama 完全免费、离线可用如果手上刚好有兼容 Claude 协议的商业端点又能享受另一种模型风格。能把这三类来源统一接到 IDE 里而且切换成本几乎为零这是 Continue 最实用的地方。1.2 配置文件的两种形态config.json 与 config.yamlContinue 的模型配置本质上就是读取一个 JSON 或 YAML 格式的配置文件。新版本默认推荐使用config.yaml它比 JSON 对注释更友好写起来也省去很多括号。入口在 Continue 面板底部点齿轮图标就能打开配置界面。插件会在你的用户目录下创建一个.continue文件夹里面就是config.json或config.yaml。如果你两个文件都存在会优先读取 YAML。建议直接把 JSON 删掉或改名备份统一用 YAML避免改了半天发现改的是另一个文件。配置文件的顶层结构很简单。models是一个数组每一个元素代表一个模型tabAutocompleteModel单独用来指定 Tab 补全用的模型。每个模型条目里最关键的是provider、model、apiBase、apiKey这几个字段。后面三种接入方案改来改去都是围绕这四样东西。1.3 三种接入路线的选型逻辑先理一下思路后面才不会乱。DeepSeek 官方 API属于“云端 OpenAI 兼容”方案。DeepSeek 的接口格式和 OpenAI 基本一致所以 provider 可以写成openai类型再改一下apiBase就行。Claude 兼容端点属于“云端 Anthropic 兼容”方案。Continue 原生支持anthropic类型如果你拿到的端点实现了 Anthropic Messages API 协议直接把apiBase指向那个服务即可。本地 Ollama属于“本地自托管”方案。Ollama 启动后就是一个本地的 HTTP 服务Continue 里也有专门的ollama类型填上http://localhost:11434就行。选型逻辑也很直白想要稳定、便宜、不用操心硬件就选 DeepSeek 官方手头有现成的 Claude 兼容端点想尝试更强模型效果就走第二条追求隐私、离线、零成本就上 Ollama。三套方案不是互斥的完全可以并存。2. DeepSeek 官方 API 接入 Continue2.1 准备 API Key注册平台与创建密钥DeepSeek 开放平台提供的是 OpenAI 兼容接口代码和配置层面非常简单。先去平台注册账号进入控制台创建一个 API Key。创建之后Key 只显示一次一定要立刻复制存好。费用方面deepseek-chat 和 deepseek-reasoner 都是按 token 计费新用户一般会有赠送额度日常写代码、聊天消耗不大。这里有个小程序员容易犯的错把 API Key 直接写进配置文件然后整个项目目录传到公开仓库里。Key 泄露之后就会被别人盗刷。正确做法是本地配置时用环境变量比如在 shell 里设置export DEEPSEEK_API_KEYsk-xxx然后在 config.yaml 里写${DEEPSEEK_API_KEY}。Continue 支持读取环境变量这样既方便又不会把你的 Key 打到 Git 历史里。2.2 配置文件写法OpenAI 兼容格式下的三个关键字段DeepSeek 官方 API 的地址是https://api.deepseek.com也可以补上/v1两者对 Continue 来说都可以。模型名有两个主流选择deepseek-chat对应 DeepSeek-V3 系列适合日常对话和代码生成deepseek-reasoner对应 R1 系列适合复杂推理、架构分析和长链路 Debug。在 config.yaml 里加这样一个模型models: - name: DeepSeek Chat provider: openai model: deepseek-chat apiBase: https://api.deepseek.com/v1 apiKey: ${DEEPSEEK_API_KEY} roles: - chat - edit - apply如果你希望 Tab 补全也用 DeepSeek可以额外配置tabAutocompleteModel: name: DeepSeek Coder provider: openai model: deepseek-chat apiBase: https://api.deepseek.com/v1 apiKey: ${DEEPSEEK_API_KEY}roles字段决定这个模型能出现在哪些交互场景里。chat是聊天面板edit是选中代码后的编辑指令apply是直接把模型输出应用为代码改动。这三个是 Continue 最常用的角色建议先都加上。如果你希望聊天用 deepseek-chat、补全用另一个更快更便宜的模型tabAutocompleteModel单独写就行。2.3 联调验证聊天、补全、编辑三件事分开测配置写完保存 YAML然后在 Continue 聊天面板底部把模型切到 “DeepSeek Chat”发一句“你好”看看有没有正常响应。我实测的一个经验是聊天通了不等于 Edit 功能一定能用。因为 Continue 的 Edit 和 Apply 会依赖模型对工具调用的支持DeepSeek 官方接口对 OpenAI 兼容的工具调用支持得不错但如果你配的是中转端点就有可能在 Edit 时报 400 错误。所以每改一个模型我建议把三件事都测一遍聊天、选中代码后用 CtrlI 呼出内联编辑、再到侧边栏测试一次 Apply。全绿了才算真正配置成功。另外一个细节当你切换模型后Continue 会重新加载配置新模型如果不在列表里说明 YAML 语法写错了。看控制台日志在 Continue 面板右上角的设置里可以打开 “View Logs”里面有详细的加载过程和报错原因这一步能省很多排查时间。3. Claude 兼容端点接入 Continue3.1 兼容端点是什么为什么能“无缝替换”这里说的“Claude 兼容端点”是指任何实现了 Anthropic Messages API 协议的服务地址。它可能来自企业内部网关、云服务商托管的模型服务、或者第三方商业 API 平台。只要它遵循同样的请求和响应格式Continue 这边的配置就不需要改代码逻辑只需要把地址指过去这本质上就是“协议兼容”带来的便利。打个比方接口协议就像是充电口的标准。如果你的充电器是 Type-C那只要插座也是 Type-C不管背后是充电宝、插座、还是车载电源都能直接插上。Continue 原生支持 Anthropic 协议所以面对这类端点你要做的只是告诉它“用什么协议、连哪里、密钥是什么”。3.2 实际配置type 用 anthropicapiBase 指向端点继续看代码。在 config.yaml 里新增一个模型核心是把provider设成anthropicmodels: - name: Claude Compatible Endpoint provider: anthropic model: claude-sonnet-4-xxx apiBase: https://your-endpoint.example.com/v1 apiKey: ${YOUR_ENDPOINT_KEY} roles: - chat - edit - apply这里有几个容易踩坑的地方。第一model字段不能随便填必须以你购买或申请的这个端点实际提供的模型名为准。不同的服务商模型名五花八门有的是claude-sonnet-4-xxx有的就叫gpt-4o或者完全自定义的名字。填错了请求发到服务端对方会直接拒绝因为你请求的模型 ID 不存在。第二apiBase一般要写到/v1这一层但不同服务商要求不一样。有些端点要求你写完整的基础地址有些则会在你填的地址后面自己拼路径。遇到 404 或者路由错误先去掉或加上/v1再试一次。这是我折腾各种兼容端点时最常调的一个地方。3.3 请求头、模型名和可选项建议先只改最少的字段如果端点要求额外的请求头Continue 也支持。在 model 条目里可以继续加models: - name: Claude Custom Header provider: anthropic model: claude-xxx apiBase: https://your-endpoint.example.com apiKey: not-needed requestOptions: headers: X-API-Key: sk-custom-token配置了自定义头之后apiKey可以留空或者写not-needed。但我建议不要一上来就整这些花活。第一次配置时把provider、model、apiBase、apiKey四个字段填对能跑通聊天再考虑额外的 headers。一次改动太多出了问题很难定位到底是哪个字段导致的。另一个常见问题是某些兼容端点虽然自称兼容 Claude 协议但对工具调用的支持并不完整。Continue 在调用 Edit/Apply 时会发送工具定义如果端点不认就会出现api error: 400 invalid schema for function artifact这类报错。遇到这种情况可以在模型配置里关掉函数调用能力models: - name: Claude No Function Call provider: anthropic model: claude-xxx apiBase: https://your-endpoint.example.com apiKey: ${YOUR_ENDPOINT_KEY} capabilities: functionCalling: false关闭之后这个模型就只走普通聊天补全的路径不会再触发工具相关的校验。代价是编辑和应用这种强依赖工具调用的功能可能受影响但至少聊天能正常用不至于整个插件都瘫掉。4. 本地 Ollama 接入 Continue4.1 Ollama 安装与模型准备Ollama 是目前最省心的本地大模型运行工具下载安装包、装完就是一个命令行工具Windows、macOS、Linux 都有。装好之后打开终端先验证一下ollama --version然后拉一个模型比如 DeepSeek 系列的 R1 蒸馏版ollama pull deepseek-r1:8b也可以拉代码能力比较强的 Qwen 系列ollama pull qwen2.5-coder:7b下载需要一些时间模型文件一般都是好几 GB。这里提示一下Windows 用户如果 C 盘空间紧张一定要提前把模型目录改到其他盘。方法是设置环境变量OLLAMA_MODELS指向你的 D 盘或 E 盘目录设置完再启动 Ollama。否则模型全塞进 C 盘跑一次就能吃掉你二三十 GB 空间到时候再迁移模型文件可就费劲了。下载慢的另一个改进思路是避开高峰时段或者用体验更好的下载工具多试几次。Ollama 官方对断点续传支持还可以中断之后重新执行 pull 一般能接着下。4.2 配置 Continue 指向 Ollama 服务Ollama 启动后默认监听在本机的11434端口。在浏览器里直接访问http://localhost:11434会看到一串提示文本说明服务已经起来了。在 Continue 的 config.yaml 里新增一个 Ollama 模型models: - name: Local DeepSeek R1 provider: ollama model: deepseek-r1:8b apiBase: http://localhost:11434 roles: - chat - edit - apply保存配置文件重新加载 Continue 面板模型列表里就会出现 “Local DeepSeek R1”。这时你可以在聊天里测试也可以选中代码试一下内联编辑。如果 Ollama 跑在和你 VS Code 同一台机器上这个配置就够了。4.3 WSL2 环境的关键一步让 Continue 找到 WSL 里的 Ollama很多同学喜欢把 Ollama 装在 WSL2 的 Linux 环境里因为 Linux 下的 CUDA 支持更顺畅模型推理性能也更好。但问题来了VS Code 跑在 Windows 侧WSL2 里的localhost并不会自动无缝共享。这里有两个解法。第一个最干净的方式是不要在 Windows 侧直接连 WSL而是用 VS Code 的 WSL 扩展把整个 VS Code 窗口开进 WSL 里。这样 Continue 插件也运行在 WSL 内部它访问http://localhost:11434时目标就是 WSL 里的 Ollama天然就能通。第二个如果你还是想从 Windows 侧访问需要让 Ollama 监听所有网络接口而不仅是 127.0.0.1。启动之前设置环境变量export OLLAMA_HOST0.0.0.0:11434 ollama serve然后在 WSL 里用hostname -I查一下当前 WSL 的 IP在 Windows 侧的 config.yaml 里填apiBase: http://WSL的IP:11434注意WSL2 的 IP 每次开机可能都不一样所以这种方式更适合临时调试。长期使用我还是推荐顺着 VS Code WSL 扩展的思路让插件和模型服务待在同一个网络空间里少很多折腾。4.4 本地模型的选型与性能优化本地模型的体验上限取决于你的硬件。显存 8GB 左右推荐 7B 到 8B 的量化模型比如qwen2.5-coder:7b、deepseek-r1:8b显存 16GB 以上可以尝试 14B 的模型再往上就得上 70B 或者更大的模型了。模型标签里的q4_K_M、q8_0是量化精度精度越高体积越大、速度越慢效果也相对更好。日常代码补全我一般就用 q4_K_M 就够了。上下文长度是另一个影响体验的点。Ollama 默认分配 4096 上下文在 Continue 里处理大文件时容易不够用。你可以通过OLLAMA_CONTEXT_LENGTH环境变量调大比如设成 16384。但要注意上下文越大显存占用越高生成速度越慢。如果你发现模型回答开始“断片”或者速度明显下降先把上下文稍微降一降别一门心思追求最大上下文。5. 三套方案混合使用一个配置文件的完整示例5.1 同时配置多个 provider给模型分配不同角色Continue 最大的好处不是一个模型用到底而是多个模型各司其职。比如你在聊天里用 DeepSeek 官方它便宜、速度快、代码能力在线在代码编辑和补全场景用本地 Ollama完全免费、离线稳定如果有特殊需求再把 Claude 兼容端点挂上来处理更复杂的逻辑推理。一个完整的 config.yaml 可以长这样models: - name: DeepSeek Chat provider: openai model: deepseek-chat apiBase: https://api.deepseek.com/v1 apiKey: ${DEEPSEEK_API_KEY} roles: - chat - edit - apply - name: Claude Compatible Endpoint provider: anthropic model: claude-xxx apiBase: https://your-endpoint.example.com/v1 apiKey: ${YOUR_ENDPOINT_KEY} roles: - chat - edit - apply - name: Local DeepSeek R1 provider: ollama model: deepseek-r1:8b apiBase: http://localhost:11434 roles: - chat - edit - apply tabAutocompleteModel: name: Qwen Coder Local provider: ollama model: qwen2.5-coder:7b apiBase: http://localhost:11434这里我把 Tab 补全单独指给了本地 Ollama 的 Qwen Coder。原因是补全功能对延迟敏感每次按键都要有响应本地模型没有网络延迟体验通常比云端 API 更好。而聊天和复杂编辑响应时间要求没那么苛刻用云端 DeepSeek 或兼容端点更合适。5.2 日常切换模型的操作方式配置好之后用起来很简单。在 Continue 聊天面板底部有一个模型下拉框点一下就能在 DeepSeek、Claude 兼容端点、本地 Ollama 之间切换。我记得第一次用这个功能的时候最大的感慨是它连上下文都能保留。同一段对话里你先让本地小模型快速给个草稿再切到云端大模型让它完善两个模型之间切换基本是无痛的。内联聊天也有类似的切换方式。在编辑器里按CtrlI弹出的对话框里可以调整模型。如果你在代码编辑过程中发现当前模型生成质量不理想不用复制粘贴上下文直接切换模型接着问就可以了。5.3 我的搭配建议和理由在实际使用中我个人的组合是聊天用 DeepSeek 官方deepseek-chat它响应快、成本低日常代码咨询完全够用碰到特别绕的 BUG、需要一步步推理的场景切成deepseek-reasoner或者 Claude 兼容端点Tab 补全用本地 Ollama 的qwen2.5-coder:7b离线零延迟。这个搭配的好处很明显最贵的模型只在真正需要时才用日常高频操作都落在便宜或免费的路线上。按我一个月的高频使用强度DeepSeek 的花费通常也就是几块钱而如果全都走 Claude 兼容端点费用可能翻好几倍。对个人开发者来说这种“按角色分模型”的策略是既省钱又保体验的最优解。6. 常见报错与排查技巧实录6.1 api error: 400 invalid schema for function artifact这是我这段时间看到最多的一条报错也是 Continue 配置自定义 API 时最容易劝退人的一个错误。错误原文长这样api error: 400 invalid schema for function artifact: ^(?!.*$)[^\p{Cc}... 听不懂没关系我给你翻译一下Continue 在调用某些模型时会往请求里塞一个名为artifact的“函数定义”服务端对函数名做了严格的格式校验发现你发的函数名不合法于是返回 400。这个报错常见于 Continue 老版本配合 Claude 兼容端点或部分不支持工具调用的模型。解决办法按优先级排列第一把 Continue 插件升级到最新版。老版本生成的 artifact 函数定义确实有问题新版很多场景下已经修掉了。第二在模型配置里禁用函数调用也就是前面写过的capabilities.functionCalling: false。这能立刻绕过校验代价是编辑/应用类功能可能不可用。第三换用 OpenAI 兼容协议。有些端点同时支持 OpenAI 和 Anthropic 两种协议你换一种协议配置可能就不会触发这条校验了。第四检查模型返回的 artifact 名称。如果你用了某些非标准模型它返回的 artifact 名里可能带了空格、中文、特殊符号不符合正则校验规则也会导致 400。这时候只能换模型或者换端点。6.2 Please open a folder or workspace to continue这个提示一般不是报错而是 Continue 需要工作区上下文才能开始工作。很多刚装完插件、还没打开任何代码目录的人直接点 Continue 面板就会看到这句话。解决方式很简单用 VS Code 打开一个文件夹比如你的项目目录然后在左侧资源管理器里随便点开一个代码文件再打开 Continue 面板。正常来说这个提示就会消失。如果你已经打开了文件夹还看到它可以试试重启 VS Code或者重新加载窗口CtrlShiftP→ “Developer: Reload Window”。6.3 连接失败、超时、404 等网络类问题这类问题排查起来我建议按照一个固定流程走不要东一榔头西一棒子。第一确认服务地址本身能不能通。云端 API 用浏览器访问一下https://api.deepseek.com本地 Ollama 用浏览器访问http://localhost:11434如果浏览器都打不开问题肯定不在 Continue。第二确认apiBase是否带/v1。DeepSeek 和很多 OpenAI 兼容端点写不写/v1都可能通但有些端点只认其中一种写法。404 或者路由错误的时候先改这个位置。第三确认 Key 是否有权限。401 通常是 Key 不对403 是 Key 没有对应模型权限400 则多半是模型名填错或请求格式不对。把报错信息里的状态码记下来再回到配置文件检查。第四如果用的是本地 Ollama确认服务确实在运行。终端执行ollama list如果能看到模型列表说明服务是正常的。如果命令卡住或者报连接失败就先解决 Ollama 本身的问题。6.4 插件安装、版本和缓存问题有时候还没到配置 API 那一步插件本身就没装上。Continue 是从 VS Code 扩展市场安装的扩展包如果你下载市场资源时网络不稳定会出现安装包不完整的情况。比如你手动下载了.vsix文件在 VS Code 里安装时提示The installation cannot continue as the installer file may be damaged这就是文件没下完整或者被中途截断了。解决方法是删除原有的.vsix重新下载最好用支持断点续传的下载工具下载完成后对比一下文件大小是否和页面标注的一致。如果是从扩展市场直接安装失败可以先尝试在 VS Code 里把扩展市场的镜像源切回官方再试一次。还有一个隐藏问题Continue 配置改动后旧配置可能被缓存。如果你改完 YAML发现界面里模型没变试试完全退出 VS Code 再重新打开。很多时候“重启治百病”这招在 VS Code 插件场景里依然有效。6.5 “登录失败”这类混淆提示怎么分辨热词里有一条login failed. check api token or gitlab version看起来很像 Continue 的报错其实大概率不是。这类提示通常来自 GitLab 等远程仓库扩展和 Continue 没关系。怎么分辨看两个点一个是它出现在哪个面板另一个是它提示你检查什么。Continue 的报错一般会直接出现在聊天窗口或右下角通知里而且报错信息里通常带api error、connection、provider这类字眼。如果看到的是gitlab version、api token这种和代码仓库相关的词先去 VS Code 的“源代码管理”面板看看是不是仓库认证的问题别在 Continue 配置上瞎折腾。我在实际使用中还有一个体会当你把多个扩展都打开时解决它们之间的“干扰”更重要。比如 VS Code 自带的 GitHub Copilot 如果也开启了可能会抢走 Tab 键的补全触发导致 Continue 的补全看起来“没反应”。遇到这种情况把其中一个的 Tab 补全关掉或者把按键绑定错开体验会稳定很多。最后再分享一个小技巧不管你是接 DeepSeek、Claude 兼容端点还是本地 Ollama做好配置之后第一时间把这份 YAML 文件备份一份。以后换电脑或者重装系统几分钟就能恢复整套开发环境。别等到插件重新初始化之后对着空配置一脸迷茫。折腾配置本身不痛苦痛苦的是同样的坑踩第二次。