Skip to content

[Bug] OpenClaw UI WebSocket reconnect 导致会话 terminated #38090

@tociyou1995

Description

@tociyou1995

问题描述

OpenClaw UI 的 WebSocket 连接频繁触发 reconnect,导致正在进行的 AI 会话被 terminated

环境

  • OpenClaw 版本: 2026.3.2 (85377a2)
  • 运行环境: WSL2 on Windows 11
  • Node.js: v22.22.1
  • 访问方式: OpenClaw UI (webchat) via localhost

复现步骤

  1. 在 OpenClaw UI 中与 AI 进行对话
  2. 等待一段时间(无需任何操作)
  3. WebSocket 自动触发 reconnect
  4. 如果此时正好有 AI 会话在处理,会话会被 terminated

日志证据

2026-03-06T15:52:06.677Z info [info]: [ '[ws]', 'reconnect' ]
2026-03-06T15:52:07.558Z warn agent/embedded {"subsystem":"agent/embedded"} embedded run agent end: runId=2380608c-968a-4b38-8a6f-a411fed0835d isError=true error=terminated
2026-03-06T15:52:16.414Z info gateway/ws {"subsystem":"gateway/ws"} webchat disconnected code=1001 reason=n/a conn=d3515f23-1b60-4098-8423-34d0116606aa
2026-03-06T15:52:16.749Z info gateway/ws {"subsystem":"gateway/ws"} webchat connected conn=3f984190-cbbc-4ae9-8c34-374fea7f865c remote=127.0.0.1 client=openclaw-control-ui webchat vdev

观察到的 reconnect 频率(约 2 小时内):

14:12:53 - reconnect
14:21:06 - reconnect (8分钟后)
14:45:13 - reconnect (24分钟后)
14:57:15 - reconnect (12分钟后)
14:59:40 - reconnect (2分钟后)
15:22:21 - reconnect (22分钟后)
15:40:33 - reconnect (18分钟后)
15:44:21 - reconnect (4分钟后)
15:49:08 - reconnect (5分钟后)
15:52:06 - reconnect (3分钟后)

预期行为

WebSocket 连接应该稳定,不应该频繁触发 reconnect。即使发生 reconnect,也应该保留正在进行的会话状态。

可能的原因

  1. WebSocket 心跳/保活机制有问题
  2. WSL2 网络层面的间歇性中断
  3. UI 前端的 WebSocket 超时设置过于激进

临时解决方案

目前没有有效的临时解决方案。用户只能重新开始新的对话。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions