Skip to content

Releases: abab996/AI_MIDI

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

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. 🎵

AI_MIDI v3.0.1 — 桌面端实时流式对话,音源与工程管理全面升级

Choose a tag to compare

@abab996 abab996 released this 29 Aug 12:48

🎹 AI_MIDI v3.0.1 — 桌面端实时流式对话,音源与工程管理全面升级

v3.0.0 发布后的第一个迭代版本,集中解决两件事:桌面窗口里 AI 回复终于实时打字机输出了,以及音色、工程数据在各类日常操作下不再出现丢失和残留。另有一批使用中反馈的问题修复。功能与 v3.0.0 完全兼容,覆盖安装即可升级。

发布日期:2026-08-29 · 基线:v3.0.0(2026-08-28)· 变更规模:49 个文件,+2247 行


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

使用场景 v3.0.0 v3.0.1
桌面窗口里等 AI 回复 整段憋到最后一起出现 逐字实时输出,与浏览器模式一致
点击「停止」 偶尔要等几秒才真正停下 立即中断在途生成
音源「卸载」 只删列表记录,文件永久残留 同步清理磁盘文件,不再被引擎误加载
浏览器导入的音色给原生引擎用 路径推导失败时静默回退 Web Audio 自动镜像到引擎音色库,原生直通加载
自动保存期间继续编辑 最后几笔改动可能丢失且界面仍显示已保存 自动补存,编辑零丢失
撤回 AI 文件后再恢复 遇同名文件直接覆盖 自动改用唯一名,两份都保留
U 盘/网络盘工作区没插 打开项目可能清空文件列表 检测到不可达自动跳过同步
程序崩溃后项目列表消失 无法找回 损坏文件自动备份,可人工恢复

🆕 新特性

⌨️ 桌面端实时流式对话

  • 桌面窗口的 AI 回复改经 Wails 事件桥(原生 IPC)推送,绕过 WebView 响应体整段缓存的限制——打字机效果与浏览器模式完全一致
  • 浏览器模式(-browser)仍走 HTTP SSE;两端事件协议一致,体验无差别

🛑 停止立即生效

  • 任务的停止信号改为通道直连:点击停止后在途的 LLM 流式请求立刻中断,不再依赖逐轮轮询,长回复也不用干等

🎛️ 音源库:导入即用,卸载即净

  • 浏览器里导入的 SF2 音色自动镜像到原生引擎音色库(Library/soundfonts/),原生引擎直通加载——此前靠进程工作目录间接推导,目录不对时原生演奏静默回退到 Web Audio
  • 「卸载」音色现在同步删除磁盘镜像:此前只删 IndexedDB 记录,残留文件会被引擎当作默认音色加载
  • 上传环节增加大小校验与断传清理,异常中断不留垃圾文件

🛡 工程数据更安全

  • 编辑零丢失:编曲窗与钢琴卷帘的自动保存重写为「认领式」保存——保存请求在途期间的编辑会自动触发补存,关窗兜底同步修正
  • 撤回/恢复不覆盖:AI 生成文件的撤回(回收站机制)重构;恢复文件遇同名自动生成唯一名(foo (1).mid),移入回收站亦然,任何操作都不会覆盖现有文件
  • 外接盘更放心:绑定的 U 盘/网络盘未挂载时自动跳过同步,项目镜像与 AI 音符表原样保留
  • 崩溃可找回:项目索引 index.json 意外损坏时自动备份为 index.json.corrupt-*,不再被空列表覆盖
  • 异常输入不再闪退:AI 返回格式异常的工具参数时给出错误提示并正常收尾,不再影响应用运行

🔧 问题修复

  • 修复安装版启动画面不显示、主题图标切换无效的问题(安装包此前漏打包启动图与主题资源,现已随安装包分发)
  • 离线导出 WAV 的输出路径固定为程序目录 output/,与下载白名单一致——此前从其他目录启动时导出文件会落到预期外位置
  • 引擎输出落盘 output/engine.log:安装版引擎启动失败、驱动异常时有日志可查
  • 引擎「禁用 ↔ 启用」反复切换后不再出现引擎无法再启动的状态
  • 已断开的引擎会话立即返回错误,不再让后续操作排队等待超时
  • 音源加载路径增加白名单校验,拦截越权路径
  • 聊天记录中的外链启用安全白名单

🚀 下载与安装

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

📌 升级与兼容性说明

  • 覆盖安装即可升级:沿用 v3.0.0 应用标识,设置、项目、音色全部原位保留,无需数据迁移
  • v2 → v3 的迁移警示仍适用(v2 工程数据结构与 v3 不通用)
  • 若此前遭遇过「项目列表丢失」,可检查 projects/index.json.corrupt-* 备份文件,人工恢复后重启应用即可
  • 密钥仍然只存本机 settings.json,绝不入库、不上传

📖 文档

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

AI_MIDI — All you need is one API. 🎵

AI_MIDI v3.0.0 — 原生桌面编曲工作台(Go 重写)

Choose a tag to compare

@abab996 abab996 released this 28 Aug 14:36

🎹 AI_MIDI v3.0.0 — 从网页应用到原生桌面编曲工作台

v2.0.1(Python 版)证明了"一个 API Key 就能让 AI 辅助音乐创作"。v3.0.0 用 Go + Wails v2 从零重写,把这套理念推到了原生桌面级:新增 FL Studio 风格编曲窗、钢琴卷帘、输出机架、JUCE 原生音频引擎(ASIO 低延迟 + 离线导出 WAV),并补齐项目全局 BPM、快速任务、使用声明引导等一整套体验。AI 辅助创作的核心流程(多轮对话 / 快速任务 / 乐理知识库 / 工作区绑定 / 撤销恢复)全部保留并增强。

发布日期:2026-08-28 · 规模:53 个提交 · 约 3.1 万行代码(Go 15.6k + 前端 JS 15.2k)· 220 个跟踪文件


⚡ 一次看懂:v2.0.1 → v3.0.0

v2.0.1(Python) v3.0.0(Go 原生)
运行形态 FastAPI 本地服务 + pywebview 窗口,需 Python 3.10+ 环境 单文件桌面应用,双击即用,无需任何运行时
启动速度 数秒(Python 解释器 + 依赖加载) < 1 秒(原生窗口 + 透明启动图)
音频输出 依赖浏览器 Web Audio JUCE 原生引擎:ASIO / WASAPI / DirectSound 低延迟;无引擎自动降级 Web Audio
编曲能力 —(无) FL Studio 风格编曲窗 + 钢琴卷帘 + 输出机架
安装 PyInstaller 打包 / 源码运行 Inno Setup 安装包(per-user 免管理员)+ Linux 压缩包
分发体积 数百 MB(带 Python 运行时) 11 MB 安装包(含原生音频引擎)

🆕 全新功能(v3.0.0 新增)

🎚 编曲窗(早期测试版)

  • FL Studio Playlist 风格时间线:多轨道、Clip 拖拽/切分/吸附/循环区间/撤销重做,三域焦点仲裁的完整快捷键体系
  • 钢琴卷帘:双击 MIDI Clip 直接编辑音符,力度/属性面板、拖拽克隆等 FL 惯例全集
  • 输出机架:浮动机架更换音色、导入 SF2 音色库(IndexedDB 本地持久化)、通道条拖拽分配/替换音源、试听
  • 素材库树:素材目录注册 + 树状浏览,拖拽入轨
  • 编排数据自动保存;窗口内状态(BPM/缩放/循环)随工程持久化

🌡 项目全局 BPM

  • 改一处处处生效:走带、节拍器、循环、采样调度、离线导出全部跟随
  • AI 生成新 MIDI 自动跟随全局 BPM(用户当次明确指定的速度永远优先);已有 MIDI 文件保持自身速度不变

🔊 JUCE 原生音频引擎(Windows)

  • ASIO 低延迟监听、WASAPI / DirectSound 支持、实时电平表、走带时间码跟随
  • 离线渲染导出 WAV:按全局采样率渲染,尾音到静默不截断
  • 引擎崩溃自动重启(Job Object 内核兜底 + 父进程看门狗,三重防孤儿)
  • 无引擎环境自动降级 Web Audio,功能完整

🛡 稳定性与安全加固

  • 会话并发安全:流式回复期间的轮询与状态读写全面加锁(竞态检测器验证)
  • 本地 API 来源校验:仅接受本机/Wails 来源请求,阻断 DNS rebinding 与跨站驱动
  • SMF 解析加固:畸形 MIDI 文件不再可能触发内存耗尽;路径穿越全链路防护
  • ASIO 切换自愈:驱动打开卡死时 15 秒内提示「<设备名> 未响应」并自动回退上一个可用设备,应用永不假死

✨ 保留并增强(相对 v2.0.1)

  • 多轮对话:MCP 工具调用全保留;流式输出重构为增量推送(长回复不再越到后面越卡)
  • 快速任务:配和弦 / 翻译歌词 / 设计转音 / 自定义,整合进对话页弹窗
  • 乐理知识库:20 份知识库原样迁移,AI 按需查阅
  • 工作区绑定:留空点「绑定」直接弹系统目录选择器(桌面与浏览器模式均支持)
  • 消息编辑 / 撤回 / 撤销:含 AI 文件变更的回滚(回收站机制)
  • 多任务管理:任务面板、任务切换、后台续跑
  • 思考过程可视化、草稿自动保存、暖纸/暗蓝双主题
  • 首次启动使用声明、各入口引导提示

🚀 下载与安装

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

📌 升级与兼容性说明

  • 全新安装即可:v3 与 v2 的安装位置、数据目录互不影响;安装包沿用 v2 的应用标识,覆盖安装会原位升级
  • settings.json 基本兼容:api_key / base_url / model 等字段可直接沿用;新增 audio 全局段(驱动/设备/采样率)
  • ⚠️ v2 的 projects/ 工程数据与 v3 不通用(数据结构重设计):请把 v2 工程里的 MIDI 文件导出后,在 v3 中重新导入使用
  • 密钥仍然只存本机 settings.json,绝不入库、不上传

📖 文档

  • README_zh.md — 功能总览与快速开始(中文)
  • README.md — English overview
  • docs/ — 架构决策、引擎 IPC 协议、编曲窗设计基准等开发者文档

AI_MIDI — All you need is one API. 🎵

2.0.1

Choose a tag to compare

@abab996 abab996 released this 07 Aug 10:48

修复严重bug,请尽快更新!!!

此版本没有功能更新,以下为v2.0.0更新日志

AI_MIDI v2.0.0

v1 是 Gradio 简易 WebUI(另附 maliang 桌面 GUI 与命令行入口),界面为 Gradio 默认样式,功能只有四种快捷操作。v2 将界面全面重做为自绘前端,四种快捷操作完整保留,并在此基础上新增多轮对话、项目档案库、乐理知识库、设置页等一整套新能力。

界面重做

  • 抛弃 Gradio,改为 FastAPI 本地服务 + 自绘前端(替代 Gradio 默认样式)。
  • 三个页面:主工作台(快捷操作)/ 多轮对话(项目与对话)/ 设置,页头互跳。
  • 默认 pywebview 原生窗口,--browser 可改用系统浏览器。
  • 暖纸 ⇄ 暗蓝双主题,本地记忆。

新增功能(相对 v1)

  • 多轮对话:与 AI 围绕 MIDI 项目进行多轮创作对话,不再是单次问答。
  • MCP 工具调用:AI 可以直接在项目里创建、解析、整理、删除 MIDI 文件,每一步以可折叠工具块展示。
  • 乐理知识库:内置 20 份系统化知识库(乐理基础、配和弦指南、对位、配器、曲式、调式互换等),AI 按需查阅。
  • 项目档案库:多项目管理,档案库 + 对话工作台双视图。
  • 工作区绑定:关联本地文件夹,文件双向同步;每个文件操作可撤销 / 恢复(带回收站);跨项目全文搜索。
  • 思考过程可视化:AI 的推理内容以流式思考块实时展示,思考完毕立即收起。
  • 设置页:API Key、Base URL、模型与生成参数图形化配置并持久化到 settings.json(已被 git 忽略,密钥不入库);v1 的环境变量 / .env 方式不再需要。支持任意 OpenAI 兼容服务商(DeepSeek / OpenAI / Gemini / 本地 LLM),可刷新模型列表。
  • 流式输出 + 上下文压缩:全程流式输出;长对话自动摘要压缩,保持上下文不炸。
  • Windows 安装包:Inno Setup 安装,中英双语向导,卸载保留用户数据;另有 PyInstaller 多文件打包版。

修复

  • 修复部分 bug,提升稳定性,并且ZZZ了一会儿。

升级提醒

  • 无数据库迁移:数据均为本地文件(settings.json / projects/ / output/)。
  • v1 的四种快捷操作(配和弦 / 翻译歌词 / 设计转音 / 其他要求)在 v2 主工作台中一一对应,使用方式不变。
  • API Key 从环境变量迁移到设置页:升级后请在「设置」页填写一次。

发布日期:2026-08-06

更新规模:相对 v1(tag 1)— 67 个文件已更改 | +18,363 / -2,684 行

下载与安装

访问 Releases 下载对应版本。

文件 说明
AI_MIDI_Setup_2.0.0.exe 推荐 — Inno Setup 安装包,Windows 10+ x64,中英双语向导,卸载保留用户数据
Source code (zip / tar.gz) 源码运行:Python 3.10+,pip install -r requirements.txtpython main.py

首次使用请在「设置」页填写 API Key 与 Base URL(默认 https://api.deepseek.com)。详见 README_zh.md

2.0.0

Choose a tag to compare

@abab996 abab996 released this 06 Aug 14:52

AI_MIDI v2.0.0

v1 是 Gradio 简易 WebUI(另附 maliang 桌面 GUI 与命令行入口),界面为 Gradio 默认样式,功能只有四种快捷操作。v2 将界面全面重做为自绘前端,四种快捷操作完整保留,并在此基础上新增多轮对话、项目档案库、乐理知识库、设置页等一整套新能力。

界面重做

  • 抛弃 Gradio,改为 FastAPI 本地服务 + 自绘前端(替代 Gradio 默认样式)。
  • 三个页面:主工作台(快捷操作)/ 多轮对话(项目与对话)/ 设置,页头互跳。
  • 默认 pywebview 原生窗口,--browser 可改用系统浏览器。
  • 暖纸 ⇄ 暗蓝双主题,本地记忆。

新增功能(相对 v1)

  • 多轮对话:与 AI 围绕 MIDI 项目进行多轮创作对话,不再是单次问答。
  • MCP 工具调用:AI 可以直接在项目里创建、解析、整理、删除 MIDI 文件,每一步以可折叠工具块展示。
  • 乐理知识库:内置 20 份系统化知识库(乐理基础、配和弦指南、对位、配器、曲式、调式互换等),AI 按需查阅。
  • 项目档案库:多项目管理,档案库 + 对话工作台双视图。
  • 工作区绑定:关联本地文件夹,文件双向同步;每个文件操作可撤销 / 恢复(带回收站);跨项目全文搜索。
  • 思考过程可视化:AI 的推理内容以流式思考块实时展示,思考完毕立即收起。
  • 设置页:API Key、Base URL、模型与生成参数图形化配置并持久化到 settings.json(已被 git 忽略,密钥不入库);v1 的环境变量 / .env 方式不再需要。支持任意 OpenAI 兼容服务商(DeepSeek / OpenAI / Gemini / 本地 LLM),可刷新模型列表。
  • 流式输出 + 上下文压缩:全程流式输出;长对话自动摘要压缩,保持上下文不炸。
  • Windows 安装包:Inno Setup 安装,中英双语向导,卸载保留用户数据;另有 PyInstaller 多文件打包版。

修复

  • 修复部分 bug,提升稳定性,并且ZZZ了一会儿。

升级提醒

  • 无数据库迁移:数据均为本地文件(settings.json / projects/ / output/)。
  • v1 的四种快捷操作(配和弦 / 翻译歌词 / 设计转音 / 其他要求)在 v2 主工作台中一一对应,使用方式不变。
  • API Key 从环境变量迁移到设置页:升级后请在「设置」页填写一次。

发布日期:2026-08-06

更新规模:相对 v1(tag 1)— 67 个文件已更改 | +18,363 / -2,684 行

下载与安装

访问 Releases 下载对应版本。

文件 说明
AI_MIDI_Setup_2.0.0.exe 推荐 — Inno Setup 安装包,Windows 10+ x64,中英双语向导,卸载保留用户数据
Source code (zip / tar.gz) 源码运行:Python 3.10+,pip install -r requirements.txtpython main.py

首次使用请在「设置」页填写 API Key 与 Base URL(默认 https://api.deepseek.com)。详见 README_zh.md

v1.0

Choose a tag to compare

@abab996 abab996 released this 20 Jun 07:48

v1.0