From e6499e2fa73bf72c578df288f53786226e95a6fb Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Wed, 13 Aug 2025 13:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dinterest=5Fvalue=E4=B8=BANone?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=EF=BC=8C=E7=A1=AE=E4=BF=9D=E5=9C=A8?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=85=B4=E8=B6=A3=E5=80=BC=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E5=87=BA=E7=8E=B0=E9=94=99=E8=AF=AF=E3=80=82=E5=B0=86?= =?UTF-8?q?interest=5Fvalue=E7=9A=84=E9=BB=98=E8=AE=A4=E5=80=BC=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA0.0=EF=BC=8C=E4=BB=A5=E6=8F=90=E9=AB=98?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=9A=84=E5=81=A5=E5=A3=AE=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/chat_loop/heartFC_chat.py | 23 ++++++++++++++++++++++- src/chat/message_receive/message.py | 5 +---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/chat/chat_loop/heartFC_chat.py b/src/chat/chat_loop/heartFC_chat.py index a12f4a9e0..e96ff2a4d 100644 --- a/src/chat/chat_loop/heartFC_chat.py +++ b/src/chat/chat_loop/heartFC_chat.py @@ -305,7 +305,18 @@ class HeartFChatting: total_interest += float(interest_value) if new_message_count >= modified_exit_count_threshold: - self.recent_interest_records.append(total_interest) + # 记录兴趣度到列表 + total_interest = 0.0 + for msg_dict in new_message: + interest_value = msg_dict.get("interest_value", 0.0) + # 确保 interest_value 不为 None + if interest_value is None: + interest_value = 0.0 + if msg_dict.get("processed_plain_text", ""): + total_interest += interest_value + + NoReplyAction._recent_interest_records.append(total_interest) + logger.info( f"{self.log_prefix} 累计消息数量达到{new_message_count}条(>{modified_exit_count_threshold:.1f}),结束等待" ) @@ -315,6 +326,16 @@ class HeartFChatting: # 检查累计兴趣值 if new_message_count > 0: + accumulated_interest = 0.0 + for msg_dict in new_message: + text = msg_dict.get("processed_plain_text", "") + interest_value = msg_dict.get("interest_value", 0.0) + # 确保 interest_value 不为 None + if interest_value is None: + interest_value = 0.0 + if text: + accumulated_interest += interest_value + # 只在兴趣值变化时输出log if not hasattr(self, "_last_accumulated_interest") or total_interest != self._last_accumulated_interest: logger.info(f"{self.log_prefix} 休息中,新消息:{new_message_count}条,累计兴趣值: {total_interest:.2f}, 活跃度: {talk_frequency:.1f}") diff --git a/src/chat/message_receive/message.py b/src/chat/message_receive/message.py index 2654463c3..d86f9db6f 100644 --- a/src/chat/message_receive/message.py +++ b/src/chat/message_receive/message.py @@ -117,10 +117,7 @@ class MessageRecv(Message): self.priority_mode = "interest" self.priority_info = None - self.interest_value: float = None # type: ignore - - self.key_words = [] - self.key_words_lite = [] + self.interest_value: float = 0.0 def update_chat_stream(self, chat_stream: "ChatStream"): self.chat_stream = chat_stream