jxxghp
cce72d0884
fix: proxy bangumi requests
2026-05-30 08:54:40 +08:00
jxxghp
762a7fbba7
fix: simplify search web providers
2026-05-28 20:11:31 +08:00
jxxghp
10290ca17b
优化 agent 网络搜索工具
2026-05-28 17:22:52 +08:00
jxxghp
12a2561ca8
fix: return Emby item server ids
2026-05-28 15:03:56 +08:00
jxxghp
543bee9ad5
fix: correct Emby dashboard links
2026-05-28 14:33:50 +08:00
jxxghp
cc3e062262
固定 Agent 工具消息类型
2026-05-28 13:34:53 +08:00
jxxghp
bf4f5f8744
优化 Agent 核心提示词结构
2026-05-28 11:22:56 +08:00
jxxghp
f8f06a602a
加强 Agent 核心提示词安全约束
2026-05-28 11:10:08 +08:00
jxxghp
3cb8925e92
更新 version.py
2026-05-27 17:59:21 +08:00
jxxghp
3ffdf1b38e
docs: add browser-use skill
2026-05-27 17:01:54 +08:00
jxxghp
6557b8b9d8
更新 scheduler.py
2026-05-27 15:56:08 +08:00
jxxghp
2b2e088784
fix: improve u115 multipart upload handling
2026-05-27 15:02:03 +08:00
jxxghp
d9a06f4433
refactor: load share admins from server
2026-05-27 14:31:01 +08:00
jxxghp
b1259fdc02
feat: add manual transfer target path matching
2026-05-27 13:26:01 +08:00
jxxghp
0e5c592862
refactor: centralize MoviePilot server helper
2026-05-27 12:56:45 +08:00
jxxghp
db3ad91408
fix: improve manual transfer recognition preview
2026-05-27 11:01:27 +08:00
jxxghp
5b6b4c9744
将发送消息工具设为必选工具
2026-05-27 08:48:56 +08:00
jxxghp
990a28b51b
调整 Agent 心跳任务报告方式
2026-05-27 08:41:40 +08:00
jxxghp
b6ffd286fe
fix: keep platform words in media titles
2026-05-27 07:41:44 +08:00
jxxghp
1f7fb304dd
feat: add LLM proxy toggle
2026-05-27 06:57:09 +08:00
jxxghp
896631d63e
fix(agent): enable voice replies for supported channels
2026-05-26 20:14:56 +08:00
jxxghp
db8363fee1
fix(openlist): request full directory pages
2026-05-26 18:12:10 +08:00
jxxghp
31554bdcb5
fix agent tool call history ordering
2026-05-26 16:42:52 +08:00
jxxghp
ccbcce0573
chore: update 3 workspace files
2026-05-26 12:14:36 +08:00
jxxghp
e00e18f31e
fix: transcode unsupported stt audio formats
2026-05-26 10:00:32 +08:00
jxxghp
c7965edd47
fix: use responses api for chatgpt reasoning models
2026-05-26 09:31:00 +08:00
jxxghp
8aeba8a6d2
更新 version.py
2026-05-26 09:07:04 +08:00
jxxghp
aee8b05737
fix: order LLM user agent config after max context
2026-05-26 08:30:43 +08:00
jxxghp
821bd3decd
fix: use explicit LLM user agent config
2026-05-26 08:24:58 +08:00
jxxghp
b65c8dcfe0
feat: support llm user agent
2026-05-26 08:20:02 +08:00
jxxghp
d4718bf9dc
fix: expose rust acceleration availability
2026-05-25 23:49:04 +08:00
jxxghp
f761e07779
更新 requirements.in
2026-05-25 22:21:44 +08:00
jxxghp
91f6ad092e
fix(docker): reduce env logs and harden ssl cert startup
2026-05-25 22:14:27 +08:00
jxxghp
c33c62b938
refactor: use external moviepilot rust package
2026-05-25 20:52:53 +08:00
jxxghp
05943287c0
更新 version.py
2026-05-25 19:23:19 +08:00
jxxghp
94633173b1
添加安装版本统计上报
2026-05-25 18:16:59 +08:00
jxxghp
d940373f6b
将所有agent工具的explanation字段改为可选
...
修复Pydantic验证错误:QueryTransferHistoryInput的explanation字段为必需,但用户未提供。
修改了74个工具文件,将explanation字段从必需改为可选,默认值为None。
2026-05-25 16:40:43 +08:00
jxxghp
ca01b8ec3f
更新 version.py
2026-05-25 16:05:48 +08:00
jxxghp
384d6a3fe1
更新 metainfo.rs
2026-05-25 16:03:43 +08:00
jxxghp
0e8bcb4df6
fix: patch gemini thought_signature enforcement to cover all function calls
...
The upstream _parse_chat_history enforcement code uses a first_fc_seen
flag that only adds DUMMY_THOUGHT_SIGNATURE to the first function_call
without thought_signature. Parallel function calls (position 2+) remain
unpatched, causing Gemini API 400 errors for all Gemini 2.5+ models.
Additionally, _is_gemini_3_or_later only matches 'gemini-3', missing
Gemini 2.5 models entirely.
This patch:
1. Extends _is_gemini_3_or_later to also match gemini-2.5 models
2. Wraps _parse_chat_history to ensure ALL function_call parts in ALL
model messages have thought_signature (not just the first one)
2026-05-25 13:53:02 +08:00
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