Appearance
Ollama
Ollama 是一个本地 LLM 运行时,可以轻松在自己的机器上运行开源模型。OpenClaw 集成了 Ollama 的原生 API(/api/chat),支持流式输出和工具调用,并且在设置了 OLLAMA_API_KEY(或 auth profile)且未手动定义 models.providers.ollama 时,会自动发现本地 Ollama 模型。
远程 Ollama 用户注意:不要在 OpenClaw 中使用
/v1的 OpenAI 兼容 URL(http://host:11434/v1)。这会破坏工具调用,模型可能将工具 JSON 以纯文本形式输出。请使用 Ollama 原生 API URL:baseUrl: "http://host:11434"(不含/v1)。
快速开始
向导配置(推荐)
最快的 Ollama 配置方式是通过 onboard 向导:
bash
openclaw onboard从提供商列表中选择 Ollama。向导会:
- 询问 Ollama 实例的访问地址(默认
http://127.0.0.1:11434)。 - 让你选择 Cloud + Local(云端 + 本地模型)或 Local(仅本地模型)。
- 如果选择 Cloud + Local 且未登录 ollama.com,会打开浏览器完成登录。
- 发现可用模型并推荐默认值。
- 如果所选模型本地不存在,会自动拉取。
也支持非交互模式:
bash
openclaw onboard --non-interactive \
--auth-choice ollama \
--accept-risk可选指定自定义地址或模型:
bash
openclaw onboard --non-interactive \
--auth-choice ollama \
--custom-base-url "http://ollama-host:11434" \
--custom-model-id "qwen3.5:27b" \
--accept-risk手动配置
安装 Ollama:https://ollama.com/download
如果需要本地推理,先拉取模型:
bash
ollama pull glm-4.7-flash
# 或
ollama pull gpt-oss:20b
# 或
ollama pull llama3.3- 如果还想使用云端模型,先登录:
bash
ollama signin- 运行 onboard 并选择
Ollama:
bash
openclaw onboardLocal:仅本地模型Cloud + Local:本地 + 云端模型- 云端模型(如
kimi-k2.5:cloud、minimax-m2.5:cloud、glm-5:cloud)不需要先ollama pull
OpenClaw 目前推荐:
- 本地默认:
glm-4.7-flash - 云端默认:
kimi-k2.5:cloud、minimax-m2.5:cloud、glm-5:cloud
- 如果倾向手动配置,直接为 OpenClaw 启用 Ollama(任意值均可,Ollama 不需要真实 Key):
bash
# 设置环境变量
export OLLAMA_API_KEY="ollama-local"
# 或在配置文件中设置
openclaw config set models.providers.ollama.apiKey "ollama-local"- 查看或切换模型:
bash
openclaw models list
openclaw models set ollama/glm-4.7-flash- 或在配置中设置默认值:
json5
{
agents: {
defaults: {
model: { primary: "ollama/glm-4.7-flash" },
},
},
}模型自动发现(隐式提供商)
设置 OLLAMA_API_KEY(或 auth profile)且未定义 models.providers.ollama 时,OpenClaw 会从 http://127.0.0.1:11434 自动发现模型:
- 查询
/api/tags - 尽力通过
/api/show读取各模型的contextWindow - 通过模型名称启发式(
r1、reasoning、think)标记推理能力 - 将
maxTokens设为 OpenClaw 的 Ollama 默认上限 - 所有费用设为
0
这样无需手动维护模型条目,目录也能随本地 Ollama 实例保持同步。
查看可用模型:
bash
ollama list
openclaw models list添加新模型,只需用 Ollama 拉取:
bash
ollama pull mistral新模型会被自动发现并立即可用。
注意:如果显式设置了
models.providers.ollama,自动发现会被跳过,必须手动定义模型(见下文)。
配置
基础配置(隐式发现)
最简单的方式是通过环境变量启用 Ollama:
bash
export OLLAMA_API_KEY="ollama-local"显式配置(手动定义模型)
以下场景建议使用显式配置:
- Ollama 运行在其他主机/端口
- 需要强制指定上下文窗口或模型列表
- 需要完全手动定义模型
json5
{
models: {
providers: {
ollama: {
baseUrl: "http://ollama-host:11434",
apiKey: "ollama-local",
api: "ollama",
models: [
{
id: "gpt-oss:20b",
name: "GPT-OSS 20B",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 8192,
maxTokens: 8192 * 10
}
]
}
}
}
}如果设置了 OLLAMA_API_KEY,可以省略提供商条目中的 apiKey,OpenClaw 会自动填充用于可用性检查。
自定义 Base URL(显式配置)
如果 Ollama 运行在不同的主机或端口(显式配置会禁用自动发现,需手动定义模型):
json5
{
models: {
providers: {
ollama: {
apiKey: "ollama-local",
baseUrl: "http://ollama-host:11434", // 不要加 /v1 - 使用 Ollama 原生 API URL
api: "ollama", // 显式设置以保证原生工具调用行为
},
},
},
}不要在 URL 后面加
/v1。/v1路径使用 OpenAI 兼容模式,工具调用不可靠。请使用不带路径后缀的 Ollama base URL。
模型选择
配置完成后,所有 Ollama 模型即可使用:
json5
{
agents: {
defaults: {
model: {
primary: "ollama/gpt-oss:20b",
fallbacks: ["ollama/llama3.3", "ollama/qwen2.5-coder:32b"],
},
},
},
}云端模型
云端模型允许你在本地模型的基础上使用云端托管的模型(例如 kimi-k2.5:cloud、minimax-m2.5:cloud、glm-5:cloud)。
要使用云端模型,在配置时选择 Cloud + Local 模式。向导会检查你是否已登录,并在需要时打开浏览器完成登录。如果无法验证鉴权,向导会退回到本地模型默认值。
也可以直接在 ollama.com/signin 登录。
高级配置
推理模型
OpenClaw 默认将名称中包含 deepseek-r1、reasoning 或 think 的模型视为具有推理能力:
bash
ollama pull deepseek-r1:32b模型费用
Ollama 免费且在本地运行,所有模型费用均为 $0。
流式配置
OpenClaw 的 Ollama 集成默认使用原生 Ollama API(/api/chat),完整支持流式输出和工具调用同时使用,无需特殊配置。
旧版 OpenAI 兼容模式
工具调用在 OpenAI 兼容模式下不可靠。 仅在需要 OpenAI 格式的代理且不依赖原生工具调用时使用此模式。
如果需要使用 OpenAI 兼容端点(例如,背后的代理只支持 OpenAI 格式),显式设置 api: "openai-completions":
json5
{
models: {
providers: {
ollama: {
baseUrl: "http://ollama-host:11434/v1",
api: "openai-completions",
injectNumCtxForOpenAICompat: true, // 默认:true
apiKey: "ollama-local",
models: [...]
}
}
}
}此模式可能不支持流式输出和工具调用同时使用,可能需要在模型配置中禁用流式:params: { streaming: false }。
当 api: "openai-completions" 与 Ollama 配合使用时,OpenClaw 默认注入 options.num_ctx,防止 Ollama 悄悄退回到 4096 上下文窗口。如果你的代理/上游拒绝未知的 options 字段,可关闭此行为:
json5
{
models: {
providers: {
ollama: {
baseUrl: "http://ollama-host:11434/v1",
api: "openai-completions",
injectNumCtxForOpenAICompat: false,
apiKey: "ollama-local",
models: [...]
}
}
}
}上下文窗口
对于自动发现的模型,OpenClaw 使用 Ollama 报告的上下文窗口(如有),否则退回到 OpenClaw 的 Ollama 默认值。你可以在显式提供商配置中覆盖 contextWindow 和 maxTokens。
故障排查
Ollama 未被检测到
确认 Ollama 正在运行、已设置 OLLAMA_API_KEY(或 auth profile),且未定义显式的 models.providers.ollama 条目:
bash
ollama serve同时确认 API 可访问:
bash
curl http://localhost:11434/api/tags没有可用模型
如果模型未显示在列表中,要么本地拉取该模型,要么在 models.providers.ollama 中显式定义:
bash
ollama list # 查看已安装的模型
ollama pull glm-4.7-flash
ollama pull gpt-oss:20b
ollama pull llama3.3 # 或其他模型连接被拒绝
检查 Ollama 是否运行在正确的端口:
bash
# 检查 Ollama 是否在运行
ps aux | grep ollama
# 或重启 Ollama
ollama serve