jxxghp
|
e1230c0277
|
refactor: unify message ingress forwarding
|
2026-08-24 03:01:17 +08:00 |
|
jxxghp
|
061a92eab0
|
refactor: route chat and subtitle settings through runtime
|
2026-08-23 03:17:40 +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 |
|
jxxghp
|
6424f76e70
|
fix(notification): 飞书/QQ/爪爪机器人跳过命令注册,修复 AttributeError
通知基类默认命令注册钩子调用 client.register_commands,但飞书 lark_oapi、
QQBot、WechatClawBot 客户端均无命令注册/删除 API(飞书机器人无斜杠命令概念),
启动时 FeishuModule.register_commands 抛 AttributeError。
三个模块覆写 _commands_enabled 返回 False 跳过注册,与企业微信走菜单 API
的钩子模式一致;Telegram/Slack/Discord 客户端具备该 API,不受影响。
|
2026-08-16 16:56:53 +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 |
|
InfinityPacer
|
24671f8f18
|
refactor(runtime): lazily activate host modules (#6331)
|
2026-08-16 16:07:38 +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
|
a66cbe6192
|
refactor(wechatclawbot): 渠道管理改为模块方法契约,endpoint 不再接触客户端对象
- 收消息方向保持 Telegram 模式:模块自建连接轮询网关,转发本地消息 API
- 管理方向(状态/二维码/退出/连通性)封装为 wechatclawbot_status 等模块契约方法,
实例解析与临时客户端回退封闭在模块内部,统一返回 {success, message} dict
- 新建 NotificationChain 薄分发链,MessageChain 移除全部 clawbot 方法
- notification endpoint 改为纯 chain 调用,不再获取任何客户端对象
|
2026-08-16 05:45:58 +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
|
96118e73e7
|
refactor(string): split utilities by responsibility
|
2026-08-15 08:03:55 +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
|
87b1caf3ff
|
fix(agent): grant channel owners admin access
|
2026-08-14 00:01:37 +08:00 |
|
InfinityPacer
|
3aed078bbb
|
fix(agent): bind channel admin identity (#6294)
|
2026-08-13 14:53:59 +08:00 |
|
InfinityPacer
|
893269f8c1
|
fix(modules): serialize configuration reload lifecycle (#6122)
|
2026-07-15 17:28:49 +08:00 |
|
jxxghp
|
68f18db374
|
Handle invalid UTF-8 with replacement decoding
|
2026-06-21 09:56:34 +08:00 |
|
jxxghp
|
ec588037a0
|
fix: restrict message commands to channel admins
|
2026-05-24 08:00:54 +08:00 |
|
jxxghp
|
41477601c7
|
feat: add test for ILinkClient connection and handle ilink_user_id error gracefully
|
2026-05-11 22:30:13 +08:00 |
|
jxxghp
|
1b2433f7c2
|
feat: implement runtime dependency checks and recovery for plugin installations
|
2026-05-11 08:54:34 +08:00 |
|
jxxghp
|
888ccfcfc2
|
feat: add detailed docstrings for methods in WechatClawBot and related modules
|
2026-05-11 08:25:25 +08:00 |
|
jxxghp
|
3c9228c2f8
|
feat: enhance iLink polling logic to support multiple payload formats and improve success determination
|
2026-05-11 08:02:17 +08:00 |
|
jxxghp
|
3776422634
|
fix: tighten wechatclawbot poll protocol handling
|
2026-05-11 07:15:04 +08:00 |
|
jxxghp
|
5021b2c86f
|
feat: implement message deduplication and enhance error handling in WechatClawBot
|
2026-05-10 23:40:22 +08:00 |
|
jxxghp
|
412e10972f
|
fix: optimize client instantiation in message sending logic
|
2026-05-10 23:00:47 +08:00 |
|
jxxghp
|
d0b1b3d7f0
|
feat: add QR code URL normalization for compatibility with various formats
|
2026-05-10 22:10:53 +08:00 |
|
jxxghp
|
f5fea25b41
|
fix: migrate wechat clawbot login cache on rename
|
2026-05-10 21:50:33 +08:00 |
|
jxxghp
|
68706d3d5b
|
feat: add standalone wechat clawbot notifications
|
2026-05-10 21:47:35 +08:00 |
|