快速结论:这个报错通常出现在自托管 LobeChat 且开启了 gatewayMux(Labs 网关连接多路复用)后,服务端 Agent 运行已完成并正确持久化,但客户端收不到完成事件,话题一直停留在“任务正在服务器运行,您可以放心离开此页面”。优先排查多路复用 socket 路径下的事件路由/绑定,而不是网关配置或鉴权链路。
适用环境:Issue 中确认的环境为:Web 桌面浏览器、Windows、Docker 自托管、LobeChat 版本 v2.2.19-canary.4、浏览器 Chrome。Issue 未提供 Python、CUDA、PyTorch、显卡等环境信息,这些项目不作推断。
最快修复方案:Issue 未给出经确认的一步修复方案;报告者在最新 canary 中测试后问题已解决,因此可优先尝试升级到包含修复的最新 canary 版本。
注意事项:“升级 canary 后解决”来自评论区的简短反馈(✅ @liangxyz / “在最新canary中测试解决”),未提供具体修复 commit 或版本号,也未说明根因细节;canary 版本稳定性低于正式版,生产环境升级前建议先在测试环境验证。Issue 标签为 unconfirm,官方未补充确认为独立缺陷。
问题场景
用户在 Docker 自托管的 LobeChat 中启用 Gateway Mode,并打开 gatewayMux Labs 开关(网关连接多路复用,每个用户一条 WebSocket,关联 #19557)。硬刷新客户端后发送一条需要服务端执行、耗时超过几秒的消息,Agent 在服务端跑完并正确写入回复,但客户端始终不渲染。
具体表现为:话题持续显示“任务正在服务器运行,您可以放心离开此页面”;切换到其他话题再切回来无效;只有整页刷新后回复才立即出现(说明回复早已持久化在服务端)。把 gatewayMux 关掉并硬刷新后,同样的流程完全正常。
报错原文
[Bug] With the gatewayMux Lab enabled, Gateway Mode run completions never reach the client — the reply only appears after a full page reload
原因分析
报告者已逐层排除浏览器 → 网关 → 服务端的传输与鉴权链路:浏览器到网关的 WebSocket 返回 101 Switching Protocols;反向代理的 SSE/流式转发配置(proxy_http_version 1.1、Upgrade/Connection、proxy_buffering off、proxy_read_timeout 3600s)正常;服务端容器访问网关内部与公网 URL 的 POST /api/operations/push-event 均返回 HTTP 400(在预期范围内);run-token 签名用的 JWKS_KEY 与 JWKS_PUBLIC_KEY 指纹匹配。
因此可能原因集中在多路复用 socket 路径上的事件路由/绑定:客户端订阅与运行完成事件之间的绑定未能正确建立或匹配,导致完成通知没有送达对应的客户端会话。这只是基于 Issue 中已验证信息的推断,Issue 本身未给出根因结论。
环境排查
- 确认 LobeChat 版本是否为 v2.2.19-canary.4 或相近的 canary 版本,并确认是否已包含后续修复。
- 确认
gatewayMuxLabs 开关的开启/关闭状态;关闭并硬刷新(Ctrl+Shift+R)后复现是否消失,可用来确认问题是否确实只出现在多路复用路径。 - 检查浏览器与网关之间的 WebSocket 是否返回 101 Switching Protocols(可结合 DevTools → WS 查看)。
- 检查反向代理是否配置
proxy_http_version 1.1、Upgrade/Connection、proxy_buffering off、proxy_read_timeout 3600s。 - 检查服务端到网关的
POST /api/operations/push-event是否可达(内部 URL 与公网 URL 都验证)。 - 检查 run-token 签名用的
JWKS_KEY与JWKS_PUBLIC_KEY指纹是否匹配。 - Issue 未涉及 Python、CUDA、PyTorch、显卡或相关节点依赖,无需作为排查项。
解决步骤
- 先复现并记录现象:开启
gatewayMux,硬刷新客户端,发送一条耗时数秒以上的消息,确认是否出现“任务正在服务器运行,您可以放心离开此页面”且回复不渲染。 - 做对照验证:关闭
gatewayMux并硬刷新,确认同样流程是否恢复正常。若恢复正常,可基本定位到多路复用 socket 路径。 - 按上面的环境排查清单,逐项确认 WebSocket 握手、反向代理流式配置、
push-event可达性与 JWKS 指纹,排除部署与鉴权层面的干扰。 - 可优先尝试升级到包含修复的最新 canary 版本(报告者反馈在最新 canary 中测试已解决),升级后按相同步骤重新验证。
- 若升级后仍复现,在 Issue 中补充具体版本、复现步骤与浏览器 WS 日志,便于进一步定位事件路由/绑定问题。
验证方法
开启 gatewayMux 并硬刷新后,发送一条服务端执行、耗时数秒以上的消息:服务端运行结束后,回复应在当前话题中自动渲染,且“任务正在服务器运行,您可以放心离开此页面”提示正常消失;同时切换到其他话题再切回,回复也应保持可见。若仍需整页刷新才能看到回复,说明问题未解决。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


