This commit is contained in:
SengokuCola
2025-05-29 13:39:11 +08:00
8 changed files with 18 additions and 37 deletions

View File

@@ -1,8 +1,5 @@
from typing import List, Optional, Any
from src.chat.heart_flow.observation.observation import Observation
from src.chat.focus_chat.info.info_base import InfoBase
from src.chat.focus_chat.info.action_info import ActionInfo
from ..info_processors.base_processor import BaseProcessor
from src.common.logger_manager import get_logger
from src.chat.heart_flow.observation.hfcloop_observation import HFCloopObservation
from src.chat.heart_flow.observation.chatting_observation import ChattingObservation
@@ -15,14 +12,13 @@ from src.chat.focus_chat.planners.action_manager import ActionManager
logger = get_logger("action_manager")
class ActionModifier():
class ActionModifier:
"""动作处理器
用于处理Observation对象将其转换为ObsInfo对象。
"""
log_prefix = "动作处理"
def __init__(self, action_manager: ActionManager):
"""初始化观察处理器"""
@@ -73,7 +69,7 @@ class ActionModifier():
# reasons.append(f"移除动作{action_changes['remove']}因为检测到连续回复")
# 处理ChattingObservation
if chat_obs :
if chat_obs:
obs = chat_obs
# 检查动作的关联类型
chat_context = chat_manager.get_stream(obs.chat_id).context

View File

@@ -101,24 +101,6 @@ class ActionPlanner:
# 获取观察信息
extra_info: list[str] = []
# # 首先处理动作变更
# for info in all_plan_info:
# if isinstance(info, ActionInfo) and info.has_changes():
# add_actions = info.get_add_actions()
# remove_actions = info.get_remove_actions()
# reason = info.get_reason()
# print(f"{self.log_prefix} 动作变更: {add_actions} {remove_actions} {reason}")
# # 处理动作的增加
# for action_name in add_actions:
# if action_name in self.action_manager.get_registered_actions():
# self.action_manager.add_action_to_using(action_name)
# logger.debug(f"{self.log_prefix}添加动作: {action_name}, 原因: {reason}")
# # 处理动作的移除
# for action_name in remove_actions:
# self.action_manager.remove_action_from_using(action_name)
# logger.debug(f"{self.log_prefix}移除动作: {action_name}, 原因: {reason}")
@@ -134,6 +116,7 @@ class ActionPlanner:
self_info = name_block + personality_block + identity_block
current_mind = "你思考了很久,没有想清晰要做什么"
cycle_info = ""
structured_info = ""
extra_info = []
@@ -157,7 +140,7 @@ class ActionPlanner:
structured_info = info.get_processed_info()
# print(f"structured_info: {structured_info}")
# elif not isinstance(info, ActionInfo): # 跳过已处理的ActionInfo
# extra_info.append(info.get_processed_info())
# extra_info.append(info.get_processed_info())
# 获取当前可用的动作
current_available_actions = self.action_manager.get_using_actions()