v2.2.1
v2.2.1 发布说明
基于 v2.2 的对话稳定性修复版本,核心解决「切换菜单返回后生成流中断/不更新」问题。
新能力
- 普通对话后台生成:普通「对话」对齐聊天+,生成跑在后台 detached 任务里——切换菜单、关闭标签页均不中断生成,返回时自动重连续看流式输出;侧边栏跳动圆点、停止按钮、计时续接全部对齐聊天+。
Bug 修复
- 聊天+ 切走返回后 thinking 不实时更新:根因为 Next.js 内置 gzip 压缩了经反代的 SSE 响应——gzip 攒够压缩块才输出,导致重连流事件被缓冲、直到生成结束才一次性解出。修复:关闭 Next 内置压缩(
compress:false)+ SSE 端点声明Content-Encoding: identity+_relay增加: ping心跳(catchup 后立即 + 空闲每 10s)破开缓冲并保活连接。 - 思考计时器切走再切回归零:改用服务器单调时钟的
elapsed_seconds反推本机时钟锚点,全程Date.now()-anchor计时,免疫客户端/服务端墙钟偏移,切走再切回不再归零。 - 重连健壮性:挂载重连改依赖轮询完成后重跑(避免读到过期闭包值);持久化跳过挂载首帧(避免空值覆写 sessionStorage 快照);切走时保留 streamingBlocks 快照供返回即时展示;补充 finished-while-away 处理。
多语言补齐
- 聊天+「思考过程」折叠标题补齐 5 语言(原为硬编码中文)。
- 侧边栏「定时任务」补齐繁体中文/日语/韩语(原仅简体/英文,日语界面报错)。
升级说明
无新增 DB 迁移。docker compose up --build 重建镜像即可(前端 compress:false、后端 SSE 头改动均需重建生效)。