重构并增强Napcat适配器的功能

- 更新了`BaseAdapter`以简化子进程处理。
- 对`AdapterManager`进行了重构,以便根据适配器的`run_in_subprocess`属性来管理适配器。
- 增强了`NapcatAdapter`,以利用新的`CoreSinkManager`实现更优的进程管理。
- 在`utils.py`中实现了针对群组和成员信息的缓存机制。
- 改进了`message_handler.py`中的消息处理,以支持各种消息类型和格式。
- 已将插件配置版本更新至7.8.3。
This commit is contained in:
Windpicker-owo
2025-11-25 19:55:36 +08:00
parent 1ebdc37b22
commit 6b3b2a8245
38 changed files with 2082 additions and 3277 deletions

View File

@@ -8,9 +8,10 @@ import random
import time
from typing import TYPE_CHECKING, Any
from src.chat.chatter_manager import ChatterManager
from src.chat.message_receive.chat_stream import ChatStream
from src.chat.planner_actions.action_manager import ChatterActionManager
if TYPE_CHECKING:
from src.chat.chatter_manager import ChatterManager
from src.common.data_models.database_data_model import DatabaseMessages
from src.common.data_models.message_manager_data_model import MessageManagerStats, StreamStats
from src.common.logger import get_logger
@@ -21,7 +22,7 @@ from .distribution_manager import stream_loop_manager
from .global_notice_manager import NoticeScope, global_notice_manager
if TYPE_CHECKING:
pass
from src.chat.message_receive.chat_stream import ChatStream
logger = get_logger("message_manager")
@@ -39,6 +40,8 @@ class MessageManager:
# 初始化chatter manager
self.action_manager = ChatterActionManager()
# 延迟导入ChatterManager以避免循环导入
from src.chat.chatter_manager import ChatterManager
self.chatter_manager = ChatterManager(self.action_manager)
# 不再需要全局上下文管理器,直接通过 ChatManager 访问各个 ChatStream 的 context