应检查Ollama是否监听0.0.0.0:11434、防火墙是否放行11434端口、WSL中使用Windows真实IP而非localhost、curl测试连通性、配置文件base_url和model字段格式是否正确。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您已配置 Hermes Agent 连接本地 Ollama 模型,但始终无法通信或返回连接拒绝、超时等错误,则可能是由于网络通路未打通、服务未监听正确地址、防火墙拦截或配置项指向错误 IP/端口所致。以下是排查此问题的步骤:
一、验证 Ollama 服务是否正常运行并监听全接口
Ollama 默认仅绑定 127.0.0.1:11434,WSL 或外部客户端无法访问。必须显式设置环境变量使其监听所有网络接口。
1、以管理员身份打开 PowerShell
2、执行以下命令启动 Ollama 并强制监听 0.0.0.0:11434:
$env:OLLAMA_HOST="0.0.0.0:11434"; Start-Process ollama -ArgumentList "serve" -WindowStyle Hidden
3、确认进程存在:在任务管理器中查找名为 ollama.exe 的进程
4、验证监听状态:运行 netstat -ano | findstr :11434,输出中应含 0.0.0.0:11434 及对应 PID
二、检查 Windows 防火墙是否放行 TCP 11434 端口
Windows 防火墙默认阻止外部对本机端口的入站连接,WSL 访问 Windows 服务需显式添加入站规则。
1、以管理员身份打开 PowerShell
2、执行以下命令创建永久放行规则:
netsh advfirewall firewall add rule name="Ollama WSL" dir=in action=allow protocol=tcp localport=11434
3、确认规则生效:运行 netsh advfirewall firewall show rule name="Ollama WSL",状态应为 Enabled
三、获取 Windows 主机在 WSL 网络中的真实 IP 地址
WSL 使用虚拟交换网络,其默认网关即为 Windows 主机的 WSL 接口 IP,该 IP 每次重启 WSL 可能变化,不可硬编码为 127.0.0.1 或 192.168.x.x。
1、在 WSL 终端中执行:
ip route show | grep default | awk '{print }'
2、记录输出结果(例如 172.21.144.1),该地址必须用于 Hermes 的 base_url 配置
3、禁止使用 localhost 或 127.0.0.1 作为 base_url 值
四、测试从 WSL 到 Windows Ollama 的 HTTP 连通性
在 WSL 中直接发起 curl 请求,可隔离 Hermes 配置干扰,快速定位是网络层还是应用层问题。
1、确保已安装 curl(如未安装,运行 sudo apt update && sudo apt install curl)
2、使用步骤三获取的真实 IP 发起请求:
curl -v http://172.21.144.1:11434/health
3、成功响应应返回 HTTP 200 及 JSON:{"status":"ok"}
4、若返回 connection refused 或 timeout,则说明前三个步骤中至少一项未生效
五、核对 Hermes 配置文件中的 base_url 和 model 字段
Hermes 的 YAML 配置对缩进、协议、路径和模型名大小写极为敏感;任何格式偏差均导致初始化失败或静默降级。
1、编辑配置文件:nano ~/.hermes/config.yaml
2、确认 provider 为 custom,且 base_url 完整包含协议、IP、端口与 /v1 路径:
provider: custom
base_url: http://172.21.144.1:11434/v1
3、确认 model 字段值与 ollama list 输出完全一致(包括大小写与冒号):
model: default: llama3:8b
4、删除或注释掉 api_key 行——Ollama 不需要密钥,保留该字段将触发无效认证逻辑


















