Ollama自v0.14.0版本起,正式兼容Anthropic Messages API,这一更新实现了关键突破——让Anthropic旗下的Claude Code智能编码工具,可直接与Ollama支持的开源模型配合使用。无论是本地部署的开源模型,还是通过ollama.com连接的云模型,都能借助这一适配方案,在终端或应用中高效运行,无需依赖Anthropic官方专属服务。

核心前提:Ollama与Claude Code适配基础
本次适配的核心价值,在于打通了Claude Code与开源模型的连接通道。Claude Code作为Anthropic推出的终端端智能编码工具,原本主要对接Anthropic官方模型,而Ollama的兼容性更新,使其可无缝调用Ollama生态内的各类开源模型(本地/云端均可),且操作流程简单,无需复杂的二次开发。
关键要求:Ollama版本需为v0.14.0及以上;建议选用具备64k令牌上下文长度的模型(本地模型需手动配置,Ollama云模型默认以完整上下文长度运行),以保障编码、多轮对话等场景的流畅性。
快速上手:用Ollama运行Claude Code(三步搞定)
以下流程覆盖主流操作系统,步骤清晰可直接落地,适合各类技术背景的使用者参考。
第一步:安装Claude Code
根据自身操作系统,复制对应命令执行安装,全程无需复杂配置,一键完成部署:
macOS、Linux、WSL系统:打开终端输入以下命令
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell系统:以管理员身份打开PowerShell,输入以下命令
irm https://claude.ai/install.ps1 | iex
Windows CMD系统:打开CMD终端,输入以下命令
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
第二步:配置Ollama连接参数
安装完成后,需配置环境变量,让Claude Code识别并连接Ollama服务。核心配置仅需2个环境变量,操作如下:
export ANTHROPIC_AUTH_TOKEN=ollama # 认证令牌固定填写ollama,无需修改
export ANTHROPIC_BASE_URL=http://localhost:11434 # Ollama默认本地服务地址
提示:环境变量配置后立即生效,若后续无法连接Ollama,可检查本地Ollama服务是否正常运行(终端输入ollama --version验证)。
第三步:调用Ollama模型运行Claude Code
配置完成后,可直接通过命令行调用本地或云端模型,启动Claude Code进行编码工作:
调用本地模型(以gpt-oss:20b为例)
claude --model gpt-oss:20b
调用云端模型(以glm-4.7:cloud为例)
claude --model glm-4.7:cloud
推荐模型:适配Claude Code编码场景
结合编码场景的核心需求(语法准确性、代码生成效率、上下文理解能力),整理了适配性最优的本地与云模型,可根据自身使用场景(本地离线/云端高效)选择:
1. 本地模型(适合隐私保护、离线使用)
- gpt-oss:20b:参数量适中,编码适配性强,支持多语言代码生成,适合常规开发场景;
- qwen3-coder:专为编码优化,对Python、JavaScript等主流语言支持度高,代码片段生成准确率高。
2. 云模型(适合高效调用、无需本地部署)
- glm-4.7:cloud:上下文处理能力强,支持复杂代码逻辑生成,响应速度快;
- minimax-m2.1:cloud:编码容错率高,适合新手使用,同时支持简单的工具调用场景。
Anthropic SDK集成:现有应用快速适配Ollama
若已有基于Anthropic SDK开发的应用,无需重构代码,仅需修改基础URL,即可快速连接Ollama服务(API密钥需填写但会被忽略)。以下为Python、JavaScript两种主流语言的适配示例:
1. Python语言适配示例
import anthropic
# 初始化客户端,修改base_url指向本地Ollama服务
client = anthropic.Anthropic(
base_url='http://localhost:11434',
api_key='ollama', # 必须填写,仅用于格式兼容,实际无认证作用
)
# 调用模型生成代码(示例:检查数字是否为质数的函数)
message = client.messages.create(
model='qwen3-coder', # 选用适配的编码模型
messages=[
{'role': 'user', 'content': '写一个检查数字是否为质数的函数'}
]
)
print(message.content[0].text) # 输出模型生成的代码结果
2. JavaScript语言适配示例
import Anthropic from '@anthropic-ai/sdk'
// 初始化客户端
const anthropic = new Anthropic({
baseURL: 'http://localhost:11434', // 指向本地Ollama服务地址
apiKey: 'ollama', // 格式兼容必填,无实际认证意义
})
// 异步调用模型生成代码
const message = await anthropic.messages.create({
model: 'qwen3-coder',
messages: [{ role: 'user', content: '写一个检查数字是否为质数的函数' }],
})
console.log(message.content[0].text); // 打印代码结果
进阶功能:模型工具调用(与外部系统交互)
适配Anthropic API后,Ollama模型可通过工具调用功能与外部系统交互(如获取天气、网络搜索等),以下为完整实操示例(以获取天气为例):
import anthropic
client = anthropic.Anthropic(
base_url='http://localhost:11434',
api_key='ollama',
)
# 调用模型+工具,查询旧金山天气
message = client.messages.create(
model='qwen3-coder',
tools=[ # 定义工具信息(名称、描述、输入参数)
{
'name': 'get_weather',
'description': '获取指定地点的当前天气',
'input_schema': {
'type': 'object',
'properties': {
'location': {
'type': 'string',
'description': '城市和州,例如 San Francisco, CA'
}
},
'required': ['location'] # 必传参数
}
}
],
messages=[{'role': 'user', 'content': "旧金山的天气怎么样?"}]
)
# 解析工具调用结果
for block in message.content:
if block.type == 'tool_use':
print(f'工具: {block.name}')
print(f'输入: {block.input}')
工具调用核心价值:让模型突破本地能力限制,实现与外部系统的联动(如网络搜索、接口调用等),拓展编码与交互场景。
Ollama适配Anthropic API支持的核心功能
目前适配方案已覆盖Anthropic API的核心功能,可满足编码、对话、工具联动等主流使用场景,完整功能列表如下:
- 基础功能:消息发送与多轮对话(支持连续交互,上下文衔接流畅);
- 进阶功能:流式传输(实时返回结果,无需等待完整响应)、系统提示(自定义模型行为);
- 扩展功能:工具调用/函数调用(联动外部系统)、扩展思考(模型自主优化响应逻辑)、视觉支持(图像输入识别)。
有关支持功能的完整说明及配置细节,可参考Anthropic 兼容性文档。















