diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index 63fe2cca..77347cdd 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -212,7 +212,7 @@ class ActionPlanner: goals_str = self._build_goals_string(conversation_info) chat_history_text = await build_chat_history_text(observation_info, self.private_name) # 获取 sender_name, relationship_text, current_emotion_text - sender_name_str = getattr(observation_info, "sender_name", "对方") # 从 observation_info 获取 + sender_name_str = self.private_name if not sender_name_str: sender_name_str = "对方" # 再次确保有默认值 diff --git a/src/plugins/PFC/conversation_loop.py b/src/plugins/PFC/conversation_loop.py index d0cd287d..a71727e9 100644 --- a/src/plugins/PFC/conversation_loop.py +++ b/src/plugins/PFC/conversation_loop.py @@ -200,7 +200,7 @@ async def run_conversation_loop(conversation_instance: "Conversation"): ): last_user_msg = other_new_messages_during_planning[-1] last_user_msg_text = last_user_msg.get("processed_plain_text", "用户发了新消息") - sender_name_for_event = getattr(conversation_instance.observation_info, "sender_name", "对方") + sender_name_for_event = conversation_instance.private_name event_desc = f"用户【{sender_name_for_event}】发送了新消息: '{last_user_msg_text[:30]}...'" await conversation_instance.emotion_updater.update_emotion_based_on_context( conversation_info=conversation_instance.conversation_info, diff --git a/src/plugins/PFC/observation_info.py b/src/plugins/PFC/observation_info.py index 7b3d6279..a372b3dc 100644 --- a/src/plugins/PFC/observation_info.py +++ b/src/plugins/PFC/observation_info.py @@ -114,8 +114,6 @@ class ObservationInfo: """初始化 ObservationInfo""" self.private_name: str = private_name - # 新增:发信人信息 - self.sender_name: Optional[str] = None self.sender_user_id: Optional[str] = None # 存储为字符串 self.sender_platform: Optional[str] = None @@ -232,23 +230,20 @@ class ObservationInfo: if user_info: try: self.sender_user_id = str(user_info.user_id) # 确保是字符串 - self.sender_name = user_info.user_nickname # 或者 user_info.card 如果私聊时card更准 self.sender_platform = user_info.platform current_message_sender_id = self.sender_user_id # 用于后续逻辑 logger.debug( - f"[私聊][{self.private_name}] 更新发信人信息: ID={self.sender_user_id}, Name={self.sender_name}, Platform={self.sender_platform}" + f"[私聊][{self.private_name}] 更新发信人信息: ID={self.sender_user_id}, Name={self.private_name}, Platform={self.sender_platform}" ) except AttributeError as e: logger.error(f"[私聊][{self.private_name}] 从 UserInfo 对象提取信息时出错: {e}, UserInfo: {user_info}") # 如果提取失败,将这些新字段设为 None,避免使用旧数据 self.sender_user_id = None - self.sender_name = None self.sender_platform = None else: logger.warning(f"[私聊][{self.private_name}] 处理消息更新时缺少有效的 UserInfo, message_id: {message_id}") # 如果没有 UserInfo,也将这些新字段设为 None self.sender_user_id = None - self.sender_name = None self.sender_platform = None # --- 新增/修改结束 --- diff --git a/src/plugins/PFC/pfc_emotion.py b/src/plugins/PFC/pfc_emotion.py index d2496520..c202d04a 100644 --- a/src/plugins/PFC/pfc_emotion.py +++ b/src/plugins/PFC/pfc_emotion.py @@ -71,9 +71,7 @@ class PfcEmotionUpdater: ) current_mood_text_from_manager = self.mood_mng.current_mood.text # 从 MoodManager 获取当前情绪文本 - sender_name_for_prompt = getattr(observation_info, "sender_name", "对方") - if not sender_name_for_prompt: - sender_name_for_prompt = "对方" + sender_name_for_prompt = self.private_name relationship_text_for_prompt = getattr( conversation_info, "relationship_text", "关系一般。" ) # 从 ConversationInfo 获取关系文本 diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index 426ef454..4a86dd66 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -218,9 +218,7 @@ class ReplyGenerator: chat_history_text = await build_chat_history_text(observation_info, self.private_name) - sender_name_str = getattr(observation_info, "sender_name", "对方") - if not sender_name_str: - sender_name_str = "对方" + sender_name_str = self.private_name relationship_text_str = getattr(conversation_info, "relationship_text", "你们还不熟悉。") current_emotion_text_str = getattr(conversation_info, "current_emotion_text", "心情平静。")