TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

Claude Code 接 Ollama 本地模型

用 Ollama 把 Claude Code 接到本地模型或 Ollama 云端模型上:一条命令启动,或手动设置环境变量,并注意上下文长度和工具支持。

这篇适合谁、读完能做到什么

适合想用 Claude Code 的工作流,却不想把代码交给远程 API,或者想先用本地模型试验的人。读完你能用 Ollama 启动 Claude Code,知道「本地」和「云端」两条路各怎么接,也知道挑模型时要看哪几个条件。

它是什么

Ollama 提供了一个与 Anthropic 接口兼容的 API。Claude Code 通过它,就能同时使用本地运行的模型和 Ollama 云端的模型[1]。这样,Claude Code 的读写文件、运行命令、调用工具等能力,换成兼容的模型也能用。

能力方面,通过 Ollama 使用的 Claude Code 可以对仓库或任务提问,在权限流程下运行命令,读写项目文件,使用子智能体,通过 Ollama 做网络搜索和网页抓取,发送图片和截图,并使用思考控制(需要模型支持)[1]。工具调用和思考控制都依赖兼容的模型。

准备:一台机器和一个模型

最省事的方式是先装好 Claude Code,再选一个模型。模型要有足够的上下文,才能装下你的仓库。云端模型不用下载就能用;本地模型则要把上下文窗口设到 64k 或以上[1]。仓库越大,越要注意这一点[1]。

Claude Code 的很多操作依赖工具调用,所以挑模型时要选支持工具的。基础的聊天和文件修改在兼容模型上能用,但 Ollama 托管的 WebSearch 和一些高级工具控制并不完全支持[1]。这一点比模型的名气更重要:一个不支持工具的模型,装得再好,也只能聊天。

怎么选接法

三种接法,适合的情况不太一样。

  • 本机已经装了 Ollama:用 ollama launch claude 一条命令启动,它会引导你选模型[1]。
  • 不想在本机装 Ollama:直接连到云端,只需要装 Claude Code 并把 API 密钥放进 OLLAMA_API_KEY[1]。
  • 想完全手动控制:自己装 Claude Code,再设置环境变量指向本地服务[1]。

方式一:用 ollama launch 一键启动

如果本机已经装了 Ollama,最直接的方式是运行[1]:

ollama launch claude

方式二:直连 Ollama 云端

不想在本机装 Ollama,也可以直接连到云端。先安装 Claude Code,再把 Ollama 的 API 密钥放进 OLLAMA_API_KEY,就不需要装 Ollama 本身[1]。

在 Bash 或 Zsh 里,可以这样启动[1]:

ANTHROPIC_BASE_URL=https://ollama.com \
ANTHROPIC_AUTH_TOKEN="$OLLAMA_API_KEY" \
ANTHROPIC_API_KEY="" \
claude --model glm-5.3-flash

ANTHROPIC_AUTH_TOKEN 用于 bearer 认证。要留意,Claude 的设置文件可以覆盖 shell 里的变量,所以如果 base URL 或密钥写进了设置文件,要同步修改,然后运行 /status 检查连接是否正常[1]。

方式三:手动接本地 Ollama

如果想完全手动配置,先在 macOS 或 Linux 上安装 Claude Code[1]:

curl -fsSL https://claude.ai/install.sh | bash

然后设置三个环境变量,让 Claude Code 指向本地的 Ollama 服务[1]:

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434

接着用 claude --model qwen3.5 启动,就能让 Claude Code 使用这个本地模型[1]。

如果不想先 export,也可以把变量写在同一行命令前面[1]:

ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 ANTHROPIC_API_KEY="" claude --model kimi-k2.7-code:cloud

无交互运行:脚本、Docker 和 CI

要在脚本、Docker 或 CI 里跑,就加上 --yes,比如[1]:

ollama launch claude --model gemma4:cloud --yes -- -p "how does this repository work?"

--yes 会跳过选择界面,需要时自动拉取模型,并且必须同时指定 --model。-- 后面的参数会原样传给 Claude Code[1]。也就是说,-- 之后可以直接写 Claude Code 自己的参数,比如上面的 -p。

权限:自动化要多留一道心

Claude Code 在大多数操作上都会请求权限。这套权限流程在通过 Ollama 使用时同样适用[1]。如果要让它自己跑,需要配置权限规则;另一种做法是在隔离的环境里传入 --dangerously-skip-permissions,这会跳过权限检查,所以只能用在隔离的环境里[1]。

定时任务和 Telegram

在 Claude Code 里用 /loop 可以按间隔重复执行一个提示词或斜杠命令,格式是 /loop <间隔> <提示词或命令>[1]。官方文档给的例子包括:每 30 分钟检查一次自己的 PR 并总结状态,每小时调研一次 AI 新闻,每 15 分钟检查一次新的 GitHub 议题并按优先级分拣[1]。

如果想让 Telegram 机器人和 Claude Code 会话对话,需要先装 Telegram 插件,用 BotFather 创建一个机器人,然后用下面的命令启动[1]:

ollama launch claude -- --channels plugin:telegram@claude-plugins-official

第一次跑通怎么检查

接通之后,先别急着让它改代码。运行 /status,确认连接和模型都是你选的那个[1]。然后问一个只读的问题,比如让它介绍一下仓库的目录结构,看它能不能读到文件、回答是否合理。这一步能帮你分清问题出在连接、模型还是任务本身。确认能读之后,再让它做一个小的文件修改,观察它是否能完成工具调用[1]。

限制和常见问题

  • 上下文不够。 仓库一大,64k 的窗口就可能不够用。模型的上下文长度要调到 64k 或更高[1]。
  • 工具不支持。 挑模型时要选支持工具的。Ollama 托管的 WebSearch 和部分高级工具控制不完全支持[1]。
  • 设置覆盖环境变量。 设置文件里的 base URL 或凭据会覆盖 shell 变量,修改后用 /status 确认[1]。
  • 自动批准要小心。 --dangerously-skip-permissions 只应该在隔离环境里使用[1]。

下一步

更多细节,比如 Ollama 网络搜索的配置和 Anthropic 兼容性的说明,可以直接看 Ollama 文档[1]。

本文改编自 Ollama 官方文档中的 Claude Code 集成页[1],原文以 MIT 许可证发布。

来源

  1. 1

引用本页: Claude Code 接 Ollama 本地模型. TellWorld, https://www.tellworld.net/zh/practice/practice-claude-code-ollama. 更新于 2026-11-14

相关动态