Skip to content

v2.2.1

Choose a tag to compare

@zm1990s zm1990s released this 21 Jul 07:00
· 23 commits to main since this release

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 头改动均需重建生效)。