Releases: abab996/AI_MIDI
Release list
AI_MIDI v3.0.2 — 修复桌面端聊天一直转圈:实时对话真正生效
🎹 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 — 桌面端实时流式对话,音源与工程管理全面升级
🎹 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 重写)
🎹 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
修复严重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.txt,python main.py |
首次使用请在「设置」页填写 API Key 与 Base URL(默认 https://api.deepseek.com)。详见 README_zh.md。
2.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.txt,python main.py |
首次使用请在「设置」页填写 API Key 与 Base URL(默认 https://api.deepseek.com)。详见 README_zh.md。