OpenClaw中连接并使用本地Ollama模型的操作教程

AI 概述
Docker容器受网络隔离限制,默认无法访问宿主机Ollama,借助host.docker.internal可以打通通信。文章提供Web界面、on‑board命令、环境变量、修改配置文件四种配置方案,优先推荐环境变量方式长期部署;给出容器内curl、Web页面等验证手段,分析防火墙、模型名称错误等常见故障,并推荐deepseek‑r1、llama‑3等适配工具调用的模型,完成OpenClaw私有化AI部署。
目录
文章目录隐藏
  1. 一、验证 Ollama 服务状态
  2. 二、网络配置问题解决
  3. 三、配置方法
  4. 四、验证配置成功
  5. 五、常见问题排查
  6. 六、最佳实践
  7. 七、模型选择建议
  8. 八、总结

OpenClaw 中连接并使用本地 Ollama 模型的操作教程

本地 Ollama 大模型搭配 OpenClaw 可实现私有化 AI 部署,但 Docker 容器默认无法直接访问宿主机 Ollama 服务,极易出现连接失败问题。本文先讲解 Docker 网络隔离原理,提供 Web 界面、命令向导、环境变量、配置文件四种完整配置方案,同时附带连通性验证方法、常见故障排查和模型选型建议。配置成功后,可以在 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:latest
    • llama3:latest
  • 配置完成后,在创建新聊天对话时,在顶部下拉菜单中选择所需的 Ollama 模型

方法二:使用 onboard 命令配置

如果 Web 界面中没有找到合适的设置入口,可以使用交互式向导配置:

进入 OpenClaw 容器终端:

docker exec -it openclaw /bin/sh

运行配置向导:

openclaw onboard

当向导进行到 “Ollama base URL” 这一步时,输入新地址:

http://host.docker.internal:11434

继续完成后续的设置,确认默认模型

退出容器并重启服务:

exit
docker restart openclaw

方法三:环境变量配置(推荐长期使用)

为了避免每次都需要手动输入地址,可以通过修改容器配置来一劳永逸地解决问题:

停止并移除当前容器:

docker stop openclaw
docker rm openclaw

重新创建容器,添加 --add-host 参数和环境变量:

docker 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 配置文件
  • 添加或修改以下内容:
    {
      "models": {
        "providers": {
          "ollama": {
            "baseUrl": "http://host.docker.internal:11434",
            "apiKey": "ollama-local"
          }
        }
      },
      "agents": {
        "defaults": {
          "model": {
            "primary": "ollama/deepseek-r1:latest"
          }
        }
      }
    }
  • 保存文件并重启容器:
    docker restart openclaw
    

四、验证配置成功

1. 容器内测试连通性

运行以下命令,检查容器是否能连接到 Ollama 并返回模型列表:

docker exec openclaw curl http://host.docker.internal:11434/api/tags

如果返回了包含 deepseek-r1:latest 模型的 JSON 信息,代表连接成功。

2. Web 界面测试

  • 访问 http://localhost:18789;
  • 创建新聊天对话;
  • 在模型选择下拉菜单中确认能看到 Ollama 模型;
  • 发送测试消息,确认模型能正常响应。

3. 命令行验证

# 列出 OpenClaw 可用的所有模型
docker exec openclaw openclaw models list

如果列表中包含 deepseek-r1:latest,说明配置成功。

五、常见问题排查

1. 确保 Ollama 服务已运行

  • 确认宿主机上的 Ollama 服务正在运行;
  • 确认 deepseek-r1:latest 模型已下载。

2. 网络连通性测试

在容器内执行:

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 的核心关键,是通过host.docker.internal打通容器与宿主机的网络屏障,规避本地服务访问异常问题。四种配置方式可适配不同使用场景,环境变量配置为长期稳定部署最优方案。正确配置后即可离线调用本地模型,充分发挥私有化部署优势,实现安全可控的 AI 智能对话服务。

以上关于OpenClaw中连接并使用本地Ollama模型的操作教程的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

22

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » OpenClaw中连接并使用本地Ollama模型的操作教程

发表回复