feat: 整合reasoning模式和hfc模式,统一调控(但不是很统一)
This commit is contained in:
@@ -45,6 +45,8 @@ class CurrentState:
|
||||
def __init__(self):
|
||||
self.current_state_info = ""
|
||||
|
||||
self.chat_status = "IDLE"
|
||||
|
||||
self.mood_manager = MoodManager()
|
||||
self.mood = self.mood_manager.get_prompt()
|
||||
|
||||
@@ -70,7 +72,7 @@ class Heartflow:
|
||||
"""定期清理不活跃的子心流"""
|
||||
while True:
|
||||
current_time = time.time()
|
||||
inactive_subheartflows_ids = [] # 修改变量名以清晰表示存储的是ID
|
||||
inactive_subheartflows_ids = [] # 修改变量名以清晰表示存储的是ID
|
||||
|
||||
# 检查所有子心流
|
||||
# 使用 list(self._subheartflows.items()) 避免在迭代时修改字典
|
||||
@@ -104,7 +106,7 @@ class Heartflow:
|
||||
|
||||
# await self.do_a_thinking()
|
||||
# await asyncio.sleep(global_config.heart_flow_update_interval * 3) # 5分钟思考一次
|
||||
|
||||
|
||||
await asyncio.sleep(300)
|
||||
|
||||
async def heartflow_start_working(self):
|
||||
@@ -253,7 +255,7 @@ class Heartflow:
|
||||
# 创建并初始化观察对象
|
||||
logger.debug(f"为 {subheartflow_id} 创建 observation")
|
||||
observation = ChattingObservation(subheartflow_id)
|
||||
await observation.initialize() # 等待初始化完成
|
||||
await observation.initialize() # 等待初始化完成
|
||||
subheartflow.add_observation(observation)
|
||||
logger.debug(f"为 {subheartflow_id} 添加 observation 成功")
|
||||
|
||||
@@ -269,7 +271,7 @@ class Heartflow:
|
||||
except Exception as e:
|
||||
# 记录详细错误信息
|
||||
logger.error(f"创建 subheartflow {subheartflow_id} 失败: {e}")
|
||||
logger.error(traceback.format_exc()) # 记录完整的 traceback
|
||||
logger.error(traceback.format_exc()) # 记录完整的 traceback
|
||||
# 考虑是否需要更具体的错误处理或资源清理逻辑
|
||||
return None
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ from src.plugins.models.utils_model import LLMRequest
|
||||
from src.config.config import global_config
|
||||
import time
|
||||
from typing import Optional, List
|
||||
from datetime import datetime
|
||||
import traceback
|
||||
from src.plugins.chat.utils import parse_text_timestamps
|
||||
|
||||
@@ -76,14 +75,14 @@ class SubHeartflow:
|
||||
)
|
||||
|
||||
self.main_heartflow_info = ""
|
||||
|
||||
|
||||
self.last_active_time = time.time() # 添加最后激活时间
|
||||
self.should_stop = False # 添加停止标志
|
||||
self.task: Optional[asyncio.Task] = None # 添加 task 属性
|
||||
self.should_stop = False # 添加停止标志
|
||||
self.task: Optional[asyncio.Task] = None # 添加 task 属性
|
||||
|
||||
self.is_active = False
|
||||
|
||||
self.observations: List[ChattingObservation] = [] # 使用 List 类型提示
|
||||
self.observations: List[ChattingObservation] = [] # 使用 List 类型提示
|
||||
|
||||
self.running_knowledges = []
|
||||
|
||||
@@ -98,7 +97,7 @@ class SubHeartflow:
|
||||
# 检查是否被主心流标记为停止
|
||||
if self.should_stop:
|
||||
logger.info(f"子心流 {self.subheartflow_id} 被标记为停止,正在退出后台任务...")
|
||||
break # 退出循环以停止任务
|
||||
break # 退出循环以停止任务
|
||||
|
||||
await asyncio.sleep(global_config.sub_heart_flow_update_interval) # 定期检查销毁条件
|
||||
|
||||
|
||||
Reference in New Issue
Block a user