注释掉pfc内容,暂时恢复部分代码保证可启动性
This commit is contained in:
committed by
DrSmoothl
parent
568685758b
commit
272d0368b8
@@ -1,14 +1,12 @@
|
||||
from dataclasses import dataclass
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional, Dict, TypedDict
|
||||
|
||||
import time
|
||||
|
||||
|
||||
@dataclass
|
||||
class CyclePlanInfo(TypedDict): ... # TODO: 根据实际需要补充字段
|
||||
|
||||
|
||||
@dataclass
|
||||
class CycleActionInfo(TypedDict): ... # TODO: 根据实际需要补充字段
|
||||
|
||||
|
||||
@@ -19,11 +17,11 @@ class CycleDetail:
|
||||
cycle_id: int
|
||||
thinking_id: str = ""
|
||||
"""思考ID"""
|
||||
start_time: float = time.time()
|
||||
start_time: float = field(default_factory=time.time)
|
||||
"""开始时间,单位为秒"""
|
||||
end_time: Optional[float] = None
|
||||
"""结束时间,单位为秒,None表示未结束"""
|
||||
time_records: Dict[str, float] = {}
|
||||
time_records: Dict[str, float] = field(default_factory=dict)
|
||||
"""计时器记录,key为计时器名称,value为用时,单位为秒"""
|
||||
loop_plan_info: Optional[CyclePlanInfo] = None
|
||||
"""循环计划记录"""
|
||||
|
||||
@@ -5,18 +5,19 @@ import traceback
|
||||
from src.common.logger import get_logger
|
||||
from src.chat.message_receive.chat_manager import chat_manager
|
||||
from src.chat.heart_flow.heartFC_chat import HeartFChatting
|
||||
from src.chat.brain_chat.brain_chat import BrainChatting
|
||||
# from src.chat.brain_chat.brain_chat import BrainChatting
|
||||
|
||||
logger = get_logger("heartflow")
|
||||
|
||||
|
||||
# TODO: 恢复PFC,现在暂时禁用
|
||||
class HeartflowManager:
|
||||
"""主心流协调器,负责初始化并协调聊天,控制聊天属性"""
|
||||
|
||||
def __init__(self):
|
||||
self.heartflow_chat_list: Dict[str, HeartFChatting | BrainChatting] = {}
|
||||
# self.heartflow_chat_list: Dict[str, HeartFChatting | BrainChatting] = {}
|
||||
self.heartflow_chat_list: Dict[str, HeartFChatting] = {}
|
||||
|
||||
async def get_or_create_heartflow_chat(self, session_id: str) -> Optional[HeartFChatting | BrainChatting]:
|
||||
async def get_or_create_heartflow_chat(self, session_id: str): # -> Optional[HeartFChatting | BrainChatting]:
|
||||
"""获取或创建一个新的HeartFChatting实例"""
|
||||
try:
|
||||
if chat := self.heartflow_chat_list.get(session_id):
|
||||
@@ -24,16 +25,17 @@ class HeartflowManager:
|
||||
chat_session = chat_manager.get_session_by_session_id(session_id)
|
||||
if not chat_session:
|
||||
raise ValueError(f"未找到 session_id={session_id} 的聊天流")
|
||||
new_chat = (
|
||||
HeartFChatting(session_id=session_id) if chat_session.group_id else BrainChatting(session_id=session_id)
|
||||
)
|
||||
# new_chat = (
|
||||
# HeartFChatting(session_id=session_id) if chat_session.group_id else BrainChatting(session_id=session_id)
|
||||
# )
|
||||
new_chat = HeartFChatting(session_id=session_id)
|
||||
await new_chat.start()
|
||||
self.heartflow_chat_list[session_id] = new_chat
|
||||
return new_chat
|
||||
except Exception as e:
|
||||
logger.error(f"创建心流聊天 {session_id} 失败: {e}", exc_info=True)
|
||||
traceback.print_exc()
|
||||
return None
|
||||
raise e
|
||||
|
||||
def adjust_talk_frequency(self, session_id: str, frequency: float):
|
||||
"""调整指定聊天流的说话频率"""
|
||||
|
||||
@@ -57,8 +57,11 @@ class HeartFCMessageReceiver:
|
||||
# message.is_at = is_at
|
||||
|
||||
MessageUtils.store_message_to_db(message) # 存储消息到数据库
|
||||
|
||||
await heartflow_manager.get_or_create_heartflow_chat(message.session_id)
|
||||
try:
|
||||
chat = await heartflow_manager.get_or_create_heartflow_chat(message.session_id)
|
||||
await chat.register_message(message)
|
||||
except Exception as e:
|
||||
logger.error(f"出现错误: {e}")
|
||||
|
||||
# 3. 日志记录
|
||||
mes_name = group_info.group_name if group_info else "私聊"
|
||||
|
||||
Reference in New Issue
Block a user