【图文详解】用 continue 插件把 IDEA 接到本地 Ollama 上的 deepseek 大模型 1. IDEA 里用 Continue 插件接本地 Ollama 的 deepseek到底解决什么问题很多做 Java 或者多语言开发的朋友日常在 IDEA 里写代码想用大模型辅助补全、解释代码、生成单元测试但一上来就卡在两件事上一是公司网络策略不允许随便访问外部服务二是把代码片段贴到网页对话框里来回切换窗口效率极低。Continue 插件配合本地 Ollama 部署的 deepseek 模型正好能绕开这两个痛点——模型跑在你自己的机器或者内网服务器上IDEA 里选中代码就能直接对话不需要把代码发到外部。Continue 是一个开源的 IDE 编程助手插件支持 VS Code 和 JetBrains 全家桶IDEA、PyCharm、WebStorm 等。它的核心能力是把「聊天」「代码补全」「代码编辑」三种交互都接到你指定的模型上。而 Ollama 是一个本地大模型运行时一条ollama run deepseek-r1:7b就能把模型拉起来暴露一个兼容 OpenAI 风格的 HTTP 接口。两者一组合你就在 IDEA 里拥有了一个完全离线、可自定义的编码助手。这套方案适合谁第一类是对代码隐私敏感、不希望代码出内网的开发者第二类是网络环境受限、访问外部 API 不稳定的团队第三类是喜欢折腾本地模型、想按自己需求切换 deepseek、qwen、llama 等不同模型的工程师。我试过在 16GB 内存的笔记本上跑 7B 量级的 deepseek日常补全和问答够用响应速度取决于你的显卡和量化等级。需要提前说清楚的是本文聚焦「IDEA Continue 本地 Ollama」这条离线链路覆盖插件安装、config.json 配置、一次完整的对话验证以及几个高频报错的排查。如果你本地还没装 Ollama先去官网把运行时装好再拉一个 deepseek 模型这是后面所有步骤的前提。整个流程不需要外部网络依赖配好之后断网也能用。2. 前置准备Ollama 服务与 Continue 插件的安装要点在动 IDEA 之前先把 Ollama 这一端确认好。打开终端执行ollama list能看到类似deepseek-r1:7b或者deepseek-coder:6.7b的条目说明模型已经就位。如果列表是空的用ollama pull deepseek-r1:7b拉取。拉完之后建议手动跑一次ollama run deepseek-r1:7b随便问一句确认模型能正常出词然后CtrlD退出避免它一直占着交互终端。Ollama 默认监听http://127.0.0.1:11434这个地址后面要填进 Continue 的配置里。你可以用一条 curl 验证服务是否在跑curl http://127.0.0.1:11434/api/tags返回一段包含模型列表的 JSON 就说明服务正常。如果这条命令报连接拒绝说明 Ollama 服务没启动Linux 下用systemctl status ollama看状态macOS 和 Windows 直接看托盘图标或者重新启动应用。接下来是 IDEA 端的 Continue 插件。路径是File → Settings → Plugins → Marketplace搜索Continue。这里有个坑要提醒部分老版本 IDEA 在 Marketplace 里搜不到 Continue或者装上了但模型选择的下拉框显示错位。遇到这种情况优先把 IDEA 升级到较新的版本如果因为项目原因不能升级 IDEA就去 Continue 的插件发布页下载对应版本的 zip 包用Settings → Plugins → 齿轮图标 → Install Plugin from Disk手动安装装完重启 IDEA。装好之后IDEA 右侧边栏会出现 Continue 的图标。点开它第一次会引导你配置模型。Continue 的配置核心是一个config.json文件JetBrains 版本一般放在用户目录下的.continue文件夹里比如 Windows 是C:\Users\你的用户名\.continue\config.jsonmacOS 和 Linux 是~/.continue/config.json。你也可以在 Continue 面板里点设置图标直接打开这个文件编辑。理解这个文件的结构是后面能不能接上本地模型的关键。3. 可复制的 config.json把 Continue 指向本地 Ollama 的 deepseekContinue 的配置文件是 JSON 格式核心是models数组。要接本地 Ollamaprovider 填ollamamodel 填你在ollama list里看到的模型名apiBase 填 Ollama 的服务地址。下面是一份可以直接抄的配置路径和字段都按 JetBrains 版本的实际结构来{ models: [ { title: Local DeepSeek (Ollama), provider: ollama, model: deepseek-r1:7b, apiBase: http://127.0.0.1:11434, contextLength: 8192, completionOptions: { temperature: 0.2, topP: 0.9, maxTokens: 2048 } } ], tabAutocompleteModel: { title: Local DeepSeek Autocomplete, provider: ollama, model: deepseek-r1:7b, apiBase: http://127.0.0.1:11434 }, allowAnonymousTelemetry: false }几个字段解释一下。title是显示在 Continue 模型下拉框里的名字随便起但建议写清楚。provider必须是ollamaContinue 内部会按 Ollama 的接口协议去请求。model一定要和ollama list输出的名字完全一致大小写和冒号后的 tag 都不能错写错了会报模型找不到。apiBase就是 Ollama 的地址本机就是127.0.0.1:11434如果 Ollama 跑在内网另一台机器上换成那台机器的 IP同时确认那台机器的防火墙放行了 11434 端口。contextLength控制上下文窗口7B 模型给 8192 比较稳妥设太大反而拖慢响应。completionOptions里的temperature调低一点0.2 左右能让代码补全更稳定不容易发散。tabAutocompleteModel是单独给 Tab 补全用的模型配置如果你觉得补全太耗资源可以把它删掉只保留聊天模型。如果你同时想接多个模型比如本地 deepseek 加一个远程的备用模型就在models数组里继续追加对象。这里要强调一个三件套概念不管接哪个模型你都要确认Base URL、API Key、Model ID这三样东西对得上。本地 Ollama 场景下 API Key 通常留空或者随便填因为本地服务不校验但 Model ID 必须精确匹配Base URL 必须能连通。这三者任何一个错位都会导致请求失败。改完config.json保存Continue 一般会自动重载配置。如果没生效点一下 Continue 面板右上角的刷新或者干脆重启 IDEA。配置生效后在聊天框顶部的模型下拉里就能看到你刚起的Local DeepSeek (Ollama)。4. 验证请求在 IDEA 里跑通一次完整的本地对话配置写好了不代表链路通了得实际发一次请求验证。打开 IDEA 里任意一个 Java 文件或者新建一个临时文件在 Continue 面板的聊天框里输入一个明确的编码任务比如「用 Java 写一个快速排序要求带注释」。发送之后观察两件事一是 Continue 面板有没有正常流式输出内容二是 IDEA 底部的 Continue 日志或者终端里 Ollama 有没有收到请求。如果一切正常你会看到模型逐字返回代码速度取决于本地算力。7B 模型在纯 CPU 上可能每秒几个 token有 GPU 会快很多。返回的代码块右上角一般有「Insert」「Copy」按钮可以直接插到编辑器里。这一步跑通说明 Base URL、Model ID、provider 三者都对上了。再验证一下 Tab 补全。在 Java 文件里敲一个方法名开头比如public int[] sort停一下看有没有灰色的补全建议弹出来。如果补全没反应先确认tabAutocompleteModel配了再确认模型名没写错。补全对延迟敏感本地模型如果太慢体验会打折扣可以考虑换更小的模型专门做补全。还有一种验证方式是绕过 IDEA直接用 curl 打 Ollama 的对话接口确认模型本身没问题curl http://127.0.0.1:11434/api/chat -d { model: deepseek-r1:7b, messages: [ {role: user, content: 用一句话解释什么是快速排序} ], stream: false }这条命令返回 JSON 里有message.content字段说明 Ollama 这一端完全正常。如果这条通、IDEA 里不通问题就锁定在 Continue 配置或者插件本身如果这条都不通那就是 Ollama 服务或模型的问题跟 Continue 无关。这种分层排查能帮你快速定位故障点。实测下来最容易出问题的不是模型本身而是配置里的模型名和地址。很多人从网上抄配置模型名写的是deepseek-coder但本地实际拉的是deepseek-r1:7b请求发出去 Ollama 直接返回 model not found。所以每次改完配置先对着ollama list核对一遍名字。5. 常见报错排查401、连接失败、模型找不到怎么处理本地 Ollama 场景下报错大多集中在几类。第一类是连接层面的Continue 面板提示Failed to connect或者local proxy failed。这通常意味着apiBase填的地址 Ollama 没在监听。先在终端curl http://127.0.0.1:11434/api/tags确认服务活着。如果 Ollama 跑在 Docker 里注意容器内的127.0.0.1和宿主机的127.0.0.1不是一回事要么用host.docker.internal要么把容器端口映射出来用宿主机 IP。如果 Ollama 在内网另一台机器确认那台机器启动时绑定了0.0.0.0而不是只绑127.0.0.1否则外部连不进去。第二类是 401 或者鉴权相关。本地 Ollama 默认不校验 API Key但 Continue 某些版本会要求你填一个 key 字段。如果报 401检查配置里是不是误填了一个远程服务的 key或者 provider 写成了需要鉴权的类型。本地场景下 provider 必须是ollama不要写成openai再硬指本地地址那样 Continue 会按 OpenAI 的鉴权流程走容易出问题。第三类是reading choices或者响应解析失败。这类报错说明请求发出去了但返回的数据结构 Continue 解析不了。常见原因是 provider 和实际接口协议不匹配比如把 Ollama 的地址填给了 OpenAI provider。另一个原因是模型返回了非预期的格式比如某些推理模型会把思考过程包在特殊标签里。遇到这种先确认 provider 是ollama再确认模型名正确然后看 Ollama 的日志有没有异常输出。第四类是模型找不到报错里带model not found或者pull model。这就是 Model ID 和本地实际模型对不上。解决办法只有一个ollama list看真实名字复制粘贴到config.json的model字段一个字符都别改。如果你用的是带 tag 的模型比如deepseek-r1:7b冒号和后面的 tag 都要带上。第五类是 IDEA 里插件 UI 异常比如模型下拉框空白、设置页打不开。这多半是插件版本和 IDEA 版本不兼容。去插件发布页找和你 IDEA 版本匹配的 Continue 版本用Install Plugin from Disk装。装之前先在Settings → Plugins里把旧版卸载干净重启再装避免残留。排查的时候记住一个顺序先 curl 验证 Ollama再验证 config.json 的字段最后看 IDEA 插件版本。按这个顺序走绝大多数问题都能定位到具体哪一层。6. 从本地跑通到长期使用模型选择与 Coding Plan 的衔接本地 Ollama 跑通之后日常使用还有几个可以优化的点。模型选择上7B 量级的 deepseek 适合补全和简单问答如果你机器内存和显存够可以拉 14B 甚至 32B 的版本代码理解能力会明显提升但响应会变慢。补全和聊天可以用不同模型补全用小模型保速度聊天用大模型保质量这在config.json里分开配就行。上下文长度也要注意。本地模型上下文开太大显存或内存吃紧会直接崩。7B 模型给 8192 比较稳14B 可以试 4096 到 8192具体看你硬件。temperature做代码任务建议 0.1 到 0.3太高了生成的代码容易跑偏。如果你后面不只是想在 IDEA 里做补全和问答而是想把大模型接进更长的编码工作流比如让 Agent 帮你跨文件改代码、跑测试、做重构那本地小模型可能会力不从心。这种场景可以考虑用 TaoToken 的 Coding Plan它面向长期编码和 Agent 任务模型能力比本地 7B 强不少适合把重活交给它、把轻量补全留在本地。接入方式还是那三件套Base URL 填https://taotoken.net/apiAPI Key 在控制台生成Model ID 按文档里列出的填。想先试试模型效果可以去模型对话页面直接聊几句要生成 Key 就去 API Keys 页面接入细节看接入文档。本地 Ollama 和远程 Coding Plan 并不冲突Continue 的models数组里可以同时配多个按任务切换。最后留一个实用习惯每次改完config.json先在 Continue 聊天框发一句最简单的「你好」确认链路通再去干正事。这样能把配置问题和模型问题分开省得写代码写到一半才发现模型没连上。本地离线这套链路一旦跑顺断网、内网、隐私敏感这些场景就都不再是障碍了。