From 67291f1b4906b399f7acc22fe7c0387557b0688b Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 26 Mar 2025 23:19:19 +0800 Subject: [PATCH] =?UTF-8?q?better:=E4=B8=8D=E5=A5=BD=E6=84=8F=E6=80=9D?= =?UTF-8?q?=E5=88=9A=E5=88=9A=E4=B8=8D=E8=A1=8C=EF=BC=8C=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/logger.py | 18 ++++++++++++++++++ src/plugins/schedule/schedule_generator.py | 14 +++++++++++--- src/think_flow_demo/heartflow.py | 17 ++++++++++++++--- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/common/logger.py b/src/common/logger.py index b910427bf..8a9d08926 100644 --- a/src/common/logger.py +++ b/src/common/logger.py @@ -122,6 +122,23 @@ SENDER_STYLE_CONFIG = { }, } +HEARTFLOW_STYLE_CONFIG = { + "advanced": { + "console_format": ( + "{time:YYYY-MM-DD HH:mm:ss} | " + "{level: <8} | " + "{extra[module]: <12} | " + "麦麦大脑袋 | " + "{message}" + ), + "file_format": ("{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦大脑袋 | {message}"), + }, + "simple": { + "console_format": ("{time:MM-DD HH:mm} | 麦麦大脑袋 | {message}"), # noqa: E501 + "file_format": ("{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦大脑袋 | {message}"), + }, +} + SCHEDULE_STYLE_CONFIG = { "advanced": { "console_format": ( @@ -201,6 +218,7 @@ LLM_STYLE_CONFIG = LLM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LLM_STYLE_CO CHAT_STYLE_CONFIG = CHAT_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CHAT_STYLE_CONFIG["advanced"] MOOD_STYLE_CONFIG = MOOD_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MOOD_STYLE_CONFIG["advanced"] SCHEDULE_STYLE_CONFIG = SCHEDULE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else SCHEDULE_STYLE_CONFIG["advanced"] +HEARTFLOW_STYLE_CONFIG = HEARTFLOW_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else HEARTFLOW_STYLE_CONFIG["advanced"] def is_registered_module(record: dict) -> bool: """检查是否为已注册的模块""" diff --git a/src/plugins/schedule/schedule_generator.py b/src/plugins/schedule/schedule_generator.py index d39b0517d..a02a22352 100644 --- a/src/plugins/schedule/schedule_generator.py +++ b/src/plugins/schedule/schedule_generator.py @@ -76,8 +76,9 @@ class ScheduleGenerator: self.print_schedule() # 执行当前活动 - current_activity = await self.move_doing(mind_thinking="") - logger.info(f"当前活动: {current_activity}") + # mind_thinking = subheartflow_manager.current_state.current_mind + + await self.move_doing() await asyncio.sleep(self.schedule_doing_update_interval) @@ -190,12 +191,19 @@ class ScheduleGenerator: async def move_doing(self,mind_thinking: str = ""): current_time = datetime.datetime.now() - doing_prompt = self.construct_doing_prompt(current_time,mind_thinking) + if mind_thinking: + doing_prompt = self.construct_doing_prompt(current_time,mind_thinking) + else: + doing_prompt = self.construct_doing_prompt(current_time) + + print(doing_prompt) doing_response,_ = await self.llm_scheduler_doing.generate_response_async(doing_prompt) self.today_done_list.append((current_time,doing_response)) await self.update_today_done_list() + logger.info(f"当前活动: {doing_response}") + return doing_response async def get_task_from_time_to_time(self, start_time: str, end_time: str): diff --git a/src/think_flow_demo/heartflow.py b/src/think_flow_demo/heartflow.py index a0a2d4c16..b80bb0885 100644 --- a/src/think_flow_demo/heartflow.py +++ b/src/think_flow_demo/heartflow.py @@ -4,6 +4,14 @@ from src.plugins.models.utils_model import LLM_request from src.plugins.chat.config import global_config from src.plugins.schedule.schedule_generator import bot_schedule import asyncio +from src.common.logger import get_module_logger, LogConfig, HEARTFLOW_STYLE_CONFIG # noqa: E402 + +heartflow_config = LogConfig( + # 使用海马体专用样式 + console_format=HEARTFLOW_STYLE_CONFIG["console_format"], + file_format=HEARTFLOW_STYLE_CONFIG["file_format"], +) +logger = get_module_logger("heartflow", config=heartflow_config) class CuttentState: def __init__(self): @@ -32,10 +40,10 @@ class Heartflow: async def heartflow_start_working(self): while True: await self.do_a_thinking() - await asyncio.sleep(900) + await asyncio.sleep(100) async def do_a_thinking(self): - print("麦麦大脑袋转起来了") + logger.info("麦麦大脑袋转起来了") self.current_state.update_current_state_info() personality_info = open("src/think_flow_demo/personality_info.txt", "r", encoding="utf-8").read() @@ -61,7 +69,10 @@ class Heartflow: self.update_current_mind(reponse) self.current_mind = reponse - print(f"麦麦的总体脑内状态:{self.current_mind}") + logger.info(f"麦麦的总体脑内状态:{self.current_mind}") + logger.info("麦麦想了想,当前活动:") + await bot_schedule.move_doing(self.current_mind) + for _, subheartflow in self._subheartflows.items(): subheartflow.main_heartflow_info = reponse