好的,以下是完整的解决步骤记录,方便你日后查阅:


📋 问题:Hermes 连接 Windows Ollama 失败

根本原因

  • Ollama 默认只监听 127.0.0.1(本机)
  • WSL 无法访问 Windows 的 localhost
  • 需要让 Ollama 监听 0.0.0.0(所有接口)

🔧 解决步骤

1. 在 Windows 防火墙开放端口(PowerShell 管理员)

netsh advfirewall firewall add rule name="Ollama WSL" dir=in action=allow protocol=tcp localport=11434

2. 后台启动 Ollama(PowerShell)

# 设置环境变量,监听所有接口
$env:OLLAMA_HOST="0.0.0.0:11434"

# 后台启动,窗口可关闭
Start-Process ollama -ArgumentList "serve" -WindowStyle Hidden

如需停止:

taskkill /F /IM ollama.exe

3. 在 WSL 获取 Windows IP 地址

ip route show | grep default | awk '{print $3}'
# 输出示例:172.21.144.1

4. 测试 Ollama 连接

curl http://172.21.144.1:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-oss:120b-cloud",
    "messages": [{"role": "user", "content": "你好"}]
  }'

5. 配置 Hermes

编辑 ~/.hermes/config.yaml

nano ~/.hermes/config.yaml

关键配置:

model:
  default: gpt-oss:120b-cloud    # 或 gpt-oss:20b-cloud / qwen2.5:14b 等
  provider: custom
  base_url: http://172.21.144.1:11434/v1   # 用步骤3获取的IP

6. 验证 Hermes

# 检查连接
hermes doctor

# 启动使用
hermes

📝 常用维护命令

操作 命令
查看 Ollama 模型 ollama list
拉取新模型 ollama pull qwen2.5:14b
停止 Ollama taskkill /F /IM ollama.exe
检查 IP 是否变化 ip route show | grep default
更新 Hermes IP 配置 sed -i "s|base_url: http://.*:11434/v1|base_url: http://$(ip route show | grep default | awk '{print $3}'):11434/v1|" ~/.hermes/config.yaml

⚠️ 注意事项

  1. IP 会变化:WSL 重启后,Windows IP 可能改变,需要重新获取并更新配置
  2. 模型需支持 toolsdeepseek-r1:14b 不支持工具调用,会报 400 错误;gpt-oss:120b-cloud / qwen2.5:14b / llama3.1:8b 支持
  3. Ollama 窗口:使用 Start-Process 后台启动后,PowerShell 窗口可以关闭

成功解决了问题
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐