Releases
v2.2.0
LX Music Sync Server v2.2.0
Latest
Compare
Sorry, something went wrong.
No results found
v2.2.0 (2026-11-11)
🌟 新增功能与体验升级
后台仪表盘与明/暗主题重构 :仪表盘重新设计为数据看板,保留 KPI 与 CPU/内存实时图并新增 1/5/15 分钟时间窗口和趋势迷你折线;新增「日志活动」(近 12 小时分级柱状图与 24 小时错误/警告统计)、「服务与存储」(WebDAV、OpenList 状态与最近/下次备份、数据盘与进程内存用量)、「用户与设备」在线概览和「最近告警」列表,对应新增 GET /api/dashboard/overview 接口。后台界面去除渐变与毛玻璃,改为实色卡片加细边框的单一强调色风格,并新增顶栏明/暗主题切换按钮(默认跟随系统、记住选择,图表颜色同步切换)。
Subsonic 本地歌单缓存筛选 :在“返回本地歌曲歌单”下新增“返回缓存目录歌曲”,默认关闭,仅返回 music 歌曲;开启后将 cache 歌曲合并到本地歌单。
返回缓存目录歌曲
获取歌单列表时跳过歌曲详情转换,详情仅读取一次收藏状态;自定义目录与内置 music / cache 重合时优先按内置目录归属,避免本地歌曲被错误隐藏。
Subsonic 评分歌单与联动补数据 (#508 @pyss56 ) :新增按 1–5 星汇总的虚拟评分歌单,1 星歌单包含命中不喜欢规则的歌曲,空星级不生成歌单;接入评分快照创建、导出与恢复,并在后台提供目标用户选择和两个方向的手动联动补数据入口。
快照导入与恢复完善 (#508 @pyss56 ) :歌单及不喜欢快照区分导入与系统生成来源,支持按来源筛选,避免导入记录参与系统快照自动清理;恢复前先保存当前状态。
Web 播放器歌曲评分 :播放器、歌曲列表、歌单、排行榜及本地音乐支持 1–5 星评分与清除,「我的评分」集中查看、筛选及导出;与 Subsonic 共用评分数据,独立保存到评分目录,不写入歌单。本地歌曲关联在线版后,在线已有评分优先,否则迁移本地评分、来源与历史,并删除本地重复记录。
后台评分与不喜欢数据查看 :按用户查看歌曲、歌手、专辑的评分与不喜欢记录,展示封面、音乐平台、添加或评分来源及详细资料;支持组合筛选、排序、分页和导出筛选结果。
Subsonic 缓存优先时优先使用 OpenList :后台新增「缓存优先时优先使用 OpenList」设置,可在缓存优先播放流程中优先尝试该用户可用的 OpenList 播放来源。
Web 不喜欢自动补分设置 :在 Web 设置中为当前账号单独开启或关闭「不喜欢自动补分」,默认关闭;将歌曲加入不喜欢时,仅为未评分歌曲补 1 星,已有评分不覆盖。设置保存到服务器,同一账号跨设备生效,后台手动补分独立执行。
聚合搜索关键词联想 :并发获取多源联想,快源先展示,合并重复词并优先展示多源共同推荐内容;增加短期缓存、超时与中文输入法处理,切换输入或正式搜索时取消旧联想,支持方向键选词和回车搜索,保留聚合音源选择。
歌曲搜索分批加载与聚合排序 :各音源先请求一页并按歌名相关性及原始排名交错展示,保留按设置数量的本地分页,翻到未加载页面时自动取下一批,也可点击常驻「加载更多」按钮;独立记录各源页码、结束与失败状态,避免深页翻唱因歌手名字较短挤到前列,修复跨源 ID 碰撞,并保留手动追加前的页码、结果顺序与滚动位置。
内置音乐 SDK 接口更新 :同步 QQ 签名搜索、推荐歌单、歌手与歌单详情及 QRC 逐字歌词,更新酷我歌词、网易歌手和咪咕封面接口,补齐酷狗分享歌单解析;保留被替换的旧实现为注释,修复歌词时间精度、分页与取消请求问题。
OpenList 备份与统一云端备份范围 (#488 @pyss56 ) :支持 OpenList 数据备份、恢复及独立的永久播放缓存;可分别选择 WebDAV / OpenList 备份歌曲与歌词、用户音源文件、快照、用户数据和系统配置。常规歌曲备份包含 data/music/ 内的音频、LRC、封面与索引,排除独立的根目录 music/、所有 cache/ 及外部自定义音乐目录;OpenList 播放缓存按用户单独配置上传、下载、双向同步或校验后删除本地副本。
后台统一备份管理 :将系统配置中的备份设置及 WebDAV、OpenList 入口集中到「备份管理」,按概览、本地备份、云端备份、数据恢复、记录与校验组织;补充执行时间、周期、范围和异常状态,未启用的服务收起相关操作。重构记录筛选,支持数据类型、用户、存储类别、状态、本地存在性、日期、关键词与排序,并优化文件详情、用户归属及时间显示。
服务器已有歌曲优先播放与本地歌词 :Web 播放器可优先读取当前用户的 music/ 与 cache/,按用户存储设置使用数据目录或运行根目录下的位置;新增「优先使用服务器本地歌词」,支持匹配已有 LRC,本地音乐条目也支持自定义目录中的同名歌词。补充 Web / Subsonic 播放顺序说明,区分已有文件读取、后台缓存写入和浏览器缓存。
OpenList 播放来源与内容校验 :开启相关设置后,Web / Subsonic 在本地未命中时可使用该用户已登记的 OpenList 缓存或下载文件,不可用时回退在线解析,无需每次遍历网盘;WebDAV 仍用于备份恢复。普通上传仅检查响应与云端大小,独立的手动内容校验支持预估流量、后台执行、停止及结果筛选;「上传完成」与当前版本的「已校验」分别展示,上传后删除本地缓存仍需完整内容校验。
均衡器与音效调节界面重构与紧凑交互 :
动态生效配置标签(Tag)与一键移除 :顶部状态栏实时展示已生效的音效配置标签(环境混响、EQ 预设/段数、音调调节、3D 环绕),支持鼠标悬停(桌面端)或轻点(移动端)标签右上角 ✕ 一键关闭单项配置;多项开启时支持一键「全部重置」,并提供全局总开关及纯净原音直通提示。
歌词卡片分享界面现代化 :重绘弹窗样式,加大圆角与悬浮阴影,预览区加入主题色光晕与点阵背景,预览卡片增加细描边和悬停辉光;比例、色彩风格、歌词行数按钮改为半透明渐变卡片,带悬停上浮、点击缩放及选中发光反馈;复选框与滑块改为自绘主题色样式,下载按钮增加渐变、内高光与悬停光泽,复制按钮采用毛玻璃描边。仅调整样式,不影响卡片生成逻辑。
🐛 缺陷修复与体验优化
PWA 与浏览器下载认证完善 (#496 ) :原生下载前检查并恢复登录 Cookie,恢复后再次确认会话有效;Fetch 下载携带同源认证头,登录失效或账号切换时明确提示并停止自动重试,避免页面可操作但下载提示「需要授权」。
自动切歌优先使用已完成缓存 (#490 ) :接管下一首预读链接前重新检查服务器已有歌曲,避免后台缓存已完成仍使用在线链接;补查仅检查本地文件,设置 1.2 秒超时,未就绪或失败时继续使用预读链接;预读按平台、标准化歌曲 ID 和目标音质匹配,避免跨平台或修改音质后误用旧结果。关闭缓存优先后不再复用在线歌曲的文件缓存预读,播放失败时清除对应预读记录,保留并发更新的新结果。快速切歌或队列变化后丢弃旧预读结果,关闭预读时立即停止缓冲,避免过期任务覆盖下一首。
无可用音源时停止无效重试 :保留本地与缓存播放,在线解析确认当前用户无可用源后停止自动换源、降音质、跳歌及后台连续预读,统一提示添加或启用音源;仅当前平台无源时跳过同平台重试与降音质。
自定义目录加载与索引优化 (#475 ) :重复进入复用列表,按索引版本更新并保留分页与筛选,关闭歌词详情不再重复加载;文件操作后局部更新,合并并发扫描与目录遍历,批量删除仅保存一次索引。索引采用临时文件替换,读取失败保留有效记录,防止异步补数据覆盖新关联;Subsonic 按需自动扫描间隔调整为至少 5 分钟,手动同步仍立即执行。
切歌进度重置 (#494 ) :切换歌曲时清零进度显示,避免新歌链接解析失败后自动重试时误用上一首的播放位置,保留同曲故障恢复与刷新续播。
缓存自动清理修复 (#489 ) :空间限制仅清理 cache,不再误删 music 下载文件;异步递归统计并分批清理媒体文件,保护索引、临时文件、下载收尾与活跃备份,按最近访问或修改时间成组清理音频和歌词并同步索引。避免清理替换扫描中的索引实例,并容忍扫描途中删除文件;修复保留天数重启丢失,启动、修改清理设置后及定时检查两处缓存目录。
下载与播放歌词获取流程统一 :复用服务器歌词缓存、原平台接口及内嵌歌词兜底,补齐收藏歌曲和咪咕等平台的歌词参数;下载仅按平台与歌曲 ID 匹配,禁用同名歌曲兜底,并保留翻译、音译与用户隔离。
浏览器单曲分段下载 :支持 Range 的大文件默认使用 4 路分段下载,临时文件拼接后继续写入封面和歌词;加入分段校验、失败重试、单连接回退、取消清理及全局连接限制,连接中断时同步显示失败状态。
单曲下载音质筛选修复 :仅展示已验证可用或服务器已有的音质,过滤错误响应、异常文件大小和返回音质不匹配的选项,修复「64 B」占位大小误显示;筛选后按实际音质提交下载与缓存任务。
下载内嵌歌词修复 :统一处理带音源前缀的歌曲 ID,在线下载优先读取当前用户已有歌词,保留翻译与音译;补充歌词写入回读校验及失败日志,修复网页有歌词但下载文件未嵌入的问题。
浏览器下载进度与状态修复(#485 ) :补齐进度查询认证信息,修复文件已下载却提示「浏览器未启动下载」的误报;服务器已有文件直接交给浏览器保存,无法确认进度时提示查看浏览器下载记录,进度查询失败不再计为下载失败。
评分模块归类与迁移边界修复 :评分服务、偏好、快照、校验、身份锁及事务迁移集中到 src/server/rating/;修复无评分用户的关联整理、仅评分事务覆盖未保存不喜欢数据的问题,并在不喜欢数据初始化时恢复遗留事务。
评分迁移与恢复一致性修复 :本地关联在线歌曲时同步迁移不喜欢原因中的评分 ID;评分、歌曲资料与相关不喜欢快照通过事务日志提交,写入失败可回滚,中断后可恢复。旧评分快照恢复时直接整理关联身份,保留手动不喜欢原因与历史快照。
修复不喜欢规则括号空格重复、同身份资料补全及跨来源隔离;记录评分与不喜欢来源,手动同步增加候选预览、资料补全统计及未解析失败计数。
修复 Subsonic 评分歌单显示与自动联动开关耦合,补齐评分歌单配置和评分快照备份分类;恢复评分时保留收藏,缓存淘汰后尝试重新解析评分歌曲,并提示评分已保存但联动失败的情况。
酷狗码导入修复 (#483 ) :完善酷狗分享歌单的链接解析与歌曲列表获取,修复部分歌单导入失败的问题。
备份记录详情面板优化 :加宽桌面详情弹窗,分开展示标题与文件名,优化表格间距及长路径、SHA-256 和元数据换行,避免内容撑出面板或挤压关闭按钮,并适配移动端宽度。
列表长文本滚动优化 :Web 播放器及后台多类列表中,超出宽度的文件名、歌曲名、歌单名等文字在桌面端悬停时滚动,移开后恢复开头;移动端保持自动滚动,完整显示的文字保持静止。
后台滚动条样式统一 :横向、纵向滚动条统一采用深色轨道与细圆角滑块,增加悬停及拖动颜色反馈,优化列表、表格和弹窗等区域的视觉效果。
清空搜索返回热搜页修复 :网络搜索时,点击输入框清空按钮或手动清空关键词后,取消旧搜索并清除搜索缓存,返回热搜页,避免继续停留在搜索结果列表。
搜索进度显示范围修复 :搜索状态条仅在网络搜索页显示,切换收藏分类或其他列表时隐藏,返回搜索后恢复当前状态,避免后台更新导致残留。
暗色模式开关状态修复 :修复开启后的开关底色被暗色灰色样式覆盖的问题,歌曲洗版等开关统一使用主题色区分开启与关闭状态。
AirPlay 原生播放恢复修复 (#511 @pokemonred06-creator ) :关闭混响时保留原生模式,避免混响滑块动画在切回本机后重新启用音效或覆盖后续修改,恢复提示按指定时长显示。
无需刷新恢复原生播放 :关闭音效或点击恢复按钮时,通过新音频元素交接歌曲、进度、暂停状态、音量和倍速,释放旧音频图及 iOS 保活桥;保留队列和音效配置,切歌及快速开关不会套用旧进度。切换可能短暂缓冲,浏览器阻止续播时提示手动播放。
音效原生模式提示与配置预览 :原生播放显示醒目的状态标签,总开关显示关闭,保留全部配置但锁定编辑;明确打开总开关后按当前配置启用本机音效,投播期间锁定本机音效控件。
删除用户时清理音源文件 :单个或批量删除用户并勾选删除数据时,同时清理该用户的自定义音源脚本、顺序及状态文件,保留公共音源和其他用户文件。
歌手与专辑详情切换及返回修复 :切换标签、收藏分类或歌单时清理详情头部与悬浮栏,避免残留到其他列表;修复打开专辑后歌手详情因容器被删除而一直加载的问题;记录详情入口,返回时恢复对应的收藏歌手、收藏专辑或原歌单,避免浏览器返回事件重复处理后跳到「我的喜爱」。
批量选择行高亮修复 :修复收藏、搜索等歌曲列表点击「全选」后仅更新选中数量、未同步行高亮的问题;正确识别当前显示的列表,统一排行榜批量操作的刷新入口,确保全选、清空及退出批量模式时选中状态与高亮同步。
播放队列去重与歌曲定位修复 :统一搜索结果与默认列表的歌曲 ID 匹配规则,修复播放时自动加入默认列表的歌曲仍可重复入队的问题;「加入播放队列」遇到已有歌曲时提示并展开侧边面板,滚动定位、高亮对应歌曲;「下一首播放」将已有条目移至下一首,当前正在播放的歌曲不再重复添加。
搜索页面意外跳回收藏修复 (#482 ) :修复恢复上次播放时遗留的歌单跳转覆盖当前搜索页面的问题;收藏歌单后台更新完成后,仅在仍浏览该收藏列表时刷新内容,避免搜索过程中突然切回“我的喜爱”等列表。
管理面板 WebDAV 连接测试修复 (#474 ) :改为分别检查已保存配置的同步目录与备份目录,避免根目录列举失败导致测试误判;逐项显示检查结果,并针对认证、权限、路径、网关、网络及证书错误提供排查建议。请求超过 10 秒自动取消,测试期间禁止重复点击;明确说明测试仅验证目录读取,不验证上传、删除权限或完整恢复能力。
备份管理手机端布局优化 :统一设置与恢复页间距、按钮分组和触控尺寸;本地配置备份与快照按卡片显示,下载、恢复、删除等宽排列,长路径和文件名自动换行,优化预览、任务记录、校验结果及详情弹窗的窄屏展示。
后台提示样式统一 :批量重试使用后台确认弹窗,取消不会提交且避免重复操作;移除管理主页连接测试、同步结果及详情异常中的浏览器原生提示框。
OpenList 轻量文件检查 :可按已选、筛选结果或当前连接全部记录手动检查本地与云端文件元信息,显示进度、停止操作及上次检查时间;结果按连接和版本保留,不下载文件正文,也不上传或删除文件。
备份任务与校验状态统一 :记录页按待上传、待下载、传输中、已备份、需处理、失败及暂停展示主状态,内容校验作为独立历史标记;本地变化诊断收进详情和高级筛选,云端变化后可重新校验,记录与校验页统一类型、用户和结果筛选。
备份记录本地状态修复 :查询记录时检查实际文件,修复手动删除后仍显示“本地存在”的问题;打开详情重新获取状态,权限异常显示“无法检查”,不影响云端备份与内容校验记录。
备份与恢复可靠性改进 :统一 WebDAV 增量、ZIP 和离线导入导出的数据范围,支持恢复预览、仅补缺失或覆盖同名文件;下载暂存并校验后再替换,默认保留恢复前副本,提供恢复记录与回滚。完善 OpenList 历史版本、失败重试及 WebDAV 临时上传、成功记录和 ZIP 保留策略;WebDAV 启动恢复与本地删除同步到云端默认关闭,恢复保留本地独有文件,完成后需重启服务。同步更新中英文备份、播放、配置及接口说明。
运行环境要求更新 :Node.js 最低版本调整为 22.13.0,以支持 OpenList 使用的内置 SQLite 模块。
搜索与凭据表单隔离 (#477 @pokemonred06-creator ) :为搜索、登录及远程连接设置独立表单和自动填充属性,降低搜索内容被误识别为登录凭据的风险;登录成功后清空密码输入框,修复手动搜索 Enter 重复触发及列表搜索输入法组合输入时误操作。
VU 表盘与指针优化 (#477 @pokemonred06-creator ) :更新各主题表盘设计、刻度映射及指针响应,调整动态参考电平,避免持续高 RMS 音频导致指针顶格。
自定义目录根目录筛选 :目录分类新增“根目录”选项及歌曲数量,支持单独筛选根目录直属歌曲,也可与其他目录多选。
Subsonic 播放失败状态与取链重试优化 (#470 @pyss56 ) :取链失败时返回 HTTP 502 并保留 Subsonic 错误信息,覆盖普通播放、下载、转码及部分电台路径;对明确失效的播放链接退避后重新取链一次,探测超时保留候选链接回退,取链异常复用底层重试,避免叠加整轮重试造成长时间等待。
Subsonic 共享歌单与排行榜歌曲数修复 :列表优先使用上游提供的歌曲总数,打开详情时补齐分页,使详情歌曲数与实际返回条目一致;完整详情缓存后,列表按当前用户的不喜欢歌曲过滤结果计算数量,避免跨用户计数污染。上游未提供总数且尚未读取详情时暂显示 0,读取详情后补齐。
Subsonic 歌单请求与缓存优化 :移除列表刷新时逐歌单查询详情的后台请求;并发读取同一歌单复用请求,完整详情缓存十分钟并限制缓存数量;检测异常或重复分页,修正 QQ 歌单接口的重试参数传递。
You can’t perform that action at this time.