Ollama
在 OpenClaw 中使用 Ollama(本地 LLM 运行时)
Ollama 是一个本地 LLM 运行时,可以让你在自己的机器上更方便地运行开源模型。OpenClaw 集成了 Ollama 的 OpenAI 兼容 API;当你通过 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'OLLAMA_API_KEY'</code>'(或某个 auth profile)选择启用,并且 '<strong>'不'</strong>' 显式配置 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'models.providers.ollama'</code>' 时,OpenClaw 可以 '<strong>'自动发现支持 tools 的模型'</strong>'。
快速开始
1. 安装 Ollama:https://ollama.ai
2. 拉取一个模型:
ollama pull llama3.3 ollama pull qwen2.5-coder:32b ollama pull deepseek-r1:32b
3. 为 OpenClaw 启用 Ollama(任意值都可以;Ollama 不需要真实 key):
export OLLAMA_API_KEY="ollama-local" openclaw config set models.providers.ollama.apiKey "ollama-local"
4. 使用 Ollama 模型:
{
agents: {
defaults: {
model: { primary: "ollama/llama3.3" },
},
},
}模型发现(隐式 provider)
当你设置了 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'OLLAMA_API_KEY'</code>'(或某个 auth profile),并且 '<strong>'没有'</strong>' 定义 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'models.providers.ollama'</code>' 时,OpenClaw 会从本机的 Ollama 实例 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'http://127.0.0.1:11434'</code>' 自动发现模型:
- - 查询 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'/api/tags'</code>' 与 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'/api/show'</code>'
- - 仅保留报告具备 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'tools'</code>' 能力的模型
- - 当模型报告 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'thinking'</code>' 时标记为 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'thinking'</code>'
- - Read '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'contextWindow'</code>' from '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'model_info["<arch>.context_length"]'</code>' when possible
- - 将 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'maxTokens'</code>' 设置为 context window 的 10 倍
- - 将成本全部设为 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'0'</code>'
这样可以避免手动维护模型条目,同时让目录与 Ollama 的能力保持一致。
查看可用模型:
ollama list openclaw models list
新增模型时,只需要用 Ollama 拉取即可:
ollama pull mistral
新模型会被自动发现并可直接使用。
如果你显式配置了 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'models.providers.ollama'</code>',自动发现会被跳过,你需要手动定义模型(见下文)。
配置
#
基本配置(隐式发现)
最简单的启用方式是设置环境变量:
export OLLAMA_API_KEY="ollama-local"
#
显式配置(手动模型)
适用于以下情况:
- - Ollama 跑在另一台主机/端口上
- - 你想强制指定 context window 或模型列表
- - 你想包含那些不声明 tool 支持的模型
{
models: {
providers: {
ollama: {
// OpenAI-compatible API baseUrl needs to include /v1
baseUrl: "http://ollama-host:11434/v1",
apiKey: "ollama-local",
api: "openai-completions",
models: [
{
id: "llama3.3",
name: "Llama 3.3",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 8192,
maxTokens: 8192 * 10
}
]
}
}
}
}如果设置了 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'OLLAMA_API_KEY'</code>',你可以在 provider 条目中省略 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'apiKey'</code>',OpenClaw 会在可用性检查时自动补齐。
#
自定义 base URL(显式配置)
当 Ollama 运行在不同主机或端口上时(显式配置会禁用自动发现,因此也需要手动定义 models):
{
models: {
providers: {
ollama: {
apiKey: "ollama-local",
baseUrl: "http://ollama-host:11434/v1",
},
},
},
}#
模型选择
完成配置后,你的所有 Ollama 模型都可使用:
{
agents: {
defaults: {
model: {
primary: "ollama/llama3.3",
fallback: ["ollama/qwen2.5-coder:32b"],
},
},
},
}高级
#
推理模型(Reasoning)
当 Ollama 在 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'/api/show'</code>' 中报告 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'/api/show'</code>' 时,OpenClaw 会将模型标记为具备推理能力:
ollama pull deepseek-r1:32b
#
模型成本
Ollama 在本机运行且免费,因此模型成本全部设为 $0。
#
上下文窗口
对于自动发现的模型,OpenClaw 会尽可能使用 Ollama 报告的 context window;否则默认为 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'8192'</code>'。你可以在显式 provider 配置中覆盖 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'contextWindow'</code>' 与 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'maxTokens'</code>'。
故障排除
#
未检测到 Ollama
确认 Ollama 正在运行,且你设置了 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'OLLAMA_API_KEY'</code>'(或某个 auth profile),并且 '<strong>'没有'</strong>' 显式定义 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'models.providers.ollama'</code>':
ollama serve
同时确认 API 可访问:
curl http://localhost:11434/api/tags
#
没有可用模型
OpenClaw 只会自动发现报告支持 tools 的模型。如果你的模型未出现在列表里:
- - 拉取支持 tools 的模型,或
- - 在 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'models.providers.ollama'</code>' 中手动定义该模型
新增模型:
ollama list # View installed models ollama pull llama3.3 # Pull a model
#
连接被拒绝
检查 Ollama 是否运行在正确端口:
ps aux | grep ollama ollama serve
另请参阅
- '<a href="/concepts/model-providers" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Model Providers'</a>' - 提供商总览
- '<a href="/concepts/models" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Model Selection'</a>' - 如何选择模型
- '<a href="/gateway/configuration" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Configuration'</a>' - 完整配置参考