feat:normal可以一种简洁的方式切换到focus

This commit is contained in:
SengokuCola
2025-07-12 16:12:30 +08:00
parent 0bc059434b
commit 8fae6272bc
7 changed files with 62 additions and 302 deletions

View File

@@ -1,5 +1,5 @@
import traceback
from src.chat.heart_flow.sub_heartflow import SubHeartflow, ChatState
from src.chat.heart_flow.sub_heartflow import SubHeartflow
from src.common.logger import get_logger
from typing import Any, Optional
from typing import Dict
@@ -39,20 +39,5 @@ class Heartflow:
traceback.print_exc()
return None
async def force_change_subheartflow_status(self, subheartflow_id: str, status: ChatState) -> None:
"""强制改变子心流的状态"""
# 这里的 message 是可选的,可能是一个消息对象,也可能是其他类型的数据
return await self.force_change_state(subheartflow_id, status)
async def force_change_state(self, subflow_id: Any, target_state: ChatState) -> bool:
"""强制改变指定子心流的状态"""
subflow = self.subheartflows.get(subflow_id)
if not subflow:
logger.warning(f"[强制状态转换]尝试转换不存在的子心流{subflow_id}{target_state.value}")
return False
await subflow.change_chat_state(target_state)
logger.info(f"[强制状态转换]子心流 {subflow_id} 已转换到 {target_state.value}")
return True
heartflow = Heartflow()