From 996276ad1e127d3a5a4a72b8404434855bd6a0a1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 24 Apr 2025 12:23:27 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/heartFC_chat/heartFC_chat.py | 10 +++++----- .../heartFC_chat/heartflow_prompt_builder.py | 13 +++++++------ src/plugins/heartFC_chat/normal_chat.py | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index 8735ff7df..b87ad6529 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -595,12 +595,12 @@ class HeartFChatting: self, observed_messages_str: str, current_mind: Optional[str], structured_info: Dict[str, Any] ) -> str: """构建 Planner LLM 的提示词""" - + # 准备结构化信息块 structured_info_block = "" if structured_info: structured_info_block = f"以下是一些额外的信息:\n{structured_info}\n" - + # 准备聊天内容块 chat_content_block = "" if observed_messages_str: @@ -609,14 +609,14 @@ class HeartFChatting: chat_content_block += "\n---" else: chat_content_block = "当前没有观察到新的聊天内容。\n" - + # 准备当前思维块 current_mind_block = "" if current_mind: current_mind_block = f"\n---\n{current_mind}\n---\n\n" else: current_mind_block = " [没有特别的想法] \n\n" - + # 获取提示词模板并填充数据 prompt = (await global_prompt_manager.get_prompt_async("planner_prompt")).format( bot_name=global_config.BOT_NICKNAME, @@ -624,7 +624,7 @@ class HeartFChatting: chat_content_block=chat_content_block, current_mind_block=current_mind_block, ) - + return prompt # --- 回复器 (Replier) 的定义 --- # diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index e9148c4fc..73ad91293 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -36,7 +36,7 @@ def init_prompt(): {moderation_prompt}。注意:不要输出多余内容(包括前后缀,冒号和引号,括号,表情包,at或 @等 )。""", "heart_flow_prompt", ) - + # Planner提示词 Prompt( """你的名字是 {bot_name}。是一个女大二学生,正在QQ聊天,正在决定是否以及如何回应当前的聊天。 @@ -56,7 +56,7 @@ def init_prompt(): 必须调用 'decide_reply_action' 工具并提供 'action' 和 'reasoning'。如果选择了 'emoji_reply' 或者选择了 'text_reply' 并想追加表情,则必须提供 'emoji_query'。""", "planner_prompt", ) - + Prompt("你正在qq群里聊天,下面是群里在聊的内容:", "chat_target_group1") Prompt("和群里聊天", "chat_target_group2") Prompt("你正在和{sender_name}聊天,这是你们之前聊的内容:", "chat_target_private1") @@ -116,13 +116,14 @@ class PromptBuilder: elif build_mode == "focus": return await self._build_prompt_focus( - reason, current_mind_info, structured_info, chat_stream, + reason, + current_mind_info, + structured_info, + chat_stream, ) return None - async def _build_prompt_focus( - self, reason, current_mind_info, structured_info, chat_stream - ) -> tuple[str, str]: + async def _build_prompt_focus(self, reason, current_mind_info, structured_info, chat_stream) -> tuple[str, str]: individuality = Individuality.get_instance() prompt_personality = individuality.get_prompt(type="personality", x_person=2, level=1) prompt_identity = individuality.get_prompt(type="identity", x_person=2, level=1) diff --git a/src/plugins/heartFC_chat/normal_chat.py b/src/plugins/heartFC_chat/normal_chat.py index a3aaf3a0b..fc0c750b3 100644 --- a/src/plugins/heartFC_chat/normal_chat.py +++ b/src/plugins/heartFC_chat/normal_chat.py @@ -402,7 +402,7 @@ class NormalChat: # 确保任务状态更新,即使等待出错 (回调函数也会尝试更新) if self._chat_task is task: self._chat_task = None - + # 清理所有未处理的思考消息 try: container = await message_manager.get_container(self.stream_id)