Commit Graph

6099 Commits

Author SHA1 Message Date
jxxghp
a15b8542ea feat(music): 识别接口支持 MusicBrainz 数据源
- 选择 musicbrainz 数据源时非音频标题按音乐元数据解析
- 支持 艺术家 - 曲名 格式拆分艺术家后检索 MusicBrainz
2026-08-10 23:30:57 +08:00
jxxghp
52820af6d8 feat(indexer): API 站点支持音乐搜索(馒头/杜比/海胆/Rousi Pro/SunnyPT)
- MTorrentSpider 新增音乐分类(406 Music(音樂)),音乐搜索不再误用电影分类
- HddolbySpider 新增音乐唱片分类(408),演唱会视频(406)不计入音乐
- HaiDanSpider 新增 HQ Audio 音乐分类(408),并修复解析时从响应顶层取 category 恒为空的既有问题
- RousiSpider 支持 music 分类参数与结果标记,分类 ID 映射补充 5->music
- SunnyPTSpider 分类映射与结果解析通用支持 music 媒体类型
- 新增对应站点 spider 音乐搜索单测
2026-08-10 22:33:18 +08:00
jxxghp
60dc01694f feat(search): 搜索流事件携带过滤前候选资源数 candidate_items
标题搜索流逐批过滤导致候选数丢失,媒体搜索流最终事件补充候选数,供前端在候选全部被过滤规则淘汰时给出友好提示。Closes jxxghp/MoviePilot-Frontend#646
2026-08-10 21:41:04 +08:00
jxxghp
a322c4c375 feat(media): 媒体信息补充 TVDB slug 字段,修复 TheTvDb 数字 ID 链接 404
TVDB 已弃用数字 ID 直达 URL,仅 slug 形式可访问。详情接口在电视剧有 TVDB ID 时通过轻量 get_series 接口获取 slug,并随 MediaInfo 合并下发。Closes jxxghp/MoviePilot-Frontend#643
2026-08-10 21:41:04 +08:00
jxxghp
4a14af706c feat(dashboard): 媒体统计新增音乐本月新增数量
- monthly_media_statistics 纳入音乐整理记录,按曲目计数并按媒体 ID 去重
- Statistic 新增 music_count_month 字段,仪表板统计接口一并返回
2026-08-10 20:33:25 +08:00
jxxghp
24a5102aa8 refactor(music): 重命名 helper/music_name.py 为 helper/music.py 2026-08-10 20:16:00 +08:00
jxxghp
07ea99442e feat(music): 增强无标签音频识别,支持文件名/目录解析与专辑级匹配
- 新增 MusicNameParser:剥离曲序/碟号前缀、拆分歌手与曲名、解析专辑目录名(歌手/专辑/年份/音质)和 CD1 等碟片目录
- MetaInfoPath 与 MusicChain.read_path_meta 接入路径上下文,WAV 及标签不全的 FLAC/MP3 可补齐识别线索
- MusicBrainz 新增 match_music_album:按专辑名/歌手/曲名搜索候选发行版本,用曲目数、总时长、逐曲时长和曲名重合度打分对位
- MusicChain 新增 recognize_album_directory 目录级批量识别(按目录缓存),单曲识别未命中时自动兜底
- transfer 整理链路接入专辑匹配,命中后回填曲目身份用于重命名与刮削
2026-08-10 20:11:23 +08:00
jxxghp
85a7f98a94 fix(feishu): 修复群聊@回复发私聊及无目标通知报错 (#6262)
- 回复类消息携带 original_chat_id 时优先发回原会话,避免群聊@机器人的回复错误发送到私聊窗口
- update_or_post_message 编辑失败回退发新消息时保留原消息/会话上下文
- 无显式目标且未配置默认目标时,回退向最近互动过的会话广播发送(与企业微信策略一致)
- 仍无可用目标时报出含配置指引的明确错误(FEISHU_OPEN_ID/FEISHU_CHAT_ID)

Closes #6262
2026-08-10 18:18:48 +08:00
Yang Feng
16840c6767 fix(subscribe): 修复 RSS 媒体 ID 误识别跳过 (#6266) 2026-08-10 17:55:46 +08:00
jxxghp
5acd8ab514 fix(notify): scope album title aggregation to notifications only 2026-08-10 14:34:58 +08:00
jxxghp
1d75826549 fix(notify): use album title in music batch notifications 2026-08-10 14:04:19 +08:00
jxxghp
d72ed5ed8e feat(v3): move notification templates into DB migration and support music notifications 2026-08-10 13:23:20 +08:00
jxxghp
75e56d8e9a feat(music): add audio quality workflow 2026-08-10 10:23:02 +08:00
jxxghp
b3b376f2b1 feat(agent): complete music workflow support 2026-08-10 08:11:54 +08:00
jxxghp
1fc255b8a7 fix(music): complete subscription lifecycle 2026-08-10 07:21:06 +08:00
jxxghp
5572b2dc64 fix(music): separate album and recording subscriptions 2026-08-09 23:30:31 +08:00
jxxghp
aa4023e0a5 feat(music): scrape lyrics during library import 2026-08-09 22:22:31 +08:00
jxxghp
d03307b687 fix(monitor): 优先按目录配置识别音乐 2026-08-09 21:19:43 +08:00
jxxghp
393a4ca4e2 feat(music): complete album subscription workflow 2026-08-09 20:43:33 +08:00
jxxghp
a94202a28d fix: restore unit test gate 2026-08-09 19:01:33 +08:00
jxxghp
53a169d955 fix: preserve all recognized resource types 2026-08-09 18:41:54 +08:00
jxxghp
36666313b7 feat: 按媒体类型筛选搜索站点 2026-08-09 18:12:29 +08:00
jxxghp
1f8d4adba0 fix: preserve Remux in UHD BluRay resource type 2026-08-09 18:05:02 +08:00
jxxghp
9d781d33c2 fix: 恢复本地音频标签识别 2026-08-09 17:05:36 +08:00
jxxghp
5c7e09d407 fix(monitor): 修正远程快照文件数量累计 2026-08-09 16:37:25 +08:00
jxxghp
15c73240ac fix(download): apply custom words to torrent episodes (#6234) 2026-08-09 16:32:12 +08:00
jxxghp
e6d7d57e6f fix(agent): 修正 OpenAI 兼容 API Key 提示 (#6243) 2026-08-09 16:15:14 +08:00
jxxghp
964e3c0b8e test: 补充 AListGo 与特典整理回归验证 2026-08-09 14:53:13 +08:00
naughtyGitCat
3eed518f83 fix(transhandler): suppress noisy error notification for TV special and extra sample files without episode numbers
BD-BOX releases for Anime and TV shows frequently contain extra non-episode video files (such as NCOP, NCED, Menu, PV, CM, SP, Event, Logo, etc.). When transferring these single files, the lack of an episode number previously logged a warning and triggered a noisy '整理失败:未识别到文件集数' notification to users.

This change identifies known special/extra file patterns when begin_episode is None, logs them at INFO level, and suppresses the error notification while returning success to avoid false-positive failure alerts.
2026-08-09 14:48:18 +08:00
okatu-loli
2bf2d89c52 fix(storages): 令牌缓存失效范围限定为当前存储凭据 2026-08-09 14:48:18 +08:00
okatu-loli
7650ec5cef feat(storages): 新增 AList 存储类型 2026-08-09 14:48:18 +08:00
jxxghp
c312c5c0e6 Fix 修复音乐整理 2026-08-09 14:32:25 +08:00
jxxghp
29f1eb4313 feat: 统一音乐识别与影视共享上报,优化相关参数处理 2026-08-09 13:23:26 +08:00
LLL001a
391f7880f4 feat: 支持配置音乐封面代理地址 (#6258)
* feat: 支持配置音乐封面代理地址

* fix: 规范化音乐封面代理地址,去除尾随斜杠
2026-08-09 12:42:20 +08:00
jxxghp
372b9bc60f feat: 优先使用当前文件标签作为曲目标题,避免重名问题 2026-08-09 11:56:37 +08:00
jxxghp
0c1b9c0416 fix: 订阅年份写库前转为字符串,避免音乐订阅时报类型错误
音乐识别链路返回的年份是数字,而订阅表 year 列为字符串,
直接写入会导致 PostgreSQL 严格类型检查失败(expected str, got int)。
在 SubscribeOper 写库前统一做字符串归一化,并补充回归测试。
2026-08-09 11:25:21 +08:00
jxxghp
8d71bcbddd fix: 修复音乐搜索统一入口参数名不匹配导致 500
/media/search?type=music 调用 MusicChain.async_search 时应传 query 关键字参数,
原实现误传 title 导致 TypeError;补充端点回归测试。
2026-08-09 10:54:11 +08:00
jxxghp
60aa762ca1 feat: 音乐识别与刮削统一入口整合
- 音乐识别统一走 recognize_media,移除 MusicChain.recognize/async_recognize 及 /music/search 独立端点
- 音乐刮削收拢到 MediaChain.scrape_music_metadata,消除 MusicChain 对 MediaChain 的嵌套引用
- MetaInfo/MetaInfoPath 增加 force_video 参数,影视附加音轨保留季集归属
- 整理、订阅、搜索、API 层音乐识别入口全部统一
2026-08-09 10:06:54 +08:00
jxxghp
7797d34c48 feat: 识别文件类型:音乐 2026-08-08 23:38:34 +08:00
jxxghp
4570a7b74a feat: 修复插件市场空白和API缓存 (#6253) 2026-08-08 21:40:06 +08:00
jxxghp
415ccda6a2 feat(v3): enhance music server integration with Navidrome support 2026-08-08 12:57:09 +08:00
jxxghp
c356d47807 fix(v3): complete music recognition and scraping 2026-08-07 23:46:54 +08:00
jxxghp
05d15a04f5 feat(v3): add music automation workflow 2026-08-07 21:50:22 +08:00
jxxghp
c6bd396794 Improve agent file reading and structured LLM summaries 2026-08-07 13:31:39 +08:00
jxxghp
7985268f10 fix(agent): emit web tool status immediately 2026-08-07 13:01:47 +08:00
jxxghp
865635c59d perf(agent): optimize web SSE streaming 2026-08-07 12:45:36 +08:00
jxxghp
759b9e47eb fix(transfer): expire stale jobs and deduplicate diagnostics 2026-08-07 12:44:04 +08:00
jxxghp
63e492be7c fix(agent): report only meaningful progress milestones 2026-08-07 11:27:36 +08:00
jxxghp
b80642f56f fix(agent): decouple progress prompt from tool display 2026-08-07 07:17:27 +08:00
jxxghp
6d3161f3cb fix(agent): align progress updates with Codex cadence 2026-08-07 07:01:03 +08:00