jxxghp
|
820582ab12
|
refactor: close plugin shutdown mutation races
|
2026-08-23 21:55:22 +08:00 |
|
InfinityPacer
|
f64030a074
|
fix(imports): use concrete modules for internal symbols (#6427)
|
2026-08-23 21:28:37 +08:00 |
|
jxxghp
|
7f09927c47
|
refactor: own shutdown lifecycle boundaries
|
2026-08-23 20:20:26 +08:00 |
|
InfinityPacer
|
d11c2fb301
|
fix(agent): isolate web and storage blocking I/O
|
2026-08-23 13:06:30 +08:00 |
|
InfinityPacer
|
e8cfe272c4
|
fix(async): offload file metadata checks
|
2026-08-23 12:06:52 +08:00 |
|
jxxghp
|
c5f0bd4fb7
|
refactor: route agent task settings through runtime
|
2026-08-23 02:57:19 +08:00 |
|
jxxghp
|
05d4ca79e7
|
refactor: route agent tool settings through runtime
|
2026-08-23 02:51:25 +08:00 |
|
jxxghp
|
e17e83bca3
|
refactor: route agent settings tools through runtime
|
2026-08-23 02:38:39 +08:00 |
|
jxxghp
|
8849b8da11
|
fix: recreate terminal manager after shutdown
|
2026-08-22 19:42:01 +08:00 |
|
InfinityPacer
|
ed3c0541c7
|
fix(agent): 收敛超时与取消后的副作用生命周期 (#6388)
|
2026-08-22 12:11:15 +08:00 |
|
jxxghp
|
9273d68aa7
|
feat(telegram): support rich Agent messages
|
2026-08-22 10:11:18 +08:00 |
|
InfinityPacer
|
813ea77bc4
|
fix(agent): use async subscription data access (#6385)
|
2026-08-22 09:56:02 +08:00 |
|
jxxghp
|
7b9499fc5b
|
feat(plugin): add virtual plugin instances
|
2026-08-22 09:40:38 +08:00 |
|
jxxghp
|
97d2dcd7fb
|
fix(ci): align architecture and pylint gates
|
2026-08-22 08:50:25 +08:00 |
|
jxxghp
|
c5de1c7b1b
|
refactor: make subscription lifecycle events durable
|
2026-08-22 07:43:41 +08:00 |
|
jxxghp
|
ff0ce8d1c1
|
refactor: add configuration dependency ratchet
|
2026-08-21 21:20:56 +08:00 |
|
InfinityPacer
|
b9bbc8913c
|
fix: 完善插件恢复与运行态收敛 (#6376)
|
2026-08-21 18:09:29 +08:00 |
|
jxxghp
|
c2a27f7c71
|
refactor: 收口订阅与插件应用边界
|
2026-08-18 13:54:17 +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 |
|
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
|
54f093a099
|
Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
# app/api/endpoints/agent.py
# app/api/endpoints/anthropic.py
# app/api/endpoints/openai.py
# app/chain/__init__.py
# app/chain/message.py
# app/chain/site.py
# app/chain/subscribe.py
# app/chain/transfer.py
# app/modules/discord/__init__.py
# app/modules/qqbot/__init__.py
# app/modules/slack/__init__.py
# app/modules/telegram/__init__.py
# app/modules/wechat/__init__.py
# app/runtime/extensions/module_manager.py
# app/runtime/extensions/service_registry.py
# tests/test_agent_interaction.py
# tests/test_slash_command_interactions.py
# tests/test_web_agent_stream.py
|
2026-08-16 19:44:43 +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 |
|
LinFei83
|
e5f0c53069
|
MCP get_search_results 增加 include_labels 按需返回种子标签 (#6335)
让 Agent 在筛选命中标签时能按需查看 labels,默认不返回以免拉长上下文。
Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 6a02e7de21)
|
2026-08-16 17:38:19 +08:00 |
|
jxxghp
|
5810f6bc2b
|
refactor(application): filter_rules.py 更名 rules.py 并合并 RuleHelper
规则域收敛为单一事实来源 app/application/rules.py:
- filter_rules.py 更名为 rules.py(内置规则集 + RuleParser)
- filter.py 仅含 66 行 RuleHelper(用户规则组配置访问),并入 rules.py
- 同步更新 5 处引用方导入、nettest stub 目标与架构文档
- 兼容映射 app.helper.rule 指向新路径,legacy 导入仍可用
|
2026-08-16 17:13:51 +08:00 |
|
jxxghp
|
7e851dbfa7
|
refactor(chain): 处理链功能域 mixin 化,清理未使用导入并根治兼容层循环导入
- ChainBase 拆分为 RecognitionMixin/MessageProcessingMixin/NotificationMixin
- TransferChain 拆分为 7 个功能 mixin(_mixins.py),SubscribeChain 音乐订阅域拆出 _music.py
- 斜杠命令交互四件套收敛为 InteractionChainMixin 委托,会话管理器移至 application 层,chain 层不再 re-export
- 模块基础类收敛到 app/modules/_base(notification/mediaserver 语义重命名)
- 清理 app/chain/__init__.py 24 个未使用导入,修正 49 处测试 patch 目标到实际命名空间
- 兼容层 legacy 符号不再并入 __all__,根治 schemas 初始化反向拉起 application.transfer 的循环导入
- 修复 bangumi 集数为字符串时 set_bangumi_info 抛 TypeError
- 新增重复代码等架构门禁测试;capability 清单校验排除下划线内部目录
|
2026-08-16 16:30:16 +08:00 |
|
jxxghp
|
02f0dd0b9a
|
refactor(architecture): 修复模块依赖违规并强化架构守护
- 字幕编排上移 DownloadChain.download_site_subtitles,SubtitleModule 仅保留站点链接解析
- TransferChain.recommend_name 上移 TV episodes_info 获取,filemanager 模块不再导入 TmdbChain
- endpoint 穿透修复:WXBizMsgCrypt3 迁至 adapters/external/wechat_crypt.py;
music/tmdb 缓存管理、listenbrainz 常量、TMDbException、WechatClawBot 辅助统一经 chain 包装
- RuleParser 与 builtin_rules 合并为 application/filter_rules.py;
fsproxy/fsworker 迁至 adapters/system/
- chain/__init__.py 删除 qbittorrentapi/transmission_rpc 导入,消除后端协议类型泄漏
- 架构守护测试新增三项检查:模块间隔离、入口层穿透、下载器 SDK 泄漏
- 文档同步:05-architecture.md 记录 DB/Oper 聚合例外与迁移文件位置,AGENTS.md 更新所有权表
|
2026-08-16 04:59:17 +08:00 |
|
jxxghp
|
dd38c16400
|
refactor(messaging): 拆分用户交互模块到 application/messaging 层
- 新增 application/messaging 交互层:router.py 统一会话优先级与回调分发,
site/subscribe/skill/media/plugin 各交互状态与视图从 Chain 迁出
- MessageChain 改为通过 InteractionRouter 派发文本会话与按钮回调,
新增结构化 callback_data 通道(兼容 CALLBACK: 文本前缀)
- Transfer 失败重试/AI 接管回调归入 TransferChain
- MediaInteractionChain 拆出为 app/chain/interaction.py(旧路径保留兼容别名)
- WebAgent Endpoint 去重,统一使用 agent.py 回调协议函数
- 删除 app/chain/skills.py(交互逻辑并入 SkillInteractionHandler)
- 同步更新架构文档与测试,全量 4476 通过
|
2026-08-15 16:36:39 +08:00 |
|
jxxghp
|
96118e73e7
|
refactor(string): split utilities by responsibility
|
2026-08-15 08:03:55 +08:00 |
|
Aqr-K
|
8a11214a43
|
refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320)
|
2026-08-15 06:58:38 +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
|
57e7f86f38
|
feat(agent): record task run history (#6305)
|
2026-08-13 22:13:36 +08:00 |
|
InfinityPacer
|
e014604b1c
|
fix: 避免服务重启后重复执行 Agent 定时任务 (#6302)
|
2026-08-13 19:25:11 +08:00 |
|
InfinityPacer
|
591a1d420d
|
fix(agent): close secret confirmation delivery gaps (#6285)
|
2026-08-13 08:20:14 +08:00 |
|
InfinityPacer
|
a6e8ba8b57
|
feat(agent): 敏感设置读取增加宿主二次确认 (#6283)
* feat(agent): require confirmation for secret settings
* fix(agent): preserve history during secret confirmation
|
2026-08-13 08:10:32 +08:00 |
|
InfinityPacer
|
4ee7ee2589
|
feat(agent): 建立严格工具身份与调用契约 (#6280)
|
2026-08-13 04:07:59 +08:00 |
|
jxxghp
|
baf8850d63
|
refactor(api): standardize responses and restore media config contracts
|
2026-08-12 23:15:13 +08:00 |
|
jxxghp
|
ca32922a7f
|
refactor(media): unify media identity and chain responsibilities
|
2026-08-12 18:31:09 +08:00 |
|
jxxghp
|
8bf2f601a6
|
refactor(media): unify source identity and music browsing
|
2026-08-12 12:56:40 +08:00 |
|
InfinityPacer
|
010899f369
|
feat(agent): add host policy foundation (#6273)
|
2026-08-12 10:48:14 +08:00 |
|
jxxghp
|
97dba2a8ae
|
feat: unify media recognition and music lifecycle
|
2026-08-12 06:51:58 +08:00 |
|
InfinityPacer
|
b018646f61
|
fix(agent): include core settings in AI agent group (#6272)
|
2026-08-12 00:13:53 +08:00 |
|
jxxghp
|
3f1b0cdb05
|
feat(music): 支持多源识别与元数据刮削
|
2026-08-11 23:34:00 +08:00 |
|
InfinityPacer
|
1197ece12b
|
fix(agent): preserve episode lock on unchanged totals (#6271)
|
2026-08-11 23:17:21 +08:00 |
|
jxxghp
|
7597c21872
|
feat(music): 自动整理时媒体类型判别
|
2026-08-11 19:08:05 +08:00 |
|
jxxghp
|
75e56d8e9a
|
feat(music): add audio quality workflow
|
2026-08-10 10:23:02 +08:00 |
|
jxxghp
|
b3b376f2b1
|
feat(agent): complete music workflow support
|
2026-08-10 08:11:54 +08:00 |
|
jxxghp
|
c6bd396794
|
Improve agent file reading and structured LLM summaries
|
2026-08-07 13:31:39 +08:00 |
|
jxxghp
|
83409c1439
|
feat(agent): expand tool output and search pagination
|
2026-08-06 22:36:05 +08:00 |
|