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