
1. 为什么要在 VSCode 里接本地 DeepSeek如果你已经在本地或内网服务器上用 Ollama 跑起了 DeepSeek接下来最自然的想法就是能不能在 VSCode 里直接对话、补全、改代码而不是每次切到终端敲ollama run。Continue 插件就是干这个的它把 VSCode 变成一个能挂多个模型的客户端Ollama 只是其中一个 provider。但真正动手时问题往往不在“能不能连”而在“连上之后怎么管”。我见过太多人的配置是这样的Continue 里写一份 Ollama 地址Cline 里再写一份终端脚本里还有一份哪天服务器 IP 变了或者要换模型得挨个文件翻。更麻烦的是有些工具只认 OpenAI 兼容格式而 Ollama 原生接口和 OpenAI 接口的路径、字段并不完全一样配错一个斜杠就报 404。这篇要解决的就是这条链路VSCode Continue 插件 本地 Ollama 离线 DeepSeek同时用 TaoToken 的统一 Key 把“多工具 Key 分散”这件事收口。需要先说清楚Ollama 跑在本机或内网模型推理是离线的TaoToken 在这里承担的是统一入口和 Key 管理角色方便你在 Continue 里用一套配置去对接不同后端而不是让你把本地模型搬到云上。两者不冲突一个是推理侧一个是接入侧。适合谁看已经在本地装好 Ollama、拉过 DeepSeek 模型但被 Continue 的config.json写法、apiBase路径、连接报错卡住的人。下面按“先跑通、再收口、后排查”的顺序来。2. 前置准备Ollama 与 TaoToken 各自的位置2.1 确认 Ollama 侧已经就绪Continue 只是客户端模型得先能被访问。先在终端确认 Ollama 服务在跑并且 DeepSeek 模型已经拉下来ollama list正常会看到类似输出注意模型名要和你后面配置里写的一致NAME ID SIZE MODIFIED deepseek-r1:7b xxxxxxxxxxxx 4.7 GB 2 days ago deepseek-coder:6.7b xxxxxxxxxxxx 3.8 GB 5 days ago如果列表为空先拉一个ollama pull deepseek-r1:7b然后确认服务监听地址。默认 Ollama 只监听127.0.0.1:11434本机 Continue 直连没问题如果模型在另一台服务器上需要让 Ollama 监听0.0.0.0并确认防火墙放行对应端口。这一步是后面apiBase能不能通的前提。# Linux 下通过环境变量调整监听地址示例 export OLLAMA_HOST0.0.0.0:11434 ollama serve注意把 Ollama 暴露到内网前确认所在网络环境可信不要直接开到公网。2.2 TaoToken 在这里做什么TaoToken 的定位是统一接入层你可以在它的控制台里生成一把 Key然后在 Continue、脚本、其他 IDE 插件里复用同一套凭证和入口地址避免每个工具各写一份、各错一处。官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 。需要区分两个概念Ollama 的本地地址比如http://127.0.0.1:11434负责离线推理TaoToken 的 API 地址负责统一接入和 Key 校验。Continue 的配置里这两类 provider 可以并存你按需选用。下面第 3 节会给出两种写法。3. Continue 的 config.json 骨架与两种接入写法3.1 找到并打开配置文件在 VSCode 里安装 Continue 插件后左侧会出现 Continue 图标。点开面板右上角有个齿轮或“配置”入口点进去会打开config.json。不同版本路径略有差异常见位置~/.continue/config.json # macOS / Linux C:\Users\用户名\.continue\config.json # Windows也可以直接在 VSCode 命令面板里搜Continue: Open Config。打开后是一个 JSON 对象核心是models数组每个元素描述一个模型来源。3.2 直连本地 Ollama 的写法这是最贴近“离线部署”的配置。provider选ollamaapiBase指向 Ollama 服务地址model写ollama list里看到的模型名{ models: [ { title: DeepSeek R1 (本地 Ollama), provider: ollama, model: deepseek-r1:7b, apiBase: http://127.0.0.1:11434 } ] }如果模型在服务器上把apiBase换成服务器内网 IP{ models: [ { title: DeepSeek R1 (服务器 Ollama), provider: ollama, model: deepseek-r1:7b, apiBase: http://192.168.1.50:11434 } ] }这里最容易错的是apiBase后面多写或少写路径。Ollama provider 下Continue 会自己拼接/api/chat之类的路径你只给到主机和端口即可不要手动加/v1或/api。3.3 通过 TaoToken 统一 Key 接入的写法当你想让 Continue 和其他工具共用一套 Key、或者需要走 OpenAI 兼容格式时用openaiprovider 指向 TaoToken 的 API 基址。先在控制台生成 Key然后这样写{ models: [ { title: DeepSeek via TaoToken, provider: openai, model: deepseek-chat, apiKey: 你的_TaoToken_Key, apiBase: https://taotoken.net/api } ] }apiBase用 https://taotoken.net/api 不要带末尾斜杠也不要自己补/v1具体路径由 provider 处理。Key 的生成和管理在控制台完成https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。如果你更习惯用命令行管理凭证API Keys 页面是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。两种写法可以同时放在models数组里Continue 面板里会显示成两个可切换的模型。这样你本地离线调试用 Ollama需要统一入口时切到 TaoToken互不影响。3.4 参数对照表字段直连 Ollama走 TaoTokenproviderollamaopenaiapiBasehttp://127.0.0.1:11434或内网 IPhttps://taotoken.net/apimodelollama list中的名字控制台可用的模型名apiKey不需要控制台生成的 Key典型用途纯离线推理统一 Key、多工具复用4. 验证连通性从命令行到 Continue 面板4.1 先用 curl 确认 Ollama 活着在配 Continue 之前先用命令行排除服务本身的问题。本机curl http://127.0.0.1:11434/api/tags服务器curl http://192.168.1.50:11434/api/tags返回 JSON 里能看到模型列表说明服务可达。如果这一步就失败Continue 里再怎么配也没用先解决网络和监听地址。再验证一次对话接口curl http://127.0.0.1:11434/api/chat -d { model: deepseek-r1:7b, messages: [{role: user, content: 用一句话说明什么是递归}], stream: false }能返回message.content就说明模型推理正常。4.2 验证 TaoToken 侧用同一把 Key 发一个 OpenAI 兼容格式的请求curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer 你的_TaoToken_Key \ -H Content-Type: application/json \ -d { model: deepseek-chat, messages: [{role: user, content: 你好}] }返回带choices字段即表示 Key 和入口都通。如果这里报 401检查 Key 是否复制完整报 404检查apiBase是否写成了带/v1的形式。4.3 回到 Continue 面板实测保存config.json后Continue 面板会刷新模型列表。选中你配的 DeepSeek在对话框里输入一句测试比如“帮我写一个 Python 读取 CSV 的函数”。能正常流式返回就说明整条链路通了。如果你想先在网页端确认模型可用性可以用模型对话入口https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。接入细节和字段说明可以查文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。5. 常见报错与排查清单5.1 Continue 里模型列表为空多半是config.json语法错误。JSON 不允许尾随逗号也不允许注释。把文件贴到任意 JSON 校验工具里过一遍或者用 VSCode 自带的 JSON 校验看波浪线。改完保存重启一下 Continue 面板。5.2 报 connection refused说明apiBase指向的地址端口没人监听。分三种情况Ollama 没启动Ollama 只监听127.0.0.1而你在另一台机器上连防火墙拦了 11434。按 4.1 的 curl 逐个排除。5.3 报 404 Not Found几乎都是路径写错。Ollama provider 下apiBase只写到端口OpenAI provider 走 TaoToken 时apiBase写到https://taotoken.net/api不要自己加/v1/chat/completions。多一个斜杠、少一个斜杠都会 404。5.4 报 401 Unauthorized只在走 TaoToken 时出现。检查apiKey字段是否填了、有没有多余空格、Key 是否已失效。重新在控制台生成一把再试。5.5 模型名不匹配Ollama 侧报model not found说明model字段和ollama list里的名字对不上。注意带 tag 的写法比如deepseek-r1:7b和deepseek-r1可能不是同一个。TaoToken 侧则要用控制台里实际可用的模型名。5.6 响应很慢或超时本地小显存跑大模型会慢这是硬件问题不是配置问题。可以换更小的量化版本或者在 Continue 配置里调低maxTokens之类的参数减少单次生成量。服务器场景还要看内网带宽。6. 把 Key 收口之后的工作流配置跑通只是第一步真正省事的是后续维护。我的做法是Ollama 相关配置留在 Continue 里直连负责离线、隐私敏感的代码片段需要跨工具复用、或者临时切到更强模型时走 TaoToken 的统一 Key。这样服务器 IP 变了只改一处Key 轮换也只改一处。如果你长期在 VSCode 里做编码和 Agent 类任务可以了解一下 Coding Plan它更适合把这类高频调用固定下来https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。Claude Code 相关的接入说明在 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 思路和 Continue 类似都是把入口和凭证统一。最后留一个我踩过的坑改完config.json一定要确认保存的是 Continue 实际读取的那个文件有些机器上存在多个.continue目录改错了地方会以为配置没生效。用命令面板的Continue: Open Config打开的那个才是准的。