From 7fe55ddf689e6ba56b93e205905dc652cf62029a Mon Sep 17 00:00:00 2001 From: Bakadax Date: Fri, 2 May 2025 19:05:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=AF=E7=94=A8=E6=96=B0?= =?UTF-8?q?=E7=9A=84=20message=5Fsender=20=E5=90=8E=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E9=BA=A6=E9=BA=A6=E6=B6=88=E6=81=AF=E8=A2=AB=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=AD=98=E5=85=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/action_planner.py | 12 +++++----- src/plugins/PFC/message_sender.py | 3 --- src/plugins/PFC/observation_info.py | 37 ++++------------------------- 3 files changed, 11 insertions(+), 41 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index 1f10c973..ba16e8b0 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -514,13 +514,13 @@ class ActionPlanner: retrieved_knowledge_str_planner = await self._get_prompt_info(message=retrieval_context) logger.info(f"[私聊][{self.private_name}] (ActionPlanner) 自动检索知识 {'完成' if retrieved_knowledge_str_planner else '无结果'}。") except Exception as retrieval_err: - logger.error(f"[私聊][{self.private_name}] (ActionPlanner) 自动检索时出错: {retrieval_err}") - retrieved_memory_str_planner = "检索记忆时出错。\n" - retrieved_knowledge_str_planner = "检索知识时出错。\n" + logger.error(f"[私聊][{self.private_name}] (ActionPlanner) 自动检索时出错: {retrieval_err}") + retrieved_memory_str_planner = "检索记忆时出错。\n" + retrieved_knowledge_str_planner = "检索知识时出错。\n" else: - logger.debug(f"[私聊][{self.private_name}] (ActionPlanner) 无有效聊天记录,跳过自动检索。") - retrieved_memory_str_planner = "无聊天记录无法检索记忆。\n" - retrieved_knowledge_str_planner = "无聊天记录无法检索知识。\n" + logger.debug(f"[私聊][{self.private_name}] (ActionPlanner) 无有效聊天记录,跳过自动检索。") + retrieved_memory_str_planner = "无聊天记录无法检索记忆。\n" + retrieved_knowledge_str_planner = "无聊天记录无法检索知识。\n" # --- 选择 Prompt --- if last_successful_reply_action in ["direct_reply", "send_new_message"]: diff --git a/src/plugins/PFC/message_sender.py b/src/plugins/PFC/message_sender.py index 0c232ed8..abbafa9f 100644 --- a/src/plugins/PFC/message_sender.py +++ b/src/plugins/PFC/message_sender.py @@ -6,7 +6,6 @@ from ..chat.message import Message from maim_message import UserInfo, Seg from src.plugins.chat.message import MessageSending, MessageSet from src.plugins.chat.message_sender import message_manager -# from ..storage.storage import MessageStorage from ...config.config import global_config @@ -18,7 +17,6 @@ class DirectMessageSender: def __init__(self, private_name: str): self.private_name = private_name - # self.storage = MessageStorage() async def send_message( self, @@ -70,7 +68,6 @@ class DirectMessageSender: message_set = MessageSet(chat_stream, message_id) message_set.add_message(message) await message_manager.add_message(message_set) - # await self.storage.store_message(message, chat_stream) logger.info(f"[私聊][{self.private_name}]PFC消息已发送: {content}") except Exception as e: diff --git a/src/plugins/PFC/observation_info.py b/src/plugins/PFC/observation_info.py index 5e0bdc16..c7572955 100644 --- a/src/plugins/PFC/observation_info.py +++ b/src/plugins/PFC/observation_info.py @@ -6,7 +6,6 @@ from .chat_observer import ChatObserver from .chat_states import NotificationHandler, NotificationType, Notification from src.plugins.utils.chat_message_builder import build_readable_messages import traceback # 导入 traceback 用于调试 -from src.config.config import global_config logger = get_module_logger("observation_info") @@ -253,27 +252,6 @@ class ObservationInfo: message_time = message.get("time") message_id = message.get("message_id") processed_text = message.get("processed_plain_text", "") - is_bot_message = False - - # 确定发送者和是否为机器人 - if user_info: - sender_id = str(user_info.user_id) - if sender_id == str(global_config.BOT_QQ): - is_bot_message = True - # 更新机器人最后发言时间 - if message_time and message_time > (self.last_bot_speak_time or 0): - self.last_bot_speak_time = message_time - else: - # 更新用户最后发言时间 - if message_time and message_time > (self.last_user_speak_time or 0): - self.last_user_speak_time = message_time - self.active_users.add(sender_id) - self.last_message_sender = sender_id - else: - logger.warning( - f"[私聊][{self.private_name}]处理消息更新时缺少有效的 UserInfo 对象, message_id: {message_id}" - ) - self.last_message_sender = None # 只有在新消息到达时才更新 last_message 相关信息 if message_time and message_time > (self.last_message_time or 0): @@ -300,17 +278,12 @@ class ObservationInfo: ) self.last_message_sender = None # 发送者未知 - if not is_bot_message: - # 将原始消息字典添加到未处理列表 - self.unprocessed_messages.append(message) - self.new_messages_count = len(self.unprocessed_messages) # 直接用列表长度 - logger.debug(f"[私聊][{self.private_name}] 用户新消息加入未处理列表. 当前未处理数: {self.new_messages_count}") - # logger.debug(f"[私聊][{self.private_name}]消息更新: last_time={self.last_message_time}, new_count={self.new_messages_count}") - self.update_changed() # 标记状态已改变 - else: - # 是机器人自己的消息,仅记录日志,不加入未处理列表 - logger.debug(f"[私聊][{self.private_name}] 观察到机器人自身消息 (ID: {message_id}),仅更新时间戳,不处理。") + # 将原始消息字典添加到未处理列表 + self.unprocessed_messages.append(message) + self.new_messages_count = len(self.unprocessed_messages) # 直接用列表长度 + # logger.debug(f"[私聊][{self.private_name}]消息更新: last_time={self.last_message_time}, new_count={self.new_messages_count}") + self.update_changed() # 标记状态已改变 else: # 如果消息时间戳不是最新的,可能不需要处理,或者记录一个警告 pass