jxxghp
8472bcff43
refactor: 收口 V3 分层架构与插件兼容边界
2026-08-18 13:22:02 +08:00
jxxghp
d7e610e656
feat(agent): 新增 apply_patch 多文件补丁编辑工具
...
参考 Codex apply_patch 设计,支持单次调用对多个文本文件执行新增、
更新和删除:补丁以 *** Begin Patch / *** End Patch 包裹,Update 段
用 @@ 分隔 hunk,上下文行须与当前内容精确一致;先整体校验全部文件
操作,通过后才逐个原子写盘,并以校验期 sha256 防止并发修改。
- 工具描述与系统提示词明确 apply_patch / edit_file / write_file 分工:
跨多文件或增删文件用 apply_patch,单文件单处替换用 edit_file
- 注册进工具工厂与 ALWAYS_INCLUDE 列表,加入策略 inventory 与
MCP 隐藏列表,流式回调归类为 file_write
- 同步 create-moviepilot-plugin / publish-moviepilot-plugin /
create-moviepilot-skill 技能的 allowed-tools 与版本
- 新增 tests/test_agent_apply_patch.py 覆盖解析、多文件应用、
整体拒绝、权限边界与版本冲突场景
2026-08-17 08:01:59 +08:00
jxxghp
240a4dffe6
refactor(schemas): 统一 message/notification 命名边界,旧名收敛至兼容映射表
...
- notification 域:渠道能力(MessageChannel→NotificationChannel、ChannelCapability* 迁入 notification.py)
- message 域:消息收发(Notification→Message、NotificationType→MessageType、CommingMessage→IncomingMessage、NotificationHistoryItem→MessageHistoryItem、NotificationClear*→MessageClear*)
- Agent 工具契约:send_notification_message→send_message、notification_callback→message_callback
- 源码不保留旧名物理别名,旧导入经 app/runtime/compat/manifest.py SYMBOL_ALIASES 惰性解析
- API 路径与持久化键冻结不变,前端零改动
- 新增兼容守护测试与 docs/rules/07 命名边界规范
2026-08-16 19:32:20 +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
InfinityPacer
4ee7ee2589
feat(agent): 建立严格工具身份与调用契约 ( #6280 )
2026-08-13 04:07:59 +08:00
jxxghp
d666134ed2
Route autonomous agent tasks through notification broadcasting
2026-07-20 08:54:32 +08:00
jxxghp
31544629b4
Add autonomous Agent task scheduling
2026-07-19 20:19:06 +08:00
jxxghp
6647565ec4
Refactor plugin cache handling and update related docs
2026-06-21 18:29:27 +08:00
jxxghp
7f1cb40421
feat(plugin): implement caching for plugin agent tools registry
2026-06-19 20:50:35 +08:00
jxxghp
38c3dcc76b
feat(activity_log): enhance activity logging with query tool and context handling
2026-06-19 20:39:12 +08:00
jxxghp
bae820a11d
feat: unify download task tool names
2026-06-15 14:28:18 +08:00
jxxghp
6a635ac720
feat: enhance agent download task controls
2026-06-15 13:51:35 +08:00
jxxghp
4e3eddec10
feat: add captcha recognition agent tool
2026-06-14 16:24:04 +08:00
jxxghp
dfabd695a8
add: query_doctor_report agent tool
2026-06-12 16:26:00 +08:00
jxxghp
5b6b4c9744
将发送消息工具设为必选工具
2026-05-27 08:48:56 +08:00
jxxghp
737bcb5c62
refactor(agent): move feedback issue flow into skill scripts
2026-05-21 19:22:27 +08:00
InfinityPacer
0245c8db80
feedback-issue: 拆三步、入口意图门、消息可靠性、日志脱敏与噪音过滤 ( #5810 )
2026-05-21 13:57:12 +08:00
InfinityPacer
ad7cce72f4
新增 feedback-issue Agent skill:把用户反馈整理为上游 Issue ( #5799 )
2026-05-20 20:10:03 +08:00
jxxghp
7b27b7fd16
feat: add extensible agent audio capabilities
2026-05-14 19:37:13 +08:00
jxxghp
ea88f272a6
feat(system-settings): add unified tools for querying and updating system settings
2026-05-12 13:55:52 +08:00
jxxghp
53f6897d62
feat: ensure essential tools are always included in LLM tool selection and update tests
...
- Add mechanism to always include core tools (e.g., file operations, command execution) in LLMToolSelectorMiddleware
- Update MoviePilotToolFactory to provide filtered always-include tool names based on loaded tools
- Set default LLM_MAX_TOOLS to 30 in config
- Refactor agent initialization to support always_include parameter
- Enhance tests to cover always_include logic and async agent creation
2026-04-30 13:04:52 +08:00
jxxghp
28a2386f2f
feat: add agent tools for querying and managing filter rules and rule groups
...
- Add tools for querying built-in and custom filter rules, and for adding, updating, and deleting custom rules and rule groups
- Refactor filter module to use shared builtin rule definitions
- Enhance rule group querying to include syntax guidance and usage references
- Add unittests for agent filter rule tools registration and parsing logic
2026-04-30 12:56:38 +08:00
jxxghp
baebd0ed1a
Fix background prompt message leakage
2026-04-30 06:58:43 +08:00
jxxghp
7586a2cd42
disable agent message tools for ui background tasks
2026-04-29 23:30:59 +08:00
jxxghp
344280cd61
Refactor agent persona runtime layering
2026-04-29 14:12:47 +08:00
jxxghp
6b9790026c
refine plugin agent tool responsibilities
2026-04-29 08:50:48 +08:00
jxxghp
bcc321eb70
add plugin agent management tools
2026-04-29 08:29:04 +08:00
jxxghp
cc31c66b93
feat: add agent button choice workflow
2026-04-16 22:32:59 +08:00
jxxghp
7a5e513f25
feat(agent): support file attachments and local file replies
2026-04-14 15:22:01 +08:00
jxxghp
e5f97cd299
feat(agent): add voice message support with TTS/STT for Telegram and WeChat
...
- Integrate voice message handling: detect and extract audio references from Telegram and WeChat messages, route to agent with voice reply preference.
- Add voice provider abstraction and OpenAI-based TTS/STT implementation.
- Implement agent tool `send_voice_message` for generating and sending voice replies, with fallback to text if voice is unavailable.
- Extend agent prompt and context to support voice reply instructions.
- Update notification and message schemas to support audio fields.
- Add Telegram and WeChat voice sending logic, including audio file conversion and temporary media upload for WeChat.
- Add tests for voice helper and agent voice routing.
2026-04-12 12:30:02 +08:00
jxxghp
ac9c9598f4
feat(agent): add tools for querying and updating custom identifiers
2026-04-07 09:00:15 +08:00
jxxghp
9fefd807f9
refactor(agent): rename list_all_commands to list_slash_commands and skill to command-dispatch
2026-04-07 00:00:10 +08:00
jxxghp
a8fb4a6d84
refactor(agent): rename run_plugin_command to run_slash_command to avoid confusion with execute_command (shell)
2026-04-06 23:53:49 +08:00
jxxghp
7806267e92
feat(agent): add command-execute skill for intelligent command dispatch
...
- Enhance run_plugin_command tool to support all registered commands (system preset + plugin + other), not just plugin commands
- Add list_all_commands tool to discover all available commands with descriptions and categories
- Add command-execute skill that guides the agent to recognize user intent from natural language and match it to available system/plugin commands
2026-04-06 23:45:48 +08:00
jxxghp
d7a5c32b08
feat: 整理失败时AI智能体自动重试
...
- 新增 delete_transfer_history 工具供智能体删除失败历史记录
- 新增 transfer-failed-retry 技能引导智能体执行重试流程
- 新增 AI_AGENT_RETRY_TRANSFER 配置项控制是否启用
- AgentManager 新增 retry_failed_transfer() 方法创建独立会话执行重试
- 整理失败和媒体未识别时自动触发智能体重试
2026-04-03 13:33:27 +08:00
jxxghp
a25c709927
新增agent删除下载历史记录工具
2026-03-27 11:50:46 +08:00
jxxghp
a1fa469026
feat: 新增插件相关agent工具(查询插件、查询插件能力、运行插件命令)
2026-03-26 02:45:03 +08:00
jxxghp
1249929b6a
feat: 新增Agent浏览器操作工具(browse_webpage),支持通过Playwright控制浏览器进行网页交互
2026-03-24 21:06:41 +08:00
jxxghp
aae50004b1
feat: 新增修改下载任务Agent工具,查询下载任务支持返回标签
...
- 新增 modify_download Agent工具,支持通过hash修改下载任务的标签、开始和暂停下载
- 在 ChainBase 及三个下载器模块中新增 set_torrents_tag 方法
- DownloadingTorrent schema 新增 tags 字段
- 各下载器模块构建 DownloadingTorrent 时填充 tags
- query_download_tasks 工具输出中新增 tags 字段
2026-03-24 18:33:06 +08:00
copilot-swe-agent[bot] and jxxghp
bdcbb5cce6
feat: add read_file tool for agent with line range and 50KB size limit support
...
Co-authored-by: jxxghp <51039935+jxxghp@users.noreply.github.com >
Agent-Logs-Url: https://github.com/jxxghp/MoviePilot/sessions/615dcf93-c017-4d3f-a96f-5cdad426b9a4
2026-03-22 16:32:19 +00:00
jxxghp
30b332ac7e
feat: Introduce MemoryMiddleware and PatchToolCallsMiddleware to the agent, and add EditFileTool and WriteFileTool for file manipulation.
2026-03-22 23:35:34 +08:00
jxxghp
ea4e0dd764
feat(agent): upgrade langchain to v1.0+
2026-03-22 21:07:45 +08:00
PKC278
226432ec7f
feat(mcp): add torrent filter workflow and moviepilot cli skill
2026-03-17 17:22:33 +08:00
jxxghp
61ccb4be65
feat(agent): 新增命令行工具
2026-01-24 11:10:15 +08:00
jxxghp
1641d432dd
feat: 为工具管理器添加参数类型规范化处理,并基于渠道能力动态生成提示词中的格式要求
2026-01-15 20:55:35 +08:00
PKC278
df031455b2
feat(agent): 新增媒体详情查询工具
2026-01-07 23:31:08 +08:00
jxxghp
81f30ef25a
fix agent memory
2025-12-13 12:26:08 +08:00
jxxghp
bebacf7b20
refactor: Update tool imports and descriptions in factory.py; remove obsolete query tools and enhance ListDirectoryTool description
2025-11-25 13:45:19 +08:00
jxxghp
b599ef4509
feat: Add QueryMediaLatestTool to MoviePilotToolFactory
2025-11-25 13:33:03 +08:00