Repository navigation
Releases: qwex888/miyin
Release list
觅音 v0.5.3
[0.5.3] - 2026-10-19
Added
-
上游接口矩阵:各平台搜索声明主备多级通道,单接口失效自动降级;新增超时/重试/熔断与过期缓存兜底开关,并新增 GET /api/upstream/health 通道健康检查 (@qwex888)
-
音源按实测表现排序:稳定交付高码率的音源优先尝试,常返回试听或谎报档位的自动靠后;新音源仍有被验证的机会,避免「最新导入优先」这类与可靠性无关的偏好 (@qwex888)
-
下载队列「全选」右侧增加刷新按钮,可手动重新拉取当前分类的数据(搜索态下刷新搜索结果) (@qwex888)
-
队列页新增「清理重复」:列出此前下重的记录,默认每组保留音质最高的一条,可批量清理并可选择同时删除本地文件 (@qwex888)
-
下载记录支持按平台、音质、入队日期筛选,可与关键词、批量筛选叠加 (@qwex888)
-
设置页新增重复处理策略:可开关入队查重、选择「每次询问 / 自动跳过 / 自动替换」,并保护已有的高音质文件;弹窗点过「不再提醒」后可在这里改回询问 (@qwex888)
-
搜索结果与专辑曲目新增「已在库」标记,下载前就能看出这首歌是否已经下载过 (@qwex888)
-
入队前自动比对下载记录:批量提交时把疑似重复的歌曲聚合到一个弹窗,可一键「全部替换 / 全部跳过」或逐条裁决,不再静默覆盖同名文件 (@qwex888)
-
下载记录支持关键词检索:队列页可按歌手 / 歌名 / 专辑搜索当前分类的历史记录,多关键词以空格分隔且不限词序,命中处高亮;关键词同步收敛 tab 角标,当前分类无结果时提示其他分类的命中条数 (@qwex888)
Changed
-
QQ 搜索改用更快的 search_for_qq_cp 作为主通道(实测约 0.2s vs 3.1s),老接口退为备用,降低慢网络下的超时失败率 (@qwex888)
-
下载队列页把检索框与筛选条移到分类 tab 上方,阅读顺序改为「先搜索、再看分类」 (@qwex888)
-
放宽同名判定:稻香 与 稻香(Live)、稻香(Demo)等不同版本不再算重复,允许多版本共存;升级后会自动按新规则重算已有记录 (@qwex888)
-
下载记录检索改为跨全部分类:结果中直接标出每条所属的「进行中 / 已完成 / 失败」,可在该条上直接删除、重试、换源等,也可点分类标签把结果限定到该分类继续批量操作 (@qwex888)
-
下载改为先写入临时文件、校验通过后才落到最终路径:下载失败或中途取消不再破坏同名已有文件,也不会留下半个坏文件 (@qwex888)
Fixed
-
网易云与酷我专辑搜索接入多通道与错误识别,QQ 专辑详情对上游报错给出真实原因,不再显示为「空专辑」 (@qwex888)
-
网易云与酷我搜索补齐容错:网易云新增备用通道并在降级时自动补回封面;酷我补上业务态错误识别,不再把上游报错静默当成空结果 (@qwex888)
-
QQ 搜索改用快速接口后仍能取无损:新增批量后置增强补齐 media_mid 与真实音质档位,且增强失败不影响搜索结果 (@qwex888)
-
酷狗搜索结果恢复封面:封面取自响应内 trans_param.union_cover(实测覆盖率 100%),不再显示空白图 (@qwex888)
-
酷狗搜索不再静默返回空结果:上游已加签名校验(error_code=20006),现自动切换备用通道,并在全部通道失败时抛出携带真实错误码与描述的 502 (@qwex888)
-
下载完成后校验实际位深,修正被虚标的音质:此前沿用音源的声称值(如声称 flac24bit、实测却是 16bit 多声道无损),现在按实测结果如实记录,不再把 16bit 标成 Hi-Res (@qwex888)
-
修复「最高可用」却下到假无损的问题:此前只要音源声称 flac24bit 就被当成无损采纳,实测有音源声明 flac24bit 实际只有 320kbps 的 mp3。现在按「体积 ÷ 时长」实测码率挑选真正质量最好的音源,并用内容魔数识破 mp3 冒充无损 (@qwex888)
-
试听失败的提示改为说明已试过多少个音源/音质组合;点「重试」会从断点继续,不会重头再试同一批音源 (@qwex888)
-
修复「遇到试听片段就立刻放弃」的问题:以前只试第一个能取到链接的音源,发现是试听就直接报错,即使后面还有能给完整文件的音源也不会去试。现在会自动换音源、换音质档位继续尝试,一轮试完才如实报错 (@qwex888)
技术溯源
(无法解析上一版本 tag,略过 commit 列表)
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.5.3
docker pull ghcr.io/qwex888/miyin:0.5.3飞牛 FPK(x86 + ARM 胖包)
miyin-v0.5.3.fpk— 应用中心手动安装
觅音 v0.5.2
[0.5.2] - 2026-09-20
Fixed
-
单曲与批量入队接口校验音质枚举,非法音质直接拒绝,不再产生必然失败的下载任务 (@qwex888)
-
歌单匹配对全括号标题、空歌手段的候选不再误加分,降低匹配错曲概率 (@qwex888)
-
取消下载任务后,取链/写元数据等滞留流程不再把任务复活为运行或完成状态 (@qwex888)
-
开启口令鉴权但未配置 SESSION_SECRET 时,会话密钥改为启动期随机生成,不再回退到固定默认值,防止伪造会话 (@qwex888)
-
修复下载后封面嵌入:
metadataService漏导readFileSync,封面 JPEG 转换结果校验抛错被吞掉,导致有img的曲目只写了标签却没有内嵌封面 -
酷我 / QQ 搜索与专辑详情、以及歌单直通入队时,会把封面写入
musicInfo.img,下载后可正确嵌入专辑封面 -
检查到应用有新版本后,设置导航红点与版本旁「有更新」提示会正确保留;仅「忽略此版本」会隐藏提醒(「稍后再说」只关弹窗)
-
首次进入应用(已登录或开放模式)会自动请求更新检查并显示设置角标;登录成功后也会补检
Added
- 单曲搜索结果支持多选批量下载,可全选已加载结果或逐条勾选后一次入队(超过 100 首需二次确认) (@timor-m)
技术溯源
(无法解析上一版本 tag,略过 commit 列表)
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.5.2
docker pull ghcr.io/qwex888/miyin:0.5.2飞牛 FPK(x86 + ARM 胖包)
miyin-v0.5.2.fpk— 应用中心手动安装
觅音 v0.5.1
[0.5.1] - 2026-09-15
Added
-
试听栏展开/收起按钮在播放中会显示轻微边框波纹动效,便于识别当前正在试听 (@qwex888)
-
试听栏全局显示(切换页面保持播放),支持收起/展开、底部留白防遮挡,以及可拖动进度条;展开/收起为仅箭头样式 (@qwex888)
-
专辑下载可勾选「按文件夹归档」并配置文件夹命名(默认
{album},写入服务端设置);歌单不自动建夹(@larryzbo) -
搜索页单曲/专辑支持触底自动加载更多(各平台统一每页 30 条);空页、不满一页或请求失败时停止,避免无限重试 (@Andyong8901)
-
本地可自动下载官方 fnpack(
pnpm download:fnpack/pnpm build:fpk),并同步带版本号的.fpk到dist/(@timor-m, PR #24)
Fixed
-
尝试修复 iOS 15 访问页面空白:将 Vite 构建目标设为
safari15,以关闭 Nuxt#entryimportmap(需真机验证)(@qwex888) -
为 iOS 15.0–15.3 补齐
Object.hasOwn/findLast*polyfill,避免 Nuxt payload 解析阶段白屏(@timor-m, PR #24) -
试听取链中展示「取链中…」,切换曲目或关闭时取消上一请求并停止缓冲 (@qwex888)
-
网易/QQ/酷狗歌单解析补全 musicInfo,支持同平台 id 直通入队,避免二次搜索失败导致队列为空;批量入队无可用音源时不再假成功 (@qwex888)
Changed
-
专辑详情曲目列表改为虚拟滚动(弹性高度 + 最小 400px 兜底),超大合集滚动更顺畅
-
音源更新提示整条可点(可一键更新则更新,否则打开说明),并将一键更新/打开说明提到提示旁始终显示;操作列仍保留 (@qwex888)
-
接入 @vueuse/nuxt,底部导航用 useScreenSafeArea 适配多机型安全区 (@qwex888)
技术溯源
(无法解析上一版本 tag,略过 commit 列表)
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.5.1
docker pull ghcr.io/qwex888/miyin:0.5.1飞牛 FPK(x86 + ARM 胖包)
miyin-v0.5.1.fpk— 应用中心手动安装
觅音 v0.5.0
[0.5.0] - 2026-09-02
Added
- 歌单解析支持酷我(kw)链接(含
m.kuwo.cn/newh5app/playlist_detail/{id}),分页拉全曲目 - 专辑搜索/详情:补充 mock fetch 的 service 与路由等价路径测试(含 kg/kw 分页与硬顶)
- 设置页分为「基础设置 / 访问口令」两个 Tab;访问口令修改(须校验当前口令,可留空切回开放模式)立即生效,无需重启。优先级:应用内设置 > Docker
-e/ 飞牛安装向导;FPK 同步写入miyin.env - 搜索页支持「单曲 / 专辑」切换:可按专辑名搜索(wy / tx / kw / kg),进入专辑详情后多选或一键整专入队下载
- 单曲详情增加「查看专辑」跳转(携带 albumId 时直达整专曲目列表)
- 专辑/歌单批量入队结果弹窗:失败项按原因分组汇总,支持重试失败项;查看队列时可按 batchId 筛选同批任务
- CHANGELOG 与 Release 分工:
[Unreleased]仅用户可感知摘要;发版 Release Notes 自动附 git tag 区间 commit 溯源;新增pnpm changelog:add辅助写入 - CI:PR 策略检查(禁止二进制/超大文件、业务变更须更新 CHANGELOG);PR 模板与按路径自动打 label
- 贡献指南:PR 流程、fork 首次需 Approve workflows、分支保护配置说明(合并仍须维护者人工确认)
- 单元测试:新增
tests/platformSearchVar.test.ts,覆盖wy、kw、kg、tx全部 4 个音乐平台的搜索适配器变量声明与返回结构完备性测试 - 队列与健康检查:暴露
/api/health实时内存指标(rssMb、heapUsedMb、heapTotalMb)与/api/downloads/stats队列聚合统计接口 - 队列失败 Tab:选中任务后可「批量换音质」「批量换源」(全选也可用);H5 工具栏双列自适应
- 音源批量导入/检测/目录与完整包导入:进度弹窗支持「立即停止」;服务端按项边界中止,已完成项保留
Changed
- 更新说明弹窗不再附带下载链接
- 登录页与设置页口令输入统一使用显/隐眼睛图标组件
- 登录页访问口令输入框支持显/隐切换(右侧眼睛图标)
- 歌单解析与匹配流程:歌单解析提取曲目基础元信息并保留原始
musicInfo,入队与下载支持快速直通通道(allowManualBypass)或匹配引擎跨平台解析,避免大歌单发起不必要的强制全量二次搜索 - Benchmark 测试门禁:为高耗时及依赖外部网络的内存/吞吐量基准测试(
tests/realPlaylistMemory.test.ts、tests/cleanPlaylistBench.test.ts、tests/benchmarkMemory.test.ts)添加describe.skipIf(!process.env.RUN_BENCHMARKS),确保默认 CI 与本地单元测试确定性且毫秒级快速通过 - 下载并发与队列调度:采用
p-queue接管任务并发与动态调度,绑定AbortController信号传递替代旧定时器循环与全局 cancel 集合,流式下载进度广播增加节流控制(250ms / 5% 变化量)
Fixed
- 酷狗超长歌单曲目偏少:改用 pubsongs
get_other_list_file(安卓签名)拉全量,避免旧special/song将 total 截断(如 988→735) - 酷狗 gcid 分享歌单(如
m.kugou.com/songlist/gcid_…)识别失败:改为经 m 站解析specialid后再拉曲目,避免跟到 www 空壳页 - 酷狗(kg)专辑详情超过单页 500 首时改为分页拉全曲目(硬顶 50 页),避免整专入队被截断;酷我(kw)专辑详情同步分页;网易/QQ 经核查为单次全量接口、请求侧无 pagesize 截断
- 队列页:下载进度 SSE 不再每次触发
/api/downloads/stats;仅在任务状态变化时防抖刷新,避免单任务下载时每秒请求数次 - 单元测试:
playlistMatchStream入队相关用例改用临时DATA_DIR,避免pnpm test向开发库./data写入Track N假任务污染下载队列 - 服务启动自愈:服务启动时自愈扫描并将残留的孤儿
status = 'running'任务重置为queued,解决应用重启后残留假运行与并发显示不准 - 取消竞态修复:修复下载任务取消与执行调度之间的竞态条件(P1-1),严密校验 DB 状态与 AbortController,防止已取消任务在 processTask 启动或执行中被错误复活为
running - 任务调度分发:优化 p-queue 任务分发机制,入队前保持 queued 状态并增加 tickWorker 互斥锁(P1-2),避免并发数设置较小时 UI 提前显示多条 running
- 跨平台搜索适配器:修复
server/services/platformSearch.ts中kw(id)、kg(hash)、tx(mid) 的局部变量声明,防止由于变量未定义导致运行时抛出ReferenceError - 音源沙箱异常治理:重构
sourceRuntime.ts中的异步拒绝守卫(rejectionGuard),使用引用计数与局部桶(Bucket)监听器及时解绑与清理引用,消除未捕获 Promise 拒绝导致的 V8 GC Root 内存泄漏 - 仓库治理:彻底移除仓库内提交的平台可执行二进制文件
packaging/fnos/bin/fnpack.exe
Changed
- 全局 viewport 禁止双指缩放(
user-scalable=no)
技术溯源
(无法解析上一版本 tag,略过 commit 列表)
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.5.0
docker pull ghcr.io/qwex888/miyin:0.5.0飞牛 FPK(x86 + ARM 胖包)
miyin-v0.5.0.fpk— 应用中心手动安装
觅音 v0.4.3
[0.4.3] - 2026-08-28
Added
- 音源页「更多」支持一键停用所有异常音源(检测失败且仍启用的项,仅停用不删除)
- 音源检测/导入进度遮罩可滚动展示实时
[source]日志;结束后需点确认关闭(列表中的失败摘要仍为短句,不含完整日志) - 顶栏增加帮助菜单:关于觅音(版本与仓库链接)、问题反馈/建议(跳转 GitHub Issues)
- 应用更新检测:发版时 CI 生成
latest.json并附到 GitHub Release;应用启动后检查更新,设置页显示版本号,有新版本时「设置」导航红点和更新日志弹窗 - 音源检测增加试取链探针:导入/检测时会用固定探针曲目调用
getMusicUrl;失败时按 DNS 失败、API 停服、Key 失效、404/500、限流、IP 封禁、脚本需升级等给出针对性last_error提示
Changed
- 下载/试听取链:最高可用与固定音质均改为「先按音质档位、再轮询全部音源」;同一档位全部失败后再降档(最高可用)或整体失败(固定音质),避免早停在低音质源
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.4.3
docker pull ghcr.io/qwex888/miyin:0.4.3飞牛 FPK(x86 + ARM 胖包)
miyin-v0.4.3.fpk— 应用中心手动安装
觅音 v0.4.2
[0.4.2] - 2026-08-17
Added
- 音源「更多 → 批量导入目录(JS)」:递归导入目录内全部
.js,名称取文件名;同名冲突可选择覆盖或跳过 - 音源批处理实时进度:文本导入 / 目录导入 / 完整包 / 检测 / 清理时展示「当前进度:【n/m】音源:[名称],状态:…」;单条超时 30s,整批超时 min(5 分钟, 条数×30s)
Changed
- 布局:窗口不滚动;主内容区(
app-main)为唯一页面级滚动;首页/音源/队列等一屏内展示,列表在区域内滚动 - 页面 Loading / 导入进度:固定在视口首屏居中(不再随超高内容居中导致要滑很久才看到)
- 单个新增:上传仅支持 1 个
.js文件;同名冲突自动改名为「名称 (2)」… - 批量脚本上传改为冲突预览(覆盖/跳过),不再自动改名
- 首页试听迷你条:播放/暂停改为可区分状态的图标按钮,并支持关闭(停止播放并清空)
Removed
- 单个新增弹窗中的「选择目录」入口(改由音源页「更多」批量导入目录)
Fixed
- 导入冲突弹窗选择覆盖后,进度遮罩被弹窗挡住:Loading 提到弹窗之上,Toast 保持更高层级
- 首页试听迷你条在桌面端被搜索结果封面遮挡(提高
.mini层级)
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.4.2
docker pull ghcr.io/qwex888/miyin:0.4.2飞牛 FPK(x86 + ARM 胖包)
miyin-v0.4.2.fpk— 应用中心手动安装
觅音 v0.4.1
[0.4.1] - 2026-08-12
Fixed
- 生产构建:平台映射改用 Nuxt
#shared别名,修复 Nitro 无法解析shared/platforms.ts导致pnpm build失败
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.4.1
docker pull ghcr.io/qwex888/miyin:0.4.1飞牛 FPK(x86 + ARM 胖包)
miyin-v0.4.1.fpk— 应用中心手动安装
觅音 v0.4.0
[0.4.0] - 2026-08-11
Fixed
- 首页飞牛授权弹窗:点「去授权」进入设置页后遮罩仍盖住设置;现会关闭弹窗,且仅在首页路由显示
- 歌单列表:KeepAlive 切到队列再返回时虚拟列表空白,需滚动才出现;切回后自动重测可见区
- 歌单入队不再写死「最高可用」:跟随页内音质选择(默认读设置中的默认音质)
- 飞牛/Docker:鉴权与目录改为优先读取进程环境变量
AUTH_TOKEN/DOWNLOAD_DIR(不再只依赖 Nuxt 的NUXT_*runtimeConfig),安装向导留空口令与自定义下载路径可真正生效 - 安装向导:填写了绝对下载路径但未切换「自定义」时,自动按 custom 写入;
cmd/main同步导出NUXT_*别名 - 退出登录时销毁 KeepAlive 页面实例、断开下载 SSE、释放飞牛 SDK,避免设置页授权 loading 卡住后重登仍残留
- 飞牛开放 API / SDK 失败改为 Toast 提示;授权相关 SDK 调用增加超时,避免遮罩一直转圈
Added
- 歌词:QQ / 酷我 / 酷狗尽量支持双语;QQ 优先旧 Base64 接口,失败再走 PlayLyricInfo + QRC 解密兜底;酷狗支持 KRC 翻译轨;咪咕在有 lrc/trc URL 时拉取
- 依赖:
qrc-decoder(MIT,纯 JS)用于 QQ QRC 解密,适配飞牛/Node 无需 native - 设置:任务启动间隔、下载间隔(秒),用于错开取链 / 上一首结束后冷静再下下一首,减轻音源批量风控
- 歌单页:音质下拉(默认跟随设置,可临时改;不改全局默认)
- 顶栏「刷新」:各页可重新拉取进入时数据(设置/歌词选项/音源列表/队列等),KeepAlive 会话内的搜索结果、歌单预览等操作态仍保留
- 音源:统一新建/编辑弹窗,支持 URL、拖拽/选文件/选目录上传,以及直接编辑本地 JS(含 Key,不落库)
- 音源:导出/导入完整包 zip(
manifest.json+ 脚本);导入冲突时可选择覆盖或跳过 - 全局 Toast 提示(成功 / 失败 / 警告 / 信息):顶部居中,适配亮暗色与移动端;队列多任务失败不刷 Toast,仅行内展示
- 页面级 Loading 遮罩(半透明挡交互):搜索、歌单解析/入队、队列/设置/音源加载与批量操作
- 歌单「匹配确认」改为弹窗(桌面居中 / 移动端底部抽屉),避免沉在页面底部不易发现
- 歌单「入队结果」改为确认式弹窗,可一键跳转下载队列
- 下载队列失败任务支持「换音质」:仅本任务重下,不改全局默认、不记忆选择
- 飞牛 FPK:接入应用共享目录授权(
@trimjs/web-app+trim.file.sharedAccess);设置页支持「选择并授权目录」「授权当前路径」,首页对未授权自定义目录显示轻提示 - 飞牛:独立浏览器授权回调页
/fnos-auth-callback;后端GET /api/fnos/dir-auth、POST /api/fnos/download-dir(写入miyin.env并提示重启)
Changed
- 设置页歌词说明改为各平台尽量合并双语(不限网易云);内嵌仍依赖 ffmpeg
- 搜索页音质下拉默认值改为读取设置中的默认音质(仍可临时改)
- QQ 搜索结果写入
songid,便于歌词新接口取数字 ID - 首页飞牛目录未授权提示由顶栏条改为遮罩弹窗(桌面居中 / 移动端底部抽屉),突出「去授权 / 稍后提醒」
NuxtPage绑定pageSession:会话内仍 keepalive,退出登录后强制重建页面- 音源列表:移动端行内操作改为「···」展开面板;桌面端仍常显启用/编辑/删除
- 音源列表 URL 固定 80px 宽、最多两行省略显示
- 音源页工具栏收敛为「单个新增 / 删除选中 / 更多」;文本导入、完整包导入导出、检测全部、清理失效收入更多面板;行内保留启用、编辑、删除
- 飞牛
os_min_version提升至1.2.0401,manifest声明micro_app=true;安装/配置向导说明改为引导应用内一键授权(系统应用设置仍为兜底) - 飞牛桌面 UI 图标
app/ui/images/icon_{64,128,256}.png改为不透明白底,与ICON_256.PNG一致;render-brand-assets.sh同步默认导出白底 .gitignore:运行时目录改为仅忽略仓库根/downloads/、/data/,并忽略本地.cursor/rules/
Fixed
- 音源检测:按
/api/sources/check返回的 status/error 提示(不可用时错误 Toast,不再一律「检测完成」成功) - 音源「更多」下拉面板背景改为实色
var(--surface)(原先误用 HSL 分量--card,暗色下透明叠字) - SSR:
@trimjs/web-app改为客户端动态导入,避免服务端求值读window导致路由导航失败(window is not defined) - 下载目录不可写时入队直接返回明确错误「无下载目录写入权限」(含 Docker/飞牛挂载场景的实际写探针);写入失败任务不再静默/盲目重试
- 飞牛 FPK:
server/api/downloads/**曾被downloads/忽略规则误伤而未打进包,导致/api/downloads与 SSE/events404、队列始终为空;现已恢复路由纳入版本库
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.4.0
docker pull ghcr.io/qwex888/miyin:0.4.0飞牛 FPK(x86 + ARM 胖包)
miyin-v0.4.0.fpk— 应用中心手动安装
觅音 v0.3.0
[0.3.0] - 2026-08-08
Added
- 音源:统一新建/编辑弹窗,支持 URL、拖拽/选文件/选目录上传,以及直接编辑本地 JS(含 Key,不落库)
- 音源:导出/导入完整包 zip(
manifest.json+ 脚本);导入冲突时可选择覆盖或跳过 - 全局 Toast 提示(成功 / 失败 / 警告 / 信息):顶部居中,适配亮暗色与移动端;队列多任务失败不刷 Toast,仅行内展示
- 页面级 Loading 遮罩(半透明挡交互):搜索、歌单解析/入队、队列/设置/音源加载与批量操作
- 歌单「匹配确认」改为弹窗(桌面居中 / 移动端底部抽屉),避免沉在页面底部不易发现
- 歌单「入队结果」改为确认式弹窗,可一键跳转下载队列
- 下载队列失败任务支持「换音质」:仅本任务重下,不改全局默认、不记忆选择
- 飞牛 FPK:接入应用共享目录授权(
@trimjs/web-app+trim.file.sharedAccess);设置页支持「选择并授权目录」「授权当前路径」,首页对未授权自定义目录显示轻提示 - 飞牛:独立浏览器授权回调页
/fnos-auth-callback;后端GET /api/fnos/dir-auth、POST /api/fnos/download-dir(写入miyin.env并提示重启)
Changed
- 音源列表:移动端行内操作改为「···」展开面板;桌面端仍常显启用/编辑/删除
- 音源列表 URL 固定 80px 宽、最多两行省略显示
- 音源页工具栏收敛为「单个新增 / 删除选中 / 更多」;文本导入、完整包导入导出、检测全部、清理失效收入更多面板;行内保留启用、编辑、删除
- 飞牛
os_min_version提升至1.2.0401,manifest声明micro_app=true;安装/配置向导说明改为引导应用内一键授权(系统应用设置仍为兜底) - 飞牛桌面 UI 图标
app/ui/images/icon_{64,128,256}.png改为不透明白底,与ICON_256.PNG一致;render-brand-assets.sh同步默认导出白底 .gitignore:运行时目录改为仅忽略仓库根/downloads/、/data/,并忽略本地.cursor/rules/
Fixed
- 音源检测:按
/api/sources/check返回的 status/error 提示(不可用时错误 Toast,不再一律「检测完成」成功) - 音源「更多」下拉面板背景改为实色
var(--surface)(原先误用 HSL 分量--card,暗色下透明叠字) - SSR:
@trimjs/web-app改为客户端动态导入,避免服务端求值读window导致路由导航失败(window is not defined) - 下载目录不可写时入队直接返回明确错误「无下载目录写入权限」(含 Docker/飞牛挂载场景的实际写探针);写入失败任务不再静默/盲目重试
- 飞牛 FPK:
server/api/downloads/**曾被downloads/忽略规则误伤而未打进包,导致/api/downloads与 SSE/events404、队列始终为空;现已恢复路由纳入版本库
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.3.0
docker pull ghcr.io/qwex888/miyin:0.3.0飞牛 FPK(x86 + ARM 胖包)
miyin-v0.3.0.fpk— 应用中心手动安装
觅音 v0.2.1
[0.2.1] - 2026-08-07
Fixed
- CI:适配 pnpm 11,将
onlyBuiltDependencies迁移为pnpm-workspace.yaml的allowBuilds,修复ERR_PNPM_IGNORED_BUILDS - FPK 打包:server 目录改用独立
npm install,避免被仓库根pnpm-workspace吸走导致找不到better-sqlite3/prebuilds
Changed
main分支规则:合入 PR 必须通过test-and-build;发版工作流先跑同一套检测再推镜像 / 打 FPK- 新增
pnpm release/scripts/release.sh一键打 tag 触发 Docker + FPK Release
产物
Docker(linux/amd64 + linux/arm64)
docker pull qwex333/miyin:0.2.1
docker pull ghcr.io/qwex888/miyin:0.2.1飞牛 FPK(x86 + ARM 胖包)
miyin-v0.2.1.fpk— 应用中心手动安装