fix: 修复merge错误
This commit is contained in:
70
src/main.py
70
src/main.py
@@ -8,10 +8,13 @@ from .plugins.chat.emoji_manager import emoji_manager
|
||||
from .plugins.chat.relationship_manager import relationship_manager
|
||||
from .plugins.willing.willing_manager import willing_manager
|
||||
from .plugins.chat.chat_stream import chat_manager
|
||||
from .plugins.memory_system.memory import hippocampus
|
||||
from .plugins.memory_system.Hippocampus import HippocampusManager
|
||||
from .plugins.chat import auto_speak_manager
|
||||
from .think_flow_demo.heartflow import subheartflow_manager
|
||||
from .think_flow_demo.outer_world import outer_world
|
||||
from .plugins.chat.message_sender import message_manager
|
||||
from .plugins.chat.storage import MessageStorage
|
||||
from .plugins.chat.config import global_config
|
||||
from .plugins.config.config import global_config
|
||||
from .plugins.chat.bot import chat_bot
|
||||
from .common.logger import get_module_logger
|
||||
|
||||
@@ -22,6 +25,7 @@ class MainSystem:
|
||||
def __init__(self):
|
||||
self.llm_stats = LLMStatistics("llm_statistics.txt")
|
||||
self.mood_manager = MoodManager.get_instance()
|
||||
self.hippocampus_manager = HippocampusManager.get_instance()
|
||||
self._message_manager_started = False
|
||||
|
||||
# 使用消息API替代直接的FastAPI实例
|
||||
@@ -34,10 +38,7 @@ class MainSystem:
|
||||
logger.debug(f"正在唤醒{global_config.BOT_NICKNAME}......")
|
||||
|
||||
# 其他初始化任务
|
||||
await asyncio.gather(
|
||||
self._init_components(), # 将原有的初始化代码移到这个新方法中
|
||||
# api_task,
|
||||
)
|
||||
await asyncio.gather(self._init_components())
|
||||
|
||||
logger.success("系统初始化完成")
|
||||
|
||||
@@ -70,24 +71,43 @@ class MainSystem:
|
||||
await chat_manager._initialize()
|
||||
asyncio.create_task(chat_manager._auto_save_task())
|
||||
|
||||
# 使用HippocampusManager初始化海马体
|
||||
|
||||
self.hippocampus_manager.initialize(global_config=global_config)
|
||||
|
||||
# 初始化日程
|
||||
await bot_schedule.initialize()
|
||||
bot_schedule.print_schedule()
|
||||
bot_schedule.initialize(
|
||||
name=global_config.BOT_NICKNAME,
|
||||
personality=global_config.PROMPT_PERSONALITY,
|
||||
behavior=global_config.PROMPT_SCHEDULE_GEN,
|
||||
interval=global_config.SCHEDULE_DOING_UPDATE_INTERVAL,
|
||||
)
|
||||
asyncio.create_task(bot_schedule.mai_schedule_start())
|
||||
|
||||
# 启动FastAPI服务器
|
||||
self.app.register_message_handler(chat_bot.message_process)
|
||||
|
||||
try:
|
||||
asyncio.create_task(outer_world.open_eyes())
|
||||
logger.success("大脑和外部世界启动成功")
|
||||
# 启动心流系统
|
||||
asyncio.create_task(subheartflow_manager.heartflow_start_working())
|
||||
logger.success("心流系统启动成功")
|
||||
except Exception as e:
|
||||
logger.error(f"启动大脑和外部世界失败: {e}")
|
||||
raise
|
||||
|
||||
async def schedule_tasks(self):
|
||||
"""调度定时任务"""
|
||||
while True:
|
||||
tasks = [
|
||||
self.build_memory_task(),
|
||||
self.forget_memory_task(),
|
||||
self.merge_memory_task(),
|
||||
# self.merge_memory_task(),
|
||||
self.print_mood_task(),
|
||||
self.generate_schedule_task(),
|
||||
# self.generate_schedule_task(),
|
||||
self.remove_recalled_message_task(),
|
||||
emoji_manager.start_periodic_check(interval_MINS=global_config.EMOJI_CHECK_INTERVAL),
|
||||
emoji_manager.start_periodic_check(),
|
||||
self.app.run(),
|
||||
]
|
||||
await asyncio.gather(*tasks)
|
||||
@@ -96,22 +116,22 @@ class MainSystem:
|
||||
"""记忆构建任务"""
|
||||
while True:
|
||||
logger.info("正在进行记忆构建")
|
||||
await hippocampus.operation_build_memory()
|
||||
await HippocampusManager.get_instance().build_memory()
|
||||
await asyncio.sleep(global_config.build_memory_interval)
|
||||
|
||||
async def forget_memory_task(self):
|
||||
"""记忆遗忘任务"""
|
||||
while True:
|
||||
print("\033[1;32m[记忆遗忘]\033[0m 开始遗忘记忆...")
|
||||
await hippocampus.operation_forget_topic(percentage=global_config.memory_forget_percentage)
|
||||
await HippocampusManager.get_instance().forget_memory(percentage=global_config.memory_forget_percentage)
|
||||
print("\033[1;32m[记忆遗忘]\033[0m 记忆遗忘完成")
|
||||
await asyncio.sleep(global_config.forget_memory_interval)
|
||||
|
||||
async def merge_memory_task(self):
|
||||
"""记忆整合任务"""
|
||||
while True:
|
||||
logger.info("正在进行记忆整合")
|
||||
await asyncio.sleep(global_config.build_memory_interval + 10)
|
||||
# async def merge_memory_task(self):
|
||||
# """记忆整合任务"""
|
||||
# while True:
|
||||
# logger.info("正在进行记忆整合")
|
||||
# await asyncio.sleep(global_config.build_memory_interval + 10)
|
||||
|
||||
async def print_mood_task(self):
|
||||
"""打印情绪状态"""
|
||||
@@ -119,13 +139,13 @@ class MainSystem:
|
||||
self.mood_manager.print_mood_status()
|
||||
await asyncio.sleep(30)
|
||||
|
||||
async def generate_schedule_task(self):
|
||||
"""生成日程任务"""
|
||||
while True:
|
||||
await bot_schedule.initialize()
|
||||
if not bot_schedule.enable_output:
|
||||
bot_schedule.print_schedule()
|
||||
await asyncio.sleep(7200)
|
||||
# async def generate_schedule_task(self):
|
||||
# """生成日程任务"""
|
||||
# while True:
|
||||
# await bot_schedule.initialize()
|
||||
# if not bot_schedule.enable_output:
|
||||
# bot_schedule.print_schedule()
|
||||
# await asyncio.sleep(7200)
|
||||
|
||||
async def remove_recalled_message_task(self):
|
||||
"""删除撤回消息任务"""
|
||||
|
||||
Reference in New Issue
Block a user