refactor: 重构情绪管理器

This commit is contained in:
Oct-autumn
2025-05-08 23:56:28 +08:00
parent 46d15b1fe7
commit a1fbff1d6b
14 changed files with 379 additions and 391 deletions

View File

@@ -1,9 +1,11 @@
import asyncio
import time
from maim_message import MessageServer
from .manager.async_task_manager import async_task_manager
from .plugins.utils.statistic import OnlineTimeRecordTask, StatisticOutputTask
from .plugins.moods.moods import MoodManager
from src.manager.mood_manager import logger, MoodPrintTask, MoodUpdateTask
from .plugins.schedule.schedule_generator import bot_schedule
from .plugins.emoji_system.emoji_manager import emoji_manager
from .plugins.person_info.person_info import person_info_manager
@@ -18,7 +20,7 @@ from .plugins.chat.bot import chat_bot
from .common.logger_manager import get_logger
from .plugins.remote import heartbeat_thread # noqa: F401
from .individuality.individuality import Individuality
from .common.server import global_server
from .common.server import global_server, Server
from rich.traceback import install
from .api.main import start_api_server
@@ -28,20 +30,15 @@ logger = get_logger("main")
class MainSystem:
mood_manager: MoodManager
hippocampus_manager: HippocampusManager
individuality: Individuality
def __init__(self):
self.mood_manager = MoodManager.get_instance()
self.hippocampus_manager = HippocampusManager.get_instance()
self.individuality = Individuality.get_instance()
self.hippocampus_manager: HippocampusManager = HippocampusManager.get_instance()
self.individuality: Individuality = Individuality.get_instance()
# 使用消息API替代直接的FastAPI实例
from .plugins.message import global_api
self.app = global_api
self.server = global_server
self.app: MessageServer = global_api
self.server: Server = global_server
async def initialize(self):
"""初始化系统组件"""
@@ -69,9 +66,10 @@ class MainSystem:
emoji_manager.initialize()
logger.success("表情包管理器初始化成功")
# 启动情绪管理器
self.mood_manager.start_mood_update(update_interval=global_config.mood_update_interval)
logger.success("情绪管理器启动成功")
# 添加情绪衰减任务
await async_task_manager.add_task(MoodUpdateTask())
# 添加情绪打印任务
await async_task_manager.add_task(MoodPrintTask())
# 检查并清除person_info冗余字段启动个人习惯推断
await person_info_manager.del_all_undefined_field()
@@ -136,7 +134,6 @@ class MainSystem:
self.build_memory_task(),
self.forget_memory_task(),
self.consolidate_memory_task(),
self.print_mood_task(),
self.remove_recalled_message_task(),
emoji_manager.start_periodic_check_register(),
self.app.run(),
@@ -170,12 +167,6 @@ class MainSystem:
await HippocampusManager.get_instance().consolidate_memory()
print("\033[1;32m[记忆整合]\033[0m 记忆整合完成")
async def print_mood_task(self):
"""打印情绪状态"""
while True:
self.mood_manager.print_mood_status()
await asyncio.sleep(60)
@staticmethod
async def remove_recalled_message_task():
"""删除撤回消息任务"""