Commit Graph
81 Commits
Author SHA1 Message Date
jxxghp 7bc5e01afd refactor: expand async and type safety gates 2026-08-22 13:21:52 +08:00
jxxghp 97d2dcd7fb fix(ci): align architecture and pylint gates 2026-08-22 08:50:25 +08:00
jxxghp 5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp 8f94fd620d Merge branch 'v3' of https://github.com/jxxghp/MoviePilot into v3
# Conflicts:
#	tests/fixtures/architecture/runtime-contract-baseline.json
#	uv.lock
2026-08-22 07:21:20 +08:00
InfinityPacer 3a5947cc88 feat: 升级 V3 默认运行时至 Python 3.14 与 Debian Trixie (#6382) 2026-08-22 07:16:35 +08:00
jxxghp 1b253510e1 ci: block new async blocking calls 2026-08-21 22:29:19 +08:00
jxxghp dd246fe045 ci: enforce complexity reduction ratchet 2026-08-21 22:23:37 +08:00
jxxghp c0b31bddb6 refactor: register event delivery contracts 2026-08-21 21:29:52 +08:00
jxxghp b9ad5220ae refactor: define module contract v2 2026-08-21 21:25:35 +08:00
jxxghp ff0ce8d1c1 refactor: add configuration dependency ratchet 2026-08-21 21:20:56 +08:00
jxxghp de2957b9de refactor: add transaction ownership ratchet 2026-08-21 20:16:30 +08:00
jxxghp dd1c4c3279 refactor: unify database readiness lifecycle 2026-08-21 20:07:07 +08:00
jxxghp 6c7c54d2c1 ci: enforce backend architecture contracts 2026-08-21 19:33:11 +08:00
jxxghp 37c442b042 refactor: separate semantic architecture baselines 2026-08-21 19:28:31 +08:00
jxxghp 7bc3ea831f refactor: scope architecture baseline operations 2026-08-21 19:21:27 +08:00
InfinityPacer 2d80f9f04f fix(plugins): preserve dependency manifest sources (#6370) 2026-08-20 20:51:35 +08:00
InfinityPacer 23f5d59c74 feat: 使用 uv 锁定主程序依赖并强化插件恢复边界 (#6364) 2026-08-20 12:17:19 +08:00
InfinityPacer 2b3766e86e feat: 数据库迁移前自动备份 (#6360) 2026-08-19 18:35:56 +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
InfinityPacer 5b367011c5 refactor(agent): 按需加载 Agent 运行时 (#6336) 2026-08-16 19:25:24 +08:00
InfinityPacer b8b59ae20a refactor(runtime): activate managed resources on demand (#6334) 2026-08-16 16:44:45 +08:00
InfinityPacer 24671f8f18 refactor(runtime): lazily activate host modules (#6331) 2026-08-16 16:07:38 +08:00
Aqr-K 8a11214a43 refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320) 2026-08-15 06:58:38 +08:00
jxxghp 794bcfdfeb fix(ci): isolate plugin market snapshot generator 2026-08-14 21:29:15 +08:00
jxxghp 369d7d6448 refactor: reorganize backend module boundaries 2026-08-14 19:53:33 +08:00
jxxghp 7b3444c366 refactor backend module architecture 2026-08-14 15:45:38 +08:00
jxxghp ca32922a7f refactor(media): unify media identity and chain responsibilities 2026-08-12 18:31:09 +08:00
jxxghp f09f81df72 refactor(music): 音乐识别核心下沉 MetaMusic 并优化 MusicBrainz 检索
- 标题解析核心从 app/helper/music.py 迁移到 MetaMusic(apply_title),
  删除 music helper,metainfo/chain 调用点切换
- 解析增强:全角归一、场景点分命名、年份区间双模式、日期前缀、
  视频标记剔除、VA 合辑署名归一、尾部年份提取、CJK 连字符拆分
- MusicBrainz 性能:全局 Session keep-alive 复用(6.3s→0.35s/请求),
  无艺术家线索时跳过专辑回退检索
- 候选挑选支持冒号副标题弱匹配,检索式剥离尾部年份减少无效检索
- 测试:test_metamusic 32 案例、musicbrainz 弱匹配/检索式新用例
2026-08-11 08:18:27 +08:00
jxxghp 0252b27b72 ci(v3): publish isolated docker images 2026-08-07 22:14:34 +08:00
jxxghp 05d15a04f5 feat(v3): add music automation workflow 2026-08-07 21:50:22 +08:00
jxxghp 7fe7be6d71 feat(plugin): sync default markets from wiki at release 2026-08-06 09:15:30 +08:00
jxxghp a23ac6c56d feat: 支持模型服务端联网搜索 2026-08-05 19:19:26 +08:00
jxxghp e011b20210 add start-local.sh 2026-07-29 16:54:00 +08:00
InfinityPacer 2056aa0b2c fix(startup): keep systemd autostart services alive (#6149) 2026-07-20 06:54:09 +08:00
jxxghp 8e60e5571b fix: support Windows collector console encoding 2026-07-12 16:30:30 +08:00
jxxghp 18c1ec4b82 feat: add standalone site adapter collector 2026-07-12 13:51:07 +08:00
jxxghp db9960d9b9 refactor: enhance customization and streaming platform handling 2026-07-06 09:33:49 +08:00
InfinityPacer 724b4a59d5 fix(docker): scope package proxy env (#5991)
* Revert "Add NO_PROXY defaults to Docker proxy setup"

This reverts commit 109be58abe.

* fix(docker): scope package proxy env
2026-06-23 20:47:43 +08:00
jxxghp 109be58abe Add NO_PROXY defaults to Docker proxy setup 2026-06-23 20:22:40 +08:00
jxxghp c1cefa3f40 Rename package installer helper to package 2026-06-23 13:45:55 +08:00
InfinityPacer 0c53fb86fd feat(deps): add uv-backed package installer (#5987)
* feat(deps): add uv-backed package installer

* feat(deps): support package cache root
2026-06-23 13:36:15 +08:00
jxxghp c33c62b938 refactor: use external moviepilot rust package 2026-05-25 20:52:53 +08:00
jxxghp dc73d61682 feat: add china operator llm providers 2026-05-24 09:30:41 +08:00
jxxghp 0bf228d29d perf: optimize rust acceleration paths
Rust vs Python benchmark results:

- RSS: Rust 0.299 ms/loop vs Python 7.913 ms/loop, 26.47x faster

- Filter: Rust 12.740 ms/loop vs Python 57.187 ms/loop, 4.49x faster

- MetaInfo: Rust 64.680 ms/loop vs Python 316.158 ms/loop, 4.89x faster

- Indexer agsvpt: Rust 145.76 ms vs Python 3686.50 ms, 25.29x faster

- Indexer pttime: Rust 166.51 ms vs Python 4019.87 ms, 24.14x faster

- Indexer chdbits: Rust 161.17 ms vs Python 3604.28 ms, 22.36x faster

- Indexer iptorrents: Rust 77.82 ms vs Python 17615.52 ms, 226.36x faster

Validation:

- cargo fmt/check/test for rust/moviepilot_rust

- pytest Rust-related coverage: tests/test_rust_accel.py tests/test_torrent_filter.py tests/test_metainfo.py tests/test_indexer_spider_search_url.py tests/test_workflow_fetch_rss.py

- tests/run.py legacy suite

- pylint app/ --errors-only
2026-05-23 19:41:18 +08:00
jxxghp ed0f8c471b feat: accelerate metainfo parsing with rust 2026-05-23 17:45:39 +08:00
jxxghp ad38f51d6b feat: accelerate rss parsing with rust 2026-05-23 16:14:47 +08:00
jxxghp d1e2881347 feat: accelerate site indexer parsing with rust 2026-05-23 15:59:20 +08:00
jxxghp 5f0ae3a75e 删除 benchmark_rust_accel.py 2026-05-23 10:57:28 +08:00
jxxghp 4de4044a3e feat: accelerate RSS parsing with Rust 2026-05-22 21:31:18 +08:00