claude code如何配置ollama

模型与算力

讲清怎么把 Claude Code 接到本地 Ollama 上离线跑:环境变量怎么设、模型怎么挑、连不上时按什么顺序排查。

很多人想在断网或者不想把代码发出去的环境里用 Claude Code,第一反应是接本地 Ollama。结果一上手就卡在环境变量该写哪几个、Ollama 那边的接口地址填什么、跑起来提示连不上又不知道从哪查。这篇按「先准备、再接线、后验收」的顺序给一份能照着做的清单,顺便说清哪些情况下这条路不合适。

想在断网环境或者不想把代码发出去的情况下继续用 Claude Code,接本地 Ollama 是最直接的路子:模型在你机器上跑,请求不出网卡。但多数人卡住的地方不在模型本身,而在两个环节——环境变量到底改哪几个、以及跑不通的时候不知道该先查哪一步。这篇按「先准备、再接线、后验收」的顺序给一份能照着做的清单。

先说明一点:Claude Code 接 Ollama 的本质,是让它以为自己在跟一个兼容接口说话,所以你要动的是接口地址和模型名,而不是去改它内部的模型清单。想清楚这条,后面所有配置都顺了。另外哪些情况这条路不划算,最后一节单独讲。

接线之前先确认三件事

  • Ollama 服务本身必须已经在跑,而且能被本机其他进程访问:先打开浏览器或直接 curl 它的本地接口,看到有正常返回再动 Claude Code 的配置,否则你根本分不清是模型没起来还是配置写错了
  • 挑模型只看两点,不看排行榜:一是它支不支持工具调用/函数调用这类能力,二是本机显存扛不扛得住当前的量化档位。显存和量化的对应关系去 部署测算 对一遍,比拍脑袋装一个跑不动的模型省事
  • 把「离线」定义清楚:拉模型、Claude Code 自身校验、插件更新这些环节都可能偷偷联网。真断网环境要么提前把要用的模型全部拉好,要么接受部分功能不可用

环境变量怎么摆:把 Claude Code 指向本地端口

核心思路只有一条:让 Claude Code 把请求发给本地端口。所以要改的是接口地址和模型名这两个变量,而不是去翻配置文件里的模型 ID。变量名在不同版本之间可能不一样,别照抄博客里的旧写法,以你本机版本自带的说明为准。

  1. 确认变量真的生效改完之后不要只看 shell 配置文件写了什么,用打印当前环境变量的方式确认它已经进到进程里,没 source 的话写了等于没写
  2. 模型名写实际存在的那个模型名要和 Ollama 里列出来的名字完全一致。写错不会被启动时拦下,而是等第一次请求才报错,非常难查
  3. 顺手排除代理如果本机开着全局代理,先把 localhost 加进代理排除列表,再开始测,否则后面的报错可能全是代理造成的
检查项正确状态写错的典型表现
Ollama 服务接口有正常返回连接被拒绝、超时
接口地址指向本机端口请求发到外网、莫名超时
模型名与 Ollama 列表完全一致启动正常、首次请求报错
代理设置本机地址已排除本地服务收不到任何请求

跑通验收:先小后大,别一上来就丢大仓库

接通之后不要立刻把整个项目丢进去。分三步走:第一步只发一句「你好」,确认链路通;第二步让它读一个单文件、改一行注释,确认工具调用这条路径也走得通;第三步再放进真实项目。前两步花不了几分钟,能帮你把「模型能力问题」和「接线问题」彻底分开。

  • 判断是否真走本地:断网或断代理再试一次。还能正常回答,说明请求确实落在本地;立刻超时,说明还有流量在往外走
  • 本地小模型的上下文窗口通常比云端小,长文件、大仓库容易被截断。遇到「它好像没看到我后面的代码」,先怀疑上下文长度,别急着归因成幻觉
  • 验收阶段留意它会不会反复读同一个文件、或者改了不该改的地方,这是工具调用能力不足的早期信号

连不上时的排查顺序

排查最忌跳步。按下面这个顺序从下往上走,每一步确认了再进下一步,能避免在错误的方向上反复调参数。

  1. 查服务Ollama 是否真的在运行,进程还在不在
  2. 查端口那个端口本机能不能访问,用 curl 直接打一次
  3. 查配置Claude Code 里的接口地址和模型名是否与前面确认的一致
  4. 查网络拦截至代理、防火墙有没有把本机回环地址也拦进去
  5. 最后查版本以上都排除后,再怀疑 Claude Code 与接口的版本兼容性

最常见的坑是「代理抢流量」:本机开着全局代理时,指向本机地址的请求有时会被转发出去,本地服务压根收不到。把 localhost 加进排除列表,通常就好了。另外如果报的是模型能力相关错误而不是连接错误,那多半是当前模型不支持工具调用,换一个支持该能力的模型,而不是继续调超时或温度。

什么情况下别走这条路

本地跑不是万能方案,下面几种情况硬上反而更费时间。判断标准很简单:如果你对结果的稳定性要求高于对离线的要求,就别折腾本地。

  • 任务涉及大量跨文件重构、需要长上下文推理时,本地小模型容易改一半跑偏,返工的时间可能比你自己写还多
  • 团队协作场景下每个人机器配置不同,本地跑出来的效果没法对齐,改出来的代码风格和正确率波动会很大
  • 只是想要控制成本、并不在意离线的,先算一遍账:租卡、按量调接口和本地电费加显卡折旧比一比。口径可以参考 买卡还是租卡:三年账怎么算,具体数字以页面当时的测算为准
  • 需要频繁使用最新模型能力时,本地可选的模型往往滞后,这时候联网调用更合适
下一步想省事可以先用站内的测速工具确认本机到 Ollama 的链路是否通畅,再回来配 Claude Code;如果你还在挑模型和算部署成本,部署测算 里能把显存和量化档位对清楚,避免装完才发现跑不动。

常见问题

Claude Code 必须开代理才能用吗?接本地 Ollama 之后还要不要?

Claude Code 默认链路是走官方接口的,那部分确实需要网络。改成指向本地端口之后,模型请求不再需要外网,但登录校验、插件市场、版本检查这些仍可能联网。想彻底离线,得先把这些依赖功能接受为不可用,或者提前完成一次在线初始化。真断网前建议先拔网线跑一遍,看哪些功能会掉。

本地模型跑 Claude Code,效果和官方模型差多少?

差多少取决于你选的模型和量化档位,没有一个统一答案。经验上是:单文件小改动、写注释、补测试这类任务本地模型能胜任;跨文件重构、需要理解全局架构的任务差距会明显放大。建议先用你自己的真实任务做小样本对比,而不是看别人的结论。模型选型可以参考 AI 模型库(/models) 里的规格。

接口一直报连接失败,是 Claude Code 的问题还是 Ollama 的问题?

先用命令行直接打 Ollama 的本地接口地址,能返回说明是 Claude Code 侧的配置问题;返回不了就是 Ollama 没起好或端口被占。90% 的情况是三种:服务没启动、地址写成了 https、或者本机代理把 localhost 的请求劫走了。把 localhost 加进代理排除列表,再重启一次服务,通常就好了。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。