jxxghp
|
4dd2d7fed2
|
refactor: use explicit runtime facade getters
|
2026-08-24 03:56:54 +08:00 |
|
jxxghp
|
9f76fc9dec
|
refactor: unify workflow runtime boundary
|
2026-08-24 03:43:47 +08:00 |
|
jxxghp
|
e1230c0277
|
refactor: unify message ingress forwarding
|
2026-08-24 03:01:17 +08:00 |
|
jxxghp
|
6e69258e3c
|
refactor: make model sessions explicit
|
2026-08-23 23:33:07 +08:00 |
|
jxxghp
|
e1509c4e0d
|
refactor: reorganize startup persistence boundaries
|
2026-08-23 21:24:34 +08:00 |
|
jxxghp
|
5e9933ca8b
|
refactor: isolate subscribe history queries
|
2026-08-23 14:46:39 +08:00 |
|
jxxghp
|
8b955c04d6
|
refactor: isolate passkey queries
|
2026-08-23 14:37:21 +08:00 |
|
jxxghp
|
2120b8040a
|
refactor: isolate pending transfer and config queries
|
2026-08-23 14:29:59 +08:00 |
|
jxxghp
|
8fc9a021b0
|
refactor: isolate agent history queries
|
2026-08-23 14:21:53 +08:00 |
|
jxxghp
|
d8b8583d49
|
refactor: isolate media server and site userdata queries
|
2026-08-23 14:15:37 +08:00 |
|
jxxghp
|
be1071b6cd
|
refactor: isolate workflow queries
|
2026-08-23 14:06:14 +08:00 |
|
jxxghp
|
4074fa4e42
|
refactor: isolate transfer and download history queries
|
2026-08-23 13:59:12 +08:00 |
|
jxxghp
|
f1e542bef0
|
refactor: govern background tasks and query ownership
|
2026-08-23 13:24:04 +08:00 |
|
jxxghp
|
4d1be26a31
|
docs: close debt governance status
|
2026-08-23 04:01:02 +08:00 |
|
jxxghp
|
1c457143f7
|
test: refresh architecture debt baselines
|
2026-08-23 01:02:00 +08:00 |
|
jxxghp
|
2031f3c420
|
refactor: migrate agent task query ownership
|
2026-08-23 00:37:03 +08:00 |
|
InfinityPacer
|
dfc047b880
|
ci: 建立镜像发布前供应链门禁 (#6393)
|
2026-08-22 16:03:33 +08:00 |
|
jxxghp
|
be18cace1f
|
refactor: finish transactional runtime migration
|
2026-08-22 15:18:16 +08:00 |
|
jxxghp
|
e262fa40d9
|
docs: align host architecture contracts
|
2026-08-22 13:32:44 +08:00 |
|
jxxghp
|
e61b5168ad
|
refactor: move workflow execution writes to uow
|
2026-08-22 13:21:52 +08:00 |
|
jxxghp
|
773ea8cb9b
|
refactor: introduce typed host runtime
|
2026-08-21 20:56:25 +08:00 |
|
jxxghp
|
b598b516d5
|
refactor: migrate high-risk write transactions
|
2026-08-21 20:46:57 +08:00 |
|
jxxghp
|
7de72e0e83
|
refactor: own subscription create transactions
|
2026-08-21 20:37:31 +08:00 |
|
jxxghp
|
de2957b9de
|
refactor: add transaction ownership ratchet
|
2026-08-21 20:16:30 +08:00 |
|
jxxghp
|
d89d29612c
|
refactor: enforce single-worker control plane
|
2026-08-21 19:40:20 +08:00 |
|
InfinityPacer
|
23f5d59c74
|
feat: 使用 uv 锁定主程序依赖并强化插件恢复边界 (#6364)
|
2026-08-20 12:17:19 +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
|
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 |
|
InfinityPacer
|
5b367011c5
|
refactor(agent): 按需加载 Agent 运行时 (#6336)
|
2026-08-16 19:25:24 +08:00 |
|
jxxghp
|
3e417c1ac5
|
refactor(chain): _mixins.py 更名 _transfer.py,统一功能域 mixin 命名
TransferChain 的 7 个功能域 mixin 集合文件按域更名 _transfer.py,
与 _recognition/_messaging/_interaction/_music 的单域命名约定对齐;
同步更新 transfer.py 导入、9 个测试文件 patch 目标与架构文档。
另含 chain 基类导入排序优化与未使用导入清理(copy/datetime 已随
dispatch 方法迁入 _messaging.py)。
|
2026-08-16 17:25:49 +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 |
|
InfinityPacer
|
b8b59ae20a
|
refactor(runtime): activate managed resources on demand (#6334)
|
2026-08-16 16:44:45 +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
|
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 |
|