jxxghp
63b9994b0e
fix: sign media server image proxy URLs
2026-05-25 12:41:55 +08:00
jxxghp
d713ea54c1
fix: allow media server image proxy paths
2026-05-25 12:25:57 +08:00
jxxghp
766d2699ea
feat: support MiniMax audio provider
2026-05-25 11:42:57 +08:00
jxxghp
9af61c4744
ci: improve docker build cache
2026-05-25 11:10:39 +08:00
jxxghp
7c8b973f30
fix: exclude derived subscribe completion field
2026-05-25 11:04:34 +08:00
jxxghp
0fdf1fadab
更新 version.py
2026-05-25 09:14:08 +08:00
jxxghp
477c49587c
feat(agent): log tool execution result summary and truncate if too long
2026-05-25 08:50:44 +08:00
jxxghp
5532f14efb
feat(agent): inject plugin installation directory into system prompt
2026-05-25 08:21:19 +08:00
jxxghp
b08c335bb4
fix: 优化 execute_command 工具的 rm -rf 拦截逻辑,仅禁止删除根目录或一级目录
2026-05-25 08:00:35 +08:00
jxxghp
c7670e5cc8
更新 execute_command.py
2026-05-25 07:51:30 +08:00
jxxghp
a725789045
feat: add agent token provider events
2026-05-25 07:32:36 +08:00
jxxghp
5d5c95dcd8
fix: skip non-transferable monitor files
2026-05-25 06:14:02 +08:00
jxxghp
4d8c910f0d
fix: enable incomplete file suffix for downloaders
2026-05-25 05:58:05 +08:00
jxxghp
4b4b0335e8
perf: optimize episode group tag parsing
2026-05-25 05:33:26 +08:00
jxxghp
ac3432c54f
feat: support TMDB episode group (g=) in explicit media tags and custom identifiers
...
- Add episode_group (g=) parameter parsing to explicit media tags in both Python and Rust metainfo parsers
- Propagate episode_group through MetaInfo, MetaBase, MediaInfo, and context models
- Update SKILL.md and update_custom_identifiers.py docs to describe episode group usage
- Add tests for episode_group recognition in metainfo and chain recognition logic
2026-05-24 23:32:27 +08:00
jxxghp
ea52537423
更新 media.py
2026-05-24 22:50:09 +08:00
jxxghp
2b629185b9
Merge remote-tracking branch 'origin/v2' into v2
2026-05-24 22:14:24 +08:00
jxxghp
a97e3ea092
feat: improve agent execution error handling with user-friendly messages and sensitive info sanitization
2026-05-24 22:14:10 +08:00
jxxghp
7af2aa4266
更新 feishu.py
2026-05-24 22:09:29 +08:00
jxxghp
1550b75548
perf: precompile anime metadata regexes
2026-05-24 20:48:36 +08:00
jxxghp
b7f6ee12ee
fix: 强制刷新插件市场绕过远端缓存
2026-05-24 20:28:45 +08:00
jxxghp
79539760da
fix: bound long-lived cache state
2026-05-24 18:03:42 +08:00
jxxghp
dc73d61682
feat: add china operator llm providers
2026-05-24 09:30:41 +08:00
jxxghp
6430b864b4
fix: import filter module dependencies
2026-05-24 08:02:40 +08:00
jxxghp
ec588037a0
fix: restrict message commands to channel admins
2026-05-24 08:00:54 +08:00
jxxghp
0b7854a0af
fix: block private image proxy targets
2026-05-24 07:18:51 +08:00
jxxghp
0273adc61c
更新 rust_accel.py
2026-05-23 21:19:46 +08:00
jxxghp
d6472088cb
fix: correct typo in import for clear_rust_parse_options_cache
2026-05-23 20:42:52 +08:00
jxxghp
0c133b7ccd
feat: add global RUST_ACCEL toggle to enable/disable rust acceleration at runtime
...
- Introduce RUST_ACCEL config to control all rust fast paths
- Fallback to Python implementations when disabled, preserving filter semantics
- Expose rust acceleration status in system info API
- Update CLI docs to reflect new toggle
- Add tests for runtime switch and fallback behavior
2026-05-23 20:35:58 +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
222f6ce7d8
fix: expose docker venv to maturin
2026-05-23 15:51:08 +08:00
jxxghp
39d09c2956
fix: resolve docker rust toolchain path
2026-05-23 14:19:57 +08:00
jxxghp
2b531afe49
删除 frozen.spec
2026-05-23 13:15:17 +08:00
jxxghp
5a1a6b47a5
fix: remove jieba compatibility shim
2026-05-23 13:05:32 +08:00
jxxghp
134c441754
fix: replace fast jieba dependency
2026-05-23 12:59:33 +08:00
jxxghp
00fc8b2f53
chore: update text processing dependencies
2026-05-23 12:18:59 +08:00
jxxghp
5f0ae3a75e
删除 benchmark_rust_accel.py
2026-05-23 10:57:28 +08:00
jxxghp
3ebd06a3a7
perf: precompile media metadata regexes
2026-05-23 10:44:46 +08:00
jxxghp
7cbfeb2377
refactor: slim rust acceleration surface
2026-05-23 09:17:32 +08:00
jxxghp
fcbea077b7
fix: support jinja indexer parsing in rust
2026-05-23 08:07:43 +08:00
jxxghp
da54f3a302
fix: render indexer jinja fields in rust
2026-05-23 01:02:08 +08:00
jxxghp
efdb4d1b28
fix: delay transient typing indicators
2026-05-23 00:41:12 +08:00
jxxghp
9190699cd1
fix: remove choice callback status passthrough
2026-05-23 00:38:37 +08:00
jxxghp
4f107a7cc8
fix: resume agent after choice callback
2026-05-23 00:28:42 +08:00
jxxghp
b26bf2a019
fix: stop agent after user choice prompt
2026-05-23 00:15:35 +08:00
jxxghp
a74f04a149
fix: simplify message typing lifecycle
2026-05-23 00:11:56 +08:00
jxxghp
cde267c55f
feat: support indexer templates in Rust parser
2026-05-22 23:37:54 +08:00
jxxghp
f7b78721c3
fix: 统一消息 typing 生命周期
2026-05-22 22:59:20 +08:00
jxxghp
7e6cd47712
fix: 兼容低版本临时文件参数
2026-05-22 21:51:28 +08:00
jxxghp
4de4044a3e
feat: accelerate RSS parsing with Rust
2026-05-22 21:31:18 +08:00
jxxghp
052e1ca8e4
fix: handle images in Feishu streaming replies
2026-05-22 20:43:54 +08:00
jxxghp
bd4d493f34
feat: add Rust acceleration for core parsing
2026-05-22 19:58:04 +08:00
jxxghp
2b5528c0ac
fix: keep agent typing status while queued
2026-05-22 16:46:25 +08:00
jxxghp
cb15b711b9
refactor(subscribe): unify best_version episode upgrade logic and always track downloads in note
...
- Simplify and centralize logic for filtering TV episodes during best_version (wash) mode, ensuring only episodes with strictly higher priority are considered for upgrade.
- Always update subscribe.note with downloaded episodes regardless of best_version state, ensuring download history is reliably tracked and available for all subscription modes.
- Remove redundant episode_group field from subscribe dict output.
- Refactor search: remove multi-page search logic, streamline concurrent site search for both sync and async paths, and update progress reporting accordingly.
- Remove obsolete tests for allowed_episodes propagation and note tracking, as logic is now unified and simplified.
2026-05-22 12:34:13 +08:00
jxxghp
9319b47fad
refactor: use watchfiles for directory monitor
2026-05-22 09:15:18 +08:00
jxxghp
23487b7ae0
更新 version.py
2026-05-22 07:25:19 +08:00
jxxghp
fec109712b
fix: prevent duplicate Audiences unread messages
2026-05-22 07:23:41 +08:00
jxxghp
737bcb5c62
refactor(agent): move feedback issue flow into skill scripts
2026-05-21 19:22:27 +08:00
jxxghp and Claude Opus 4.7
b6b5529d19
fix: 优化TMDB搜索匹配优先级,title/original_title优先于别名匹配
...
将搜索结果匹配策略从"逐个结果完整匹配链"改为"两轮优先级匹配":
第一轮遍历所有结果只匹配title/original_title,第二轮再匹配别名译名。
避免排序靠前的无关影片因别名恰好匹配而抢先于正确结果。
Fixes #5719
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 17:47:59 +08:00
jxxghp
4c64b1769d
更新 version.py
2026-05-21 11:52:14 +08:00
jxxghp
ee9eced2f1
fix: avoid blocking event loop during plugin install
2026-05-21 09:16:42 +08:00
jxxghp
2109d323ae
refactor: merge episode format helper
2026-05-20 22:45:00 +08:00
jxxghp
fd4d162287
fix: respect OpenList directory path contract
2026-05-20 22:28:38 +08:00
jxxghp
617692616c
fix: build complete transfer result at source
2026-05-20 22:09:57 +08:00
jxxghp
014dc2884c
fix: simplify audiences unread pagination
2026-05-20 21:43:20 +08:00
jxxghp
284c272001
fix: improve audiences message pagination
2026-05-20 21:30:14 +08:00
jxxghp
0fb9d18b30
fix: keep transfer event normalization in domain
2026-05-20 21:03:33 +08:00
jxxghp
5d34bc5c56
fix: normalize transfer event targets
2026-05-20 20:49:26 +08:00
jxxghp
c52ccaf75f
feat: add plugin system version compatibility checks
2026-05-20 19:55:44 +08:00
jxxghp
c661bc4764
perf: reduce agent shell command probing
2026-05-20 18:50:59 +08:00
jxxghp
8a375e022c
feat: add video bit rename template field
2026-05-20 18:20:18 +08:00
jxxghp and Claude Opus 4.7
7cc037c683
fix: suppress garbled gzip bytes in tmdb error log
...
When Content-Encoding is present (e.g. gzip), skip logging the raw
response text to avoid unreadable binary output in logs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 18:08:10 +08:00
jxxghp
068d0af4ca
fix: remove tmdb manual gzip fallback
2026-05-20 17:09:31 +08:00
jxxghp
8f117d79f2
Revert "fix: handle tmdb gzip json responses"
...
This reverts commit 47c4e84fdd .
2026-05-20 17:03:47 +08:00
jxxghp
47c4e84fdd
fix: handle tmdb gzip json responses
2026-05-20 16:54:01 +08:00
jxxghp
e00aa42f94
fix: prevent duplicate transfer uploads
2026-05-20 16:39:07 +08:00
jxxghp
72ead2970c
fix: tolerate delayed OpenList metadata
2026-05-20 15:53:56 +08:00
jxxghp
5fe5523d13
fix: prefer rg in agent prompts
2026-05-20 15:31:02 +08:00
jxxghp
3ec0964a01
fix: handle OpenList delayed transfer metadata
2026-05-20 13:08:45 +08:00
jxxghp
a5745af484
fix: restore tmdb trending recommendations
2026-05-20 10:55:01 +08:00
jxxghp
c3e4e1a764
fix: decode raw gzip tmdb responses
2026-05-20 10:44:01 +08:00
jxxghp
b07c47551c
fix: avoid none search keyword for haidan
2026-05-20 09:51:53 +08:00
jxxghp
71dc9df7ff
fix: ignore expected module rate limits
2026-05-20 09:38:37 +08:00
jxxghp
6edb627145
fix: handle tmdb unicode decode errors
2026-05-20 09:21:36 +08:00
jxxghp
07f51c5d94
fix: handle invalid tmdb json responses
2026-05-20 09:05:18 +08:00
jxxghp
5d02550874
fix: cache available shell command discovery
2026-05-19 18:45:52 +08:00
jxxghp
2ff6474f0f
更新 version.py
2026-05-19 18:27:48 +08:00
jxxghp
c4eb4d9b95
feat: inject available shell commands into agent prompt
2026-05-19 18:16:09 +08:00
jxxghp
7866aee1de
fix: stop torrent search paging after short pages
2026-05-19 17:54:39 +08:00
jxxghp and Claude Opus 4.7
f46488cb9c
fix: Audiences站点未读消息数解析错误
...
优先使用Audiences特有的解析逻辑(从"总数/未读数"格式提取真正的未读数),
仅在匹配不到时才fallback到NexusPHP基类的通用正则,避免基类将总消息数
误判为未读数导致发送大量错误通知。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 12:55:39 +08:00
jxxghp and Claude Opus 4.7
34ff80e26c
feat: optimize scraping for multi-server compatibility
...
- Add studio, country, runtime tags to NFO generation
- Fix Fanart naming: showbackground→fanart (recognized by Jellyfin/Emby)
- Add image alias system: backdrop↔fanart, thumb↔landscape
- Merge image sources from all modules instead of first-wins
- Add CLEARART and LANDSCAPE scraping metadata types
- Extend season scraping with backdrop and landscape support
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 12:36:47 +08:00
jxxghp
195e34563d
fix: use explicit tmdb locale setting
2026-05-19 11:33:03 +08:00
jxxghp
29dab5a312
fix: improve media image scraping
2026-05-19 10:48:36 +08:00
jxxghp
1f0eeb25e6
feat: add agent cli tools to docker image
2026-05-18 21:20:26 +08:00
jxxghp
3c1ff5242c
feat: install ssh client in docker image
2026-05-18 21:16:58 +08:00
jxxghp
9076acc52e
feat: add managed agent command sessions
2026-05-18 20:17:59 +08:00
jxxghp
bedf06b864
feat: support multi-page resource search
2026-05-18 09:48:43 +08:00