From 3e8ef845e3f2377f217beb07637d328ab1af73b9 Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Mon, 10 Nov 2025 21:55:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(context=5Fmanager):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=B7=BB=E5=8A=A0=E5=92=8C=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E5=B7=B2=E8=AF=BB=E7=9A=84=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E7=AE=80=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/message_manager/context_manager.py | 5 ----- src/chat/message_manager/message_manager.py | 1 - src/chat/utils/statistic.py | 6 +++--- src/common/data_models/message_manager_data_model.py | 10 +--------- 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/chat/message_manager/context_manager.py b/src/chat/message_manager/context_manager.py index e0be46872..a337e6cf6 100644 --- a/src/chat/message_manager/context_manager.py +++ b/src/chat/message_manager/context_manager.py @@ -83,11 +83,6 @@ class SingleStreamContextManager: self.total_messages += 1 self.last_access_time = time.time() - # 记录消息添加日志 - msg_preview = message.processed_plain_text[:30] if message.processed_plain_text else "(无内容)" - msg_id_str = str(message.message_id)[:8] if message.message_id else "unknown" - logger.info(f"➕ [添加消息] {msg_id_str}: {msg_preview}..., 当前未读数: {len(self.context.unread_messages)}, 历史数: {len(self.context.history_messages)}") - # 如果使用了缓存系统,输出调试信息 if cache_enabled and self.context.is_cache_enabled: if self.context.is_chatter_processing: diff --git a/src/chat/message_manager/message_manager.py b/src/chat/message_manager/message_manager.py index 2d5d4c3bc..9952a88d4 100644 --- a/src/chat/message_manager/message_manager.py +++ b/src/chat/message_manager/message_manager.py @@ -91,7 +91,6 @@ class MessageManager: async def add_message(self, stream_id: str, message: DatabaseMessages): """添加消息到指定聊天流""" - try: # 检查是否为notice消息 if self._is_notice_message(message): diff --git a/src/chat/utils/statistic.py b/src/chat/utils/statistic.py index 275009d21..e8c6ec8af 100644 --- a/src/chat/utils/statistic.py +++ b/src/chat/utils/statistic.py @@ -223,10 +223,10 @@ class StatisticOutputTask(AsyncTask): try: now = datetime.now() logger.info("正在收集统计数据(异步)...") - stats = await self._collect_all_statistics(now) + stats = await asyncio.create_task(self._collect_all_statistics(now)) logger.info("统计数据收集完成") - self._statistic_console_output(stats, now) - await self._generate_html_report(stats, now) + self._statistic_console_output(stats, n ow) + await asyncio.create_task(self._generate_html_report(stats, now)) logger.info("统计数据输出完成") except Exception as e: logger.exception(f"输出统计数据过程中发生异常,错误信息:{e}") diff --git a/src/common/data_models/message_manager_data_model.py b/src/common/data_models/message_manager_data_model.py index 541b39bea..108138c5b 100644 --- a/src/common/data_models/message_manager_data_model.py +++ b/src/common/data_models/message_manager_data_model.py @@ -98,10 +98,7 @@ class StreamContext(BaseDataModel): break def mark_message_as_read(self, message_id: str): - """标记消息为已读""" - from src.common.logger import get_logger - logger = get_logger("StreamContext") - + """标记消息为已读""" # 先找到要标记的消息(处理 int/str 类型不匹配问题) message_to_mark = None for msg in self.unread_messages: @@ -115,11 +112,6 @@ class StreamContext(BaseDataModel): message_to_mark.is_read = True self.history_messages.append(message_to_mark) self.unread_messages.remove(message_to_mark) - msg_id_str = str(message_id)[:8] if message_id else "unknown" - logger.info(f"📌 [标记已读] 消息 {msg_id_str} 已移至历史, 当前历史数: {len(self.history_messages)}, 未读数: {len(self.unread_messages)}") - else: - msg_id_str = str(message_id)[:8] if message_id else "unknown" - logger.warning(f"⚠️ [标记已读] 未找到消息 {msg_id_str} 在未读列表中, 当前未读消息ID列表: {[str(m.message_id)[:8] for m in self.unread_messages[:5]]}") def get_unread_messages(self) -> list["DatabaseMessages"]: """获取未读消息"""