jxxghp
e1230c0277
refactor: unify message ingress forwarding
2026-08-24 03:01:17 +08:00
jxxghp
ac32adc7b6
refactor: route media and chat module settings through runtime
2026-08-23 03:09:59 +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
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
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
c87b856ddf
支持 Slack 和 Discord 自动注册命令
2026-06-15 08:03:29 +08:00
jxxghp
ec588037a0
fix: restrict message commands to channel admins
2026-05-24 08:00:54 +08:00
jxxghp
b2a18f9ae4
feat(message-processing-status): unified processing status indicator for Telegram, Slack, Discord, Feishu
...
- Add ChannelCapability.PROCESSING_STATUS and capability detection for supported channels
- Implement mark_message_processing_started/finished in Telegram, Slack, Discord, Feishu modules
- Telegram: manage typing lifecycle with max duration and explicit stop
- Slack: add/remove reaction as processing indicator
- Discord: start/stop typing indicator with async task management
- Feishu: add/remove reaction for processing status
- Refactor message chain to invoke processing status hooks for supported channels
- Ensure processing status is properly finished on sync and async message handling paths
- Add tests for processing status lifecycle and capability detection across channels
2026-05-15 12:45:41 +08:00
jxxghp
6fb6996d81
fix: ensure stop_streaming waits for inflight initial flush before final edit; improve message edit/delete return types and logging
...
- Update stop_streaming logic to await inflight initial flush task, preventing duplicate message sends on stream stop
- Change message edit/delete methods to return Optional[bool] for clearer channel mismatch handling
- Refine Feishu logging to include message_id instead of full data object
- Suppress allowed_objects warnings in __init__.py
- Add test to verify stop_streaming waits for inflight flush before final edit
- Update .pylintrc to use 'E' for error enabling
2026-05-13 10:11:31 +08:00
jxxghp
d86d24fc4f
feat(feishu): enhance message handling with file and voice support, add reaction management
2026-05-13 00:34:03 +08:00
jxxghp
8c78627647
feat: add skills marketplace management
2026-04-22 14:55:00 +08:00
jxxghp
13c3c082b8
Improve agent image capability routing
2026-04-15 08:55:32 +08:00
jxxghp
7a5e513f25
feat(agent): support file attachments and local file replies
2026-04-14 15:22:01 +08:00
jxxghp
e09f9ad009
feat(agent): add audio message extraction and download support for Slack, QQ, Discord, SynologyChat, and VoceChat
2026-04-13 08:36:57 +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
edf3946558
Fix forwarded image payload parsing for agent channels
2026-04-11 20:55:14 +08:00
jxxghp
6c5fae56d9
Add agent image support for Telegram and Slack
2026-04-11 20:40:02 +08:00
jxxghp
b349aa2693
feat(agent): 支持图片消息处理
2026-03-29 09:56:53 +08:00
jxxghp
d7c62fb55a
feat(agent): 支持Slack和Discord渠道的流式输出功能
...
- 为Slack添加MESSAGE_EDITING能力
- 为Slack添加edit_message和send_direct_message方法
- 为Discord添加edit_message和send_direct_message方法
- 修改Discord send_msg返回(bool, message_id)元组以支持流式输出
2026-03-27 07:02:50 +08:00
ChanningHe
1147930f3f
fix: [slack&discord&telegram] handle special characters in config names
2026-02-04 14:09:40 +09:00
Attente
ca5ec8af0f
feat(config): 优化配置变更事件处理机制
2025-11-27 23:17:34 +08:00
jxxghp
6a492198a8
fix post_message
2025-11-17 13:33:01 +08:00
b9521cb3a9
Fix typo: change "未就续" to "未就绪" in module status messages ( #4804 )
...
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
Co-authored-by: jxxghp <jxxghp@live.cn >
2025-08-22 07:05:16 +08:00
jxxghp
1f44e13ff0
add reload logging
2025-06-23 10:14:22 +08:00
jxxghp
269ab9adfc
fix:删除消息能力
2025-06-22 10:04:21 +08:00
jxxghp
bd241a5164
feat:删除消息能力
2025-06-22 09:37:01 +08:00
jxxghp
bab1f73480
修复:slack消息交互
2025-06-16 09:49:01 +08:00
jxxghp
fcd5ca3fda
feat:Slack支持编辑消息
2025-06-15 19:28:05 +08:00
jxxghp
95a827e8a2
feat:Telegram、Slack 支持按钮
2025-06-15 15:34:06 +08:00
jxxghp
bbfd8ca3f5
fix Config reload
2025-06-03 23:08:58 +08:00
jxxghp
b4ed2880f7
refactor:重构配置热加载
2025-06-03 20:56:21 +08:00
jxxghp
f9b0db623d
fix cython type error
2025-03-23 21:39:37 +08:00
jxxghp
c458d7525d
fix #3778
2025-01-22 15:01:24 +08:00
Aqr-K
825fc35134
feat(modules): 增加子级 type 分类。
...
- 在 `types` 里,针对各个模块的类型进行子级分类。
- 为每个模块统一添加 `get_subtype` 方法,这样一来,能更精准快速地区分与调用子类的每个模块,又能获取 ModuleType 所规定的分类以及对应存在的子模块类型支持列表,从而有效解决当下调用时需繁琐遍历每个 module 以获取 get_name 或 _channel 的问题。
- 解决因消息渠道前端返回所保存的 type 与后端规定值不一致,而需要频繁调用 _channel 私有方法才能获取分类所可能产生的问题。
2024-12-03 14:57:19 +08:00
InfinityPacer
9255c85a85
refactor(module): unify config retrieval logic
2024-10-20 18:56:52 +08:00
jxxghp
363f12ed5a
refactor:Module加入执行优先顺序
2024-10-19 19:31:25 +08:00
jxxghp
2b982ce7a8
fix 消息交互 again
2024-10-18 18:30:34 +08:00
jxxghp
e93b3f5602
fix 消息交互
2024-10-18 18:10:46 +08:00
jxxghp
0d139851af
fix 按对象名称组织代码文件
2024-10-12 12:14:49 +08:00
jxxghp
603ab97665
add ModuleType Schema
2024-10-12 11:50:00 +08:00
InfinityPacer
4f01b82b81
feat(security): unify token validation for message endpoints
2024-10-08 14:32:29 +08:00
InfinityPacer
0afdd9056a
fix(module): use getters for _instances and _configs in subclasses
2024-10-06 14:38:17 +08:00