Commit Graph

49 Commits

Author SHA1 Message Date
jxxghp
4955b7b9ea fix: harden backend isolation and execution safety 2026-10-16 09:11:28 +08:00
ChantXu64
e5e2558585 feat(search): 订阅补全逐页搜索、断点续搜与资源页手动分页 (#6907) 2026-10-07 14:40:55 +08:00
thsrite
4395ddecf2 feat(mediaserver): 内置媒体服务 MediaVault 更名为 Vyo
主项目更名为 Muvyo,内置媒体服务更名为 Vyo。模块目录、文件、类名、模块 ID、枚举、
名称描述、日志与文档统一改为 Vyo;配置类型值 mediavault 保持不变,
已保存的媒体服务器配置无需迁移。
2026-09-30 19:46:09 +08:00
jxxghp
ae1187bd3f feat(module): add dynamic module switches and catalogs 2026-09-11 10:31:53 +08:00
jxxghp
02686ed674 feat(search): merge music artists into person search 2026-09-10 09:02:17 +08:00
jxxghp
53f7012b6b feat(music): add AMLL TTML lyrics source 2026-09-09 23:53:30 +08:00
jxxghp
17eaf47c34 refactor(music)!: remove Musixmatch and expose lyrics plugin types
BREAKING CHANGE: remove the Musixmatch module and settings without migration. Lyrics providers can use the public music candidate SDK and existing plugin module hook.
2026-09-09 23:04:20 +08:00
jxxghp
d0c894f5eb fix(transfer): close durable error recovery loop 2026-09-08 22:38:59 +08:00
thsrite
d04b721f84 feat(mediaserver): 新增 MediaVault 自建媒体库模块
通过 MediaVault 管理端口的原生接口接入自建媒体库,凭据为管理面板的长效 API Key:

- 媒体库列表、条目分页遍历、条目详情与总数
- 按标题/年份/媒体身份判断电影与剧集存在性,季集齐全度与季集条目 ID
- 数量统计、最近入库、继续观看、封面与背景图直链、播放地址
- 入库后按目标路径命中媒体库并排队后台扫描,未命中时回退全库扫描
- 用 MediaVault 账号完成 MoviePilot 用户认证

MediaVault 无音乐库也不外发 Webhook,get_music 与 webhook_parser 不实现;
图片直链自带 API Key,无需 mediaserver_image_cookies。

同时把 mediavault 接入 mediaserver-operation Agent Skill 的 provider 清单。
2026-09-07 13:49:10 +08:00
InfinityPacer
43af5b5282 fix(module): bind config reload to module manager (#6568) 2026-09-04 01:34:29 +08:00
jxxghp
71147c1d96 feat(classification): support multi-source media rules 2026-09-03 11:51:18 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
23bff6b2bb refactor: add durable transfer planning checkpoints 2026-08-27 13:16:33 +08:00
jxxghp
e02418bace feat(media): aggregate aliases from enabled metadata sources 2026-08-26 13:45:03 +08:00
jxxghp
574c50586e feat(music): 完善歌词与专辑目录整理 2026-08-25 21:02:26 +08:00
jxxghp
52fd495d38 refactor: normalize downloader file contracts 2026-08-24 02:10:04 +08:00
jxxghp
83318b12c0 refactor: enforce module fanout contracts 2026-08-24 02:02:01 +08:00
jxxghp
19653b1437 refactor: type recognition module contracts 2026-08-24 01:58:36 +08:00
jxxghp
3e4e182ff9 refactor: type routed module contracts 2026-08-24 01:55:27 +08:00
jxxghp
9712803b8d refactor: type music module contracts 2026-08-24 01:50:01 +08:00
jxxghp
f655051c85 refactor: unify tmdb query contracts 2026-08-24 01:47:47 +08:00
jxxghp
488b3667bb refactor: unify anilist module contracts 2026-08-24 01:45:49 +08:00
jxxghp
903d1d3c4d refactor: unify bangumi module contracts 2026-08-24 01:44:06 +08:00
jxxghp
ce27732064 refactor: unify douban module contracts 2026-08-24 01:42:34 +08:00
jxxghp
8f6456be6c refactor: unify discovery module contracts 2026-08-24 01:40:39 +08:00
jxxghp
c41492e56c refactor: type host lookup contracts 2026-08-24 01:38:27 +08:00
jxxghp
bb80c10a0b refactor: type storage value contracts 2026-08-24 01:35:42 +08:00
jxxghp
e359bbace9 refactor: type media server contracts 2026-08-24 01:33:04 +08:00
jxxghp
bc8e4e75e3 refactor: unify media capability contracts 2026-08-24 01:15:09 +08:00
jxxghp
14e70208a2 refactor: type downloader action contracts 2026-08-24 01:11:47 +08:00
jxxghp
f37407d0f3 fix: merge downloader tracker mappings 2026-08-24 01:08:45 +08:00
jxxghp
b0c4809d1a refactor: type high-value module contracts 2026-08-24 01:03:57 +08:00
jxxghp
bec64887d6 refactor: enforce module aggregation contracts 2026-08-24 00:57:19 +08:00
jxxghp
e7bfc9dd43 Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	tests/fixtures/architecture/dependency-baseline.json
2026-08-23 15:44:35 +08:00
InfinityPacer
2ac61337b8 fix(async): offload synchronous plugin methods 2026-08-23 15:19:15 +08:00
jxxghp
f1e542bef0 refactor: govern background tasks and query ownership 2026-08-23 13:24:04 +08:00
jxxghp
dc9433f0de feat: observe legacy module contract hits 2026-08-23 00:11:15 +08:00
jxxghp
1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp
1a71e4809f feat: wire host database and extension metrics 2026-08-22 13:22:33 +08:00
jxxghp
7bc5e01afd refactor: expand async and type safety gates 2026-08-22 13:21:52 +08:00
jxxghp
677f6a66c2 refactor: complete host module and event contracts 2026-08-22 13:21:52 +08:00
jxxghp
c765604b36 feat(notification): add DingTalk robot channel 2026-08-22 12:02:24 +08:00
jxxghp
5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp
43cccb8ff8 feat: add low-cardinality observation port 2026-08-21 22:15:47 +08:00
jxxghp
1f656830db docs: add module quality scale 2026-08-21 21:31:42 +08:00
jxxghp
b9ad5220ae refactor: define module contract v2 2026-08-21 21:25:35 +08:00
jxxghp
8d62f33155 fix(plugin): 修复坏插件模块声明击穿模块调度导致接口大面积报错
- projection 只接受映射类型的 get_module 声明,非法值跳过并记日志
- dispatcher 同步/异步路径防御非映射方法表,单个坏插件被隔离
- media 端点改用 application 层插件运行时门面,消除分层违规依赖
- 图片能力测试打桩 models.dev 目录边界,适配仓库内离线目录留空

Closes #6346
2026-08-18 15:53:28 +08:00
jxxghp
8472bcff43 refactor: 收口 V3 分层架构与插件兼容边界 2026-08-18 13:22:02 +08:00
jxxghp
5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00