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
|
441ec9475e
|
refactor(api): LLM 提供商管理端点收敛为通用 manage 接口,端点层零特色
- schemas 新增 LlmProviderAction 公共动作词汇表
- LLMProviderManager 新增 provider_manage 统一入口,默认值填充、
API Key 豁免判断、密钥脱敏与错误归因改写全部下沉封闭,
不再硬编码 chatgpt/github-copilot 等产品名
- endpoint 收敛为 POST /llm/manage(ManageRequest 透传);
OAuth 回跳地址由端点按具名回调路由统一构造后注入动作参数,
/provider-auth/callback/{provider_id} 因浏览器回跳协议约束保留具名路由
- 新增 14 项 provider_manage 契约守护测试,
替换原针对端点函数的两个旧测试文件
|
2026-08-16 07:50:16 +08:00 |
|
jxxghp
|
a6dbd799d5
|
refactor(api): 渠道与存储管理端点通用化,端点层零目标特色
- schemas 新增公共 ManageRequest(target+action+params) 与 StorageAction 词汇表
- endpoint 层收敛为 POST /notification/manage、/storage/manage 两个通用接口,
不再定义任何渠道/存储特定的名称、参数与响应字段,前端上送参数原样透传
- chain 层 manage_channel/manage_storage 接受字符串标识纯透明转发,
StorageChain 移除全部特色管理方法
- FileManagerModule 新增 storage_manage 统一入口,模块返回归一化为
{success, message, data};wechatclawbot channel_manage 同步归一化,
路由标识兼容枚举名/值/对象
- dashboard 与 agentopsassistant 的用量查询改走 manage_storage(usage)
- 新增 10 项存储契约守护测试,通知侧补充 3 项链透传与字符串路由测试,
API 守护测试对 ManageRequest 开放映射按设计豁免
|
2026-08-16 07:18:49 +08:00 |
|
jxxghp
|
5b0c631f80
|
refactor(notification): 建立通知渠道通用管理契约 channel_manage
- schemas 层新增 NotificationAction 公共动作词汇表(状态/二维码/退出/连通性/缓存迁移)
- 模块实现统一 channel_manage(channel, action, **params),按渠道名路由,
非本渠道返回 None;动作语义、表单参数解释与临时参数初始化封闭在模块内
- NotificationChain 收敛为单一 manage_channel 纯透明转发,
chain 层不再出现任何渠道名与模块特色
- endpoint 路由路径保持前端兼容,内部统一走通用接口
- 新增 6 项契约守护测试,文档记录通用模式:新渠道接入无需改 chain
|
2026-08-16 06:35:46 +08:00 |
|
jxxghp
|
4345fcfa22
|
refactor(chain): chain 与 module 仅经 run_module 契约互联,实现模块内容封闭
- mTorrent 字幕链接解析下沉为 IndexerModule.site_subtitle_links,subtitle 模块自行跳过 API 站点
- TMDB/MusicBrainz 识别缓存管理改为模块方法(tmdb_cache_*/music_cache_*)经 run_module 分发
- WechatClawBot 客户端查找/临时客户端/缓存迁移内聚为 wechatclawbot_* 模块方法,
chain 移除 WechatClawBot 类与 ModuleManager 内省
- LISTENBRAINZ_* 常量迁至 schemas/types.py,模块与链层再导入保持兼容
- TMDbException 升为 schemas/exception.py 跨层契约,vendored 异常保持类身份一致
- 架构守护测试新增 test_chain_does_not_import_module_internals(共 18 项)
- 文档同步:chain->module 仅允许 run_module 分发,直接导入禁止
|
2026-08-16 05:25:28 +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 |
|
jxxghp
|
a2117bafc8
|
fix(compat): preserve legacy plugin imports
|
2026-08-15 07:15:03 +08:00 |
|
Aqr-K
|
8a11214a43
|
refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320)
|
2026-08-15 06:58:38 +08:00 |
|
jxxghp
|
b3509c60bb
|
fix: support site resources from legacy docker updater
|
2026-08-14 20:26:51 +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
|
b4863a6550
|
feat(media): support extensible media sources
|
2026-08-13 13:26:17 +08:00 |
|
InfinityPacer
|
36297572fb
|
docs(agent): make repository workflow rules adaptive (#6281)
|
2026-08-13 04:01:00 +08:00 |
|
jxxghp
|
ca32922a7f
|
refactor(media): unify media identity and chain responsibilities
|
2026-08-12 18:31:09 +08:00 |
|
jxxghp
|
0252b27b72
|
ci(v3): publish isolated docker images
|
2026-08-07 22:14:34 +08:00 |
|
jxxghp
|
7fe7be6d71
|
feat(plugin): sync default markets from wiki at release
|
2026-08-06 09:15:30 +08:00 |
|
InfinityPacer
|
00d46f3aab
|
docs: clarify docstring punctuation style (#6121)
|
2026-07-15 16:01:47 +08:00 |
|
jxxghp
|
18c1ec4b82
|
feat: add standalone site adapter collector
|
2026-07-12 13:51:07 +08:00 |
|
InfinityPacer
|
d14d401c86
|
docs(security): clarify api token admin contract (#6048)
|
2026-07-05 09:22:59 +08:00 |
|
jxxghp
|
c1cefa3f40
|
Rename package installer helper to package
|
2026-06-23 13:45:55 +08:00 |
|
InfinityPacer
|
e44a6f41b5
|
chore: split runtime and development dependencies (#5985)
|
2026-06-22 17:44:06 +08:00 |
|
jxxghp
|
735a1ebf27
|
新增 doctor 诊断自救功能
|
2026-06-12 15:55:24 +08:00 |
|
jxxghp
|
c33c62b938
|
refactor: use external moviepilot rust package
|
2026-05-25 20:52:53 +08:00 |
|
DDSRem
|
784672af5c
|
docs: restructure AGENTS.md and add docs/rules agent documentation system (#5830)
|
2026-05-25 13:48:43 +08:00 |
|