refactor(chat): 优化异步任务处理和参数传递机制

- 重构ExpressionSelector初始化,添加chat_id参数支持
- 优化StreamLoopManager中异步任务的创建和管理方式
- 简化MessageManager中的消息添加流程
- 调整Prompt中表情选择器的参数传递结构
This commit is contained in:
Windpicker-owo
2025-10-03 02:32:02 +08:00
parent 67154ca78c
commit fa9f14388a
4 changed files with 11 additions and 10 deletions

View File

@@ -9,6 +9,7 @@ from typing import Any
from src.chat.chatter_manager import ChatterManager
from src.chat.energy_system import energy_manager
from src.common.data_models.message_manager_data_model import StreamContext
from src.common.logger import get_logger
from src.config.config import global_config
from src.plugin_system.apis.chat_api import get_chat_manager
@@ -369,7 +370,7 @@ class StreamLoopManager:
logger.error(f"检查消息状态失败: {e}")
return False
async def _process_stream_messages(self, stream_id: str, context: Any) -> bool:
async def _process_stream_messages(self, stream_id: str, context: StreamContext) -> bool:
"""处理流消息
Args:
@@ -387,7 +388,8 @@ class StreamLoopManager:
start_time = time.time()
# 直接调用chatter_manager处理流上下文
results = await asyncio.create_task(self.chatter_manager.process_stream_context(stream_id, context))
context.processing_task = asyncio.create_task(self.chatter_manager.process_stream_context(stream_id, context))
results = await context.processing_task
success = results.get("success", False)
if success: