WSL Ubuntu中安装openclaw配置模型时无法连接Ollama解决方案

13 阅读2分钟

第一步:配置Windows上的Ollama

默认情况下,Ollama只允许来自本机127.0.0.1的连接,需要修改其监听地址。

  1. 完全退出Ollama:请在Windows任务栏托盘中找到Ollama图标,右键点击并选择  "Quit"  或  "Exit"  彻底退出程序。仅关闭窗口是不够的。

  2. 设置环境变量

    • 在Windows搜索框输入“环境变量”,选择“编辑系统环境变量”。

    • 点击“环境变量”按钮。

    • 在“系统变量”区域,点击“新建”。

      • 变量名OLLAMA_HOST
      • 变量值0.0.0.0:11434
    • 点击“确定”保存所有窗口。

  3. 重启Ollama:像平常一样从“开始”菜单启动Ollama。

第二步:开放Windows防火墙端口

为确保WSL能访问,需在Windows防火墙中放行11434端口。

  1. 打开“控制面板” > “Windows Defender 防火墙” > “高级设置”。
  2. 点击左侧的“入站规则”,再点击右侧的“新建规则...”。
  3. 规则类型:选择“端口”,点击“下一步”。
  4. 协议和端口:选择“TCP”,并选择“特定本地端口”,输入 11434,点击“下一步”。
  5. 操作:选择“允许连接”,点击“下一步”。
  6. 配置文件:保持默认全选即可(如果你在专用/公用网络间切换,请都勾选上),点击“下一步”。
  7. 名称:输入一个易记的名称,比如“Ollama Port”,点击“完成”。

第三步:在WSL (Ubuntu) 中连接并验证

现在,需要让Ubuntu知道Ollama的正确地址。

  1. 获取Windows主机IP:在WSL的Ubuntu终端中,运行以下命令来获取Windows主机的IP地址(这是关键):

    bash

    复制下载

    cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
    

    请记下输出的IP地址(通常形如 172.x.x.x 或 192.x.x.x)。

  2. 测试连接:在WSL的Ubuntu终端中,用上一步获取的IP地址来测试连通性。请将下面命令中的[你的Windows IP]替换为实际IP

    bash

    复制下载

    curl http://[你的Windows IP]:11434/api/tags
    

    如果一切正常,你将看到Ollama返回的JSON格式模型列表,其中应包含你已下载的qwen模型。这一步成功,就代表网络问题已解决。

第四步:配置OpenClaw

既然网络已通,最后在OpenClaw中指定Ollama服务的正确地址即可。

  • 如果你使用openclaw onboard向导配置:当提示输入Ollama服务地址时,不要使用默认的http://127.0.0.1:11434,而是输入 http://[你的Windows IP]:11434(使用上一步获取的实际IP)。

  • 如果你手动修改配置文件 (如 ~/.openclaw/openclaw.json) :请找到providers下的ollama配置部分,修改或添加baseUrl字段:

    json

    复制下载

    "ollama": {
      "baseUrl": "http://[你的Windows IP]:11434",
      "apiKey": "ollama-local"
    }
    

完成以上配置后,报错应该就会消失。你已经成功地将WSL中的OpenClaw与Windows上运行的Ollama服务连接起来了。如果还有问题,可以随时再问我。