Skip to content

AI_MIDI v3.0.2 — 修复桌面端聊天一直转圈:实时对话真正生效

Latest

Choose a tag to compare

@abab996 abab996 released this 30 Aug 09:11

🎹 AI_MIDI v3.0.2 — 修复桌面端聊天"一直转圈":实时对话真正生效

v3.0.1 引入的桌面事件桥存在一个隐蔽问题:对话页(chat.html)拿不到 Wails 运行时绑定,聊天流在桌面窗口里静默回退到被缓存的 HTTP SSE——AI 回复既不实时、又经常等不到结果,表现为"一直转圈、退出重进才刷新"。本版修复了这条链路,并加固了"上游卡死毒化整个项目"的隐患。功能与 v3.0.1 完全兼容,覆盖安装即可升级。

发布日期:2026-08-30 · 基线:v3.0.1(2026-08-29)· 变更规模:12 个文件,+277 行


⚡ 一次看懂:v3.0.1 → v3.0.2

使用场景 v3.0.1 v3.0.2
桌面窗口里发消息等 AI 回复 一直转圈、思考/工具步骤不显示,退出重进才看到内容 思考过程与工具调用实时呈现,回复即时到达
回复生成长时间无进展 前端无限转圈,只能重启 超时看门狗报"连接超时"并复位,可立即重试
上游模型卡住后继续发消息 同项目后续消息永久转圈(项目锁被占住) 死连接自动断开、锁自动释放,停止可随时中断
AI 生成的预热等待期 三点动画被瞬间替换,界面空白 保留三点等待动画,内容开始流出才取代

🔧 问题修复

💬 桌面端聊天实时流式真正生效(核心修复)

  • 定位:v3.0.1 的"桌面事件桥"从未在对话页激活——Wails 只向 /(index.html)自动注入运行时脚本,而应用冷启动被 index.html 直接跳转到 /chat.html,该页面拿不到 window.runtime / window.go,聊天流无声降级回退到被 WebView 整体缓存的 HTTP SSE
  • 后果:思考过程、工具调用步骤全程不可见;回复要等整轮(含多轮工具调用)生成结束才一次性出现;一旦生成超过 5 分钟看门狗即超时中止——会话内永远等不到回复,只能退出重进从磁盘历史加载
  • 修复:对话页显式加载 Wails 运行时/绑定脚本(/wails/ipc.js + /wails/runtime.js),事件桥即时推送;浏览器模式行为不变
  • 桌面模式下桥未生效时不再无声降级:自动上报日志并给出提示,便于报障定位

🔒 上游卡死不再毒化整个项目

  • 流式读取增加 120s 空闲看门狗:上游死连接自动断开,不再永久占住项目对话锁
  • 等锁可取消:项目锁等待响应停止信号,卡住时点停止立即退出,不再无限排队
  • 同任务复跑先关旧停止通道:卡死的旧流能被真正打断,锁可释放

⏳ 等待体验

  • 桥路径补 300s 空闲看门狗:后端异常卡死时界面报"连接超时(长时间无响应,请重试)"并复位忙态,不再无限转圈
  • 流式预热期保留三点等待动画:此前首个事件到达即整表重建,动画被瞬间替换、预热期界面空白

🚀 下载与安装

文件 说明
AI_MIDI_Setup_3.0.2_windows_amd64.exe 推荐 — Windows 10+ x64 安装包(含 JUCE 音频引擎),per-user 免管理员,中文向导,卸载保留用户数据
AI_MIDI_v3.0.2_linux_amd64.tar.gz Linux x64(浏览器音频合成;桌面模式需 webkit2gtk)
Source code (zip / tar.gz) 源码构建:Go ≥ 1.27 + Wails v2,wails build

📌 升级与兼容性说明

  • 覆盖安装即可升级:沿用 v3.0.0 应用标识,设置、项目、音色全部原位保留,无需数据迁移
  • 浏览器模式(-browser)行为不变
  • 曾遇到"桌面聊天一直转圈、重进才刷新"的用户,升级后请关闭旧版进程再运行新版(安装包会自动结束旧进程)
  • 密钥仍然只存本机 settings.json,绝不入库、不上传

📖 文档

  • README_zh.md — 功能总览与快速开始(中文)
  • README.md — English overview
  • docs/ — 架构决策、引擎 IPC 协议、发布指南等开发者文档

AI_MIDI — All you need is one API. 🎵