From ca2bbc9c8504fd4433ba069fd2a23c4e061601e2 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 23 Apr 2025 10:27:54 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E8=B0=83=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/heart_flow/heartflow.py | 14 -------------- src/plugins/heartFC_chat/heartFC_chat.py | 8 ++++++-- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/heart_flow/heartflow.py b/src/heart_flow/heartflow.py index 96e298083..3dc9a6b08 100644 --- a/src/heart_flow/heartflow.py +++ b/src/heart_flow/heartflow.py @@ -844,13 +844,6 @@ class Heartflow: """当主状态变为 OFFLINE 时,停止所有子心流的活动并设置为 ABSENT""" logger.info("[Heartflow Deactivate] 开始停用所有子心流...") try: - # TODO: Ensure controller.stop_heartFC_chat is called if needed - # This is now handled by subheartflow.set_chat_state(ChatState.ABSENT) called in _stop_subheartflow - # from src.plugins.heartFC_chat.heartFC_controler import HeartFCController # Local import to avoid cycle - # controller = HeartFCController.get_instance() - # if controller and controller.is_heartFC_chat_active(flow_id): - # await controller.stop_heartFC_chat(flow_id) - # 使用 ID 快照进行迭代 flow_ids_snapshot = list(self._subheartflows.keys()) deactivated_count = 0 @@ -863,13 +856,6 @@ class Heartflow: stream_name = chat_manager.get_stream_name(flow_id) or flow_id try: - # 停止相关聊天进程 (例如 pf_chat) - # TODO: 确认是否有 reason_chat 需要停止,并添加相应逻辑 - # if controller: - # if controller.is_heartFC_chat_active(flow_id): - # logger.debug(f"[Heartflow Deactivate] 正在停止子心流 {stream_name} 的 heartFC_chat。") - # await controller.stop_heartFC_chat(flow_id) - # 设置状态为 ABSENT if subflow.chat_state.chat_status != ChatState.ABSENT: logger.debug(f"[Heartflow Deactivate] 正在将子心流 {stream_name} 状态设置为 ABSENT。") diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index 138a2f809..e2357f252 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -95,7 +95,7 @@ class HeartFChatting: # 基础属性 self.stream_id: str = chat_id # 聊天流ID self.chat_stream: Optional[ChatStream] = None # 关联的聊天流 - self.sub_hf: Optional[SubHeartflow] = None # 关联的子心流 + self.sub_hf: SubHeartflow = None # 关联的子心流 # 初始化状态控制 self._initialized = False # 是否已初始化标志 @@ -510,7 +510,11 @@ class HeartFChatting: # --- (Moved from _replier_work) 1. 思考前使用工具 --- # try: # Access tool_user directly - tool_result = await self.tool_user.use_tool(message_txt=observed_messages_str, sub_heartflow=self.sub_hf) + tool_result = await self.tool_user.use_tool( + message_txt=observed_messages_str, + chat_stream=self.chat_stream, + observation=self.sub_hf._get_primary_observation(), + ) if tool_result.get("used_tools", False): tool_result_info = tool_result.get("structured_info", {}) logger.debug(f"{log_prefix}[Planner] 规划前工具结果: {tool_result_info}")