乐于分享
好东西不私藏

OpenClaw+ollama本地大模型:Web Dashboard 无法正常响应消息,深度思考

OpenClaw+ollama本地大模型:Web Dashboard 无法正常响应消息,深度思考

一、环境信息

硬件:Mac mini (M4 芯片, 24GB 内存, 512GB 内置硬盘 + 2TB 外置硬盘)

操作系统:macOS 26.2 (arm64)

Node.js:v22.22.2

OpenClaw 版本:2026.4.5 (3e72c03)

Ollama 版本:0.20.0

本地模型:

原始:`qwen2.5:7b`

自定义:`myqwen` (基于 `qwen2.5:7b`,设置 `num_ctx 16384`)

Ollama 服务:运行正常,`curl` 测试原生 API `/api/chat` 返回正确回复

二、主要问题现象

1. Web Dashboard (`http://127.0.0.1:18789/`) 发送消息后没有回复

浏览器中发送“你好”,界面无任何响应(既无错误提示,也无模型回复)。

网关日志中未出现向 Ollama 发起推理请求的记录(无 `POST /api/chat`),但出现过超时错误:

```

Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.

```

2. 命令行方式直接与 agent 交互却正常

执行 `openclaw agent agent main message "你好"` 立即得到回复:

```

Hello! How can I assist you today?

```

说明 agent 核心功能、Ollama 连接、模型调用均正常。

3. 其他异常日志

多次出现 `gateway connect failed: pairing required` 和 `device identity required` WebSocket 错误,但后来通过 `openclaw devices approve` 批准了设备。

出现 `[agent] [timeoutcompaction] compaction succeeded... retrying prompt` 提示,表明模型调用超时后进行了上下文压缩重试。

三、已执行的排错步骤

1. 配置检查

确认 `~/.openclaw/openclaw.json` 中 Ollama 配置正确:

```json

"ollama": {

"baseUrl": "http://127.0.0.1:11434",

"api": "ollama",

"models": [{ "id": "myqwen", "name": "My Qwen" }]

}

```

确认 `agents.defaults.model.primary` 指向 `ollama/myqwen`。

2. 增加上下文窗口

通过 Modelfile 创建自定义模型 `myqwen`,设置 `num_ctx 16384`(默认 2048 太小)。

3. 解决设备配对问题

运行 `openclaw devices list` 发现待批准设备,使用 `openclaw devices approve ` 批准。

4. 增加超时时间

执行 `openclaw config set agents.defaults.timeoutSeconds 120`(但未验证是否彻底解决)。

5. 清理会话缓存

删除 `~/.openclaw/agents/main/sessions/` 并重启网关。

6. 测试命令行 agent

成功收到回复,确认后端工作正常。

四、当前状态

命令行调用:✅ 正常

Web Dashboard:❌ 仍然无法获得回复(浏览器发送消息后无响应,网关日志无推理请求记录)

日志中无明确 HTTP 错误,但存在超时提示。

五、待解决的问题

如何让 Web Dashboard 正常与 agent 通信并显示回复?

是否有办法在 Web UI 中开启调试模式,查看前端发送的具体消息?

是否需要额外配置 `gateway.controlUi` 或 `agents.defaults.sandbox` 以允许 Web UI 调用?

为什么命令行 `openclaw agent` 能成功,而 Web UI 不能?两者路由机制有何差异?