fnmusic-ext 2.5.0
自 2.3.0 以来的全部变更收拢为本次正式版发布(期间的 2.4.x / 2.5.x 迭代版本仅作为测试构建分发,未正式发版)。
兼容适配(官方 2026-09-25 更新)
- 适配飞牛官方音乐 2026-09-25 更新(SQLite 升级 v4、底层接入 bleve 全文检索):新增未拦截
/music/api/端点探测与采样日志(FNMUSIC_TRACE_FORWARD=detail),未拦截新端点可靠透传,官方后续更新可即时审计。 - 边听边存不再误删刚完成的音频(#28):客户端在下载结束瞬间快速断开时,已拉取完成的音频临时文件此前会被清理逻辑误删;现落盘、写标签与曲库重扫通知全程护航执行。
- 彻底避免 Unknown 文件落盘(#28):首次解析慢产生的残缺元数据不再永久占位,完整信息随时覆盖;落盘缺元数据时自动从在线播放历史/收藏快照回查命名。另附存量修复脚本
scripts/repair_unknown_library.py(默认 dry-run 预览)。
收藏与歌单
- 「收藏自动绑定本地」开关(默认关闭):收藏在线歌曲或加入自建歌单先立即生效,后台自动下载到本地曲库并绑定,换源或原音源下线后依然可以播放。
- 下载完成后自动写入官方收藏/歌单:官方曲库收录文件后自动把这次收藏/加歌单写进官方列表,同一首歌不再"官方 + 本地映射"重复显示两次;官方未收录前保留本地映射兜底,收藏永不丢失;代理重启、下载中断等场景自愈重试,取消收藏/移出歌单自动翻译转发官方接口。
- 边听边存切歌不中断下载:切歌/退出时未写完的部分自动转后台任务断点续传(
Range从断点续拉),源不支持续传时回退整轨重下。
每日推荐
- 按账户隔离,各账户内容不同:引入"音源名额"机制——每天第一个打开每日推荐的用户使用网易日推,其余账户由大模型按各自播放历史与收藏生成,或从本地曲库随机补齐(按各账户"最近没听过"挑选),三层兜底保证推荐永不为空。
- 逐首可播校验与渐进式上架(#23/#29):候选歌曲入选前实时探活,失效条目不入列;推荐增量流式生成,有 1 首即刻展示、后续重进递增,不再整块等待;大模型层超时不再拖垮兜底层导致空列表。
- 切源立即失效当日推荐缓存(#22);音源全挂导致空结果后 5 分钟冷却,不再每次打开列表都空转重试。
在线专辑(#22)
- 专辑搜索多源支持:拦截官方专辑搜索端点,网易云走真实专辑检索,musicdl 与洛雪源按「专辑名 + 源」自动聚合合成,与官方本地专辑无缝合并返回。
- 专辑详情页不再空白:合成专辑曲目列表接口(支持分页与音频规格注入);搜索注入的在线专辑锚点落盘持久化,代理重启后仍可正常进入详情。
洛雪自定义源
- 沙箱 CPU 治理(#29):第三方脚本的短周期定时器强制钳制至 500ms、数量与触发频率设限,根治部分脚本死循环空转导致 Node.js 常驻进程空烧 50% CPU;服务异常终止遗留的孤儿 bridge 进程启动时定向清扫。
- 社区脚本集兼容性(pdone/lx-music-source 全矩阵实测):脚本初始化超时 10s→30s,"慢而活"的服务端中转型脚本不再被掐死在激活环节;网络错误透传底层原因(如
fetch failed (EHOSTUNREACH));「测试源」失败新增server_unreachable归类,明确说明"上游 API 服务器已停摆、换源即可",不再误导向本扩展的兼容性问题。 - 源校验按平台细分(#22):不再因单一平台搜索波动误判整源;酷狗搜索时长单位修正(此前时长全部显示为 0:00)。
安装与升级
- 安装网络加速与进度可见(#24/#27):基础镜像拉取并发测速择优、长耗时阶段 30 秒心跳日志,进度透明不卡死;新增
scripts/collect_support_info.sh一键采集无敏环境信息,便于 issue 反馈。 - 应用中心安装/升级健壮性:FPK 回调自动接管(
--adopt)宿主机老部署,Git 手工部署/旧卷迁移不再报冲突死锁;首次安装自动平滑继承老部署的收藏、播放历史与音源凭据;卸载彻底清理全局部署记录。 - 升级/切源后「等待 musicdl healthz 超时」根因修复:
.env换源重装时容器仍跑旧进程集导致新音源端口无人监听——现等待前自动对齐容器进程集;升级失败不再遗留孤儿容器;等待超时自动采集容器内进程状态与日志尾部随安装日志落盘,一眼可辨。 - 在线搜索"全源失败 0 条"不再污染缓存:连续快速搜索(如回车瞬间歌曲与专辑搜索并发)时音源占线返回的空结果不再缓存 10 秒,同词重搜立即重新聚合。
FNMUSIC_LIBRARY_SCAN_PATH补全文档并在管理台「边听边存」页暴露为选填项(官方通常自动扫描入库,填入抓包路径可加速官方收录)。