OpenClaw配置Ollama模型指南
一、概述
本文档介绍如何在OpenClaw(龙虾)中连接并使用本地Ollama模型。配置成功后,可以在Web界面中选择并使用已下载的Ollama模型进行智能对话。
二、验证Ollama服务状态
在配置之前,先确认Ollama服务正常运行并已下载所需模型。
1. 检查Ollama服务
访问以下地址确认服务状态:
http://host.docker.internal:11434
应返回 "Ollama is running"
2. 查看可用模型
访问API接口查看已下载的模型列表:
http://host.docker.internal:11434/api/tags
当前已安装的模型:
- deepseek-r1:latest - 8.2B参数,深度求索开发,中文理解能力强
- llama3:latest - 8.0B参数,Meta开发,通用对话能力强
- nomic-embed-text:latest - 137M参数,文本嵌入模型
三、网络配置问题解决
问题根源
Docker容器内部所理解的 127.0.0.1 或 localhost,指向的是容器自己 的虚拟空间,而不是运行Ollama的Windows宿主机。这就像容器在问"自己"要模型,自然就找不到服务。
解决方案:使用 host.docker.internal
对于Windows版的Docker Desktop,它内置了一个特殊的域名 host.docker.internal,专门用来让容器访问宿主机上的服务。
四、配置方法
方法一:Web UI配置(推荐)
-
访问OpenClaw Web界面:http://localhost:18789
-
登录后,点击侧边栏的
Settings进入设置页面 -
找到
Model Providers或类似的模型管理选项 -
在提供商列表中找到 Ollama,点击进行配置
-
确认
API URL或Base URL正确:http://host.docker.internal:11434 -
如果没有自动发现模型,手动添加模型,填写完整的模型名称:
deepseek-r1:latestllama3:latest
-
配置完成后,在创建新聊天对话时,在顶部下拉菜单中选择所需的Ollama模型
方法二:使用 onboard 命令配置
如果Web界面中没有找到合适的设置入口,可以使用交互式向导配置:
-
进入OpenClaw容器终端:
powershelldocker exec -it openclaw /bin/sh -
运行配置向导:
bashopenclaw onboard -
当向导进行到 "Ollama base URL" 这一步时,输入新地址:
http://host.docker.internal:11434 -
继续完成后续的设置,确认默认模型
-
退出容器并重启服务:
bashexit docker restart openclaw
方法三:环境变量配置(推荐长期使用)
为了避免每次都需要手动输入地址,可以通过修改容器配置来一劳永逸地解决问题:
-
停止并移除当前容器:
powershelldocker stop openclaw docker rm openclaw -
重新创建容器,添加
--add-host参数和环境变量:powershelldocker run -d ` --name openclaw ` --restart always ` -p 18789:18789 ` -p 3000:3000 ` -p 5173:5173 ` --add-host=host.docker.internal:host-gateway ` -v "Z:\Tools\docker\openclaw\data:/home/node/.openclaw" ` -v "Z:\Tools\docker\openclaw\config:/app/config" ` -e OLLAMA_BASE_URL=http://host.docker.internal:11434 ` -e DEFAULT_MODEL=deepseek-r1:latest ` ghcr.io/openclaw/openclaw:latest
关键参数说明:
--add-host=host.docker.internal:host-gateway:将宿主机地址固化到容器配置OLLAMA_BASE_URL=http://host.docker.internal:11434:设置Ollama服务地址
方法四:配置文件手动配置
-
导航到持久化数据目录:
Z:\Tools\docker\openclaw\data -
找到或创建
openclaw.json配置文件 -
添加或修改以下内容:
json{ "models": { "providers": { "ollama": { "baseUrl": "http://host.docker.internal:11434", "apiKey": "ollama-local" } } }, "agents": { "defaults": { "model": { "primary": "ollama/deepseek-r1:latest" } } } } -
保存文件并重启容器:
powershelldocker restart openclaw
五、验证配置成功
1. 容器内测试连通性
运行以下命令,检查容器是否能连接到Ollama并返回模型列表:
powershell
docker exec openclaw curl http://host.docker.internal:11434/api/tags
如果返回了包含 deepseek-r1:latest 模型的JSON信息,代表连接成功。
2. Web界面测试
- 访问 http://localhost:18789
- 创建新聊天对话
- 在模型选择下拉菜单中确认能看到Ollama模型
- 发送测试消息,确认模型能正常响应
3. 命令行验证
powershell
# 列出OpenClaw可用的所有模型
docker exec openclaw openclaw models list
如果列表中包含 deepseek-r1:latest,说明配置成功。
六、常见问题排查
1. 确保Ollama服务已运行
- 确认宿主机上的Ollama服务正在运行
- 确认
deepseek-r1:latest模型已下载
2. 网络连通性测试
在容器内执行:
bash
curl http://host.docker.internal:11434/api/tags
如果返回模型列表,说明网络连接正常。
3. Windows防火墙检查
如果依然连接失败,检查Windows Defender防火墙,确保没有阻止Docker的网络访问。
4. 模型响应失败
- 确认模型已下载到Ollama
- 验证模型名称正确
- 查看OpenClaw和Ollama日志寻找错误信息
5. 检查模型是否支持工具调用
为了完整使用OpenClaw的Skills功能,模型需要支持工具调用(Function Calling)。
支持工具调用的主流模型:
- deepseek-r1
- qwen2.5
- llama3.1
七、最佳实践
- 推荐使用方法三 :通过环境变量和
--add-host参数配置,一劳永逸 - 优先使用Web UI配置:最方便直观,不易出错
- 使用onboard向导:自动完成大部分配置工作
- 选择支持工具调用的模型:充分发挥OpenClaw能力
- 定期检查模型更新:保持Ollama和OpenClaw为最新版本
八、模型选择建议
| 模型 | 参数量 | 适用场景 | 特点 |
|---|---|---|---|
| deepseek-r1:latest | 8.2B | 知识问答、深度推理 | 中文理解强,推理能力出色 |
| llama3:latest | 8.0B | 通用对话、内容生成 | 多语言支持,性能稳定 |
九、总结
配置OpenClaw使用本地Ollama模型的核心步骤:
- 理解Docker网络原理:
127.0.0.1在容器内指向容器自身 - 使用
host.docker.internal访问宿主机服务 - 选择合适的配置方法(推荐环境变量配置)
- 配置Ollama API地址和默认模型
- 验证配置成功并测试使用
通过以上配置,即可在OpenClaw中便捷地使用本地部署的Ollama模型,享受私有化的AI对话体验。