refactor(core): 移除睡眠系统

由于睡眠系统存在设计缺陷、实现复杂且维护成本高,并且实际使用效果不佳,常常导致非预期的行为(如错过重要消息或在不应睡眠时睡眠),现决定将其从核心代码中完全移除。

移除内容包括:
- 删除了整个 `sleep_system` 模块及其所有相关逻辑、状态管理和定时任务。
- 清理了配置文件 `config.py` 和 `official_configs.py` 中的 `SleepSystemConfig`。
- 移除了 `main.py` 中关于睡眠系统的初始化调用。
- 清理了 `message_manager` 和 `proactive_thinker` 中对睡眠状态的检查。
- 更新了 `bot_config_template.toml` 模板文件,移除了所有睡眠系统相关的配置项。

此举旨在简化项目架构,提高系统的稳定性和可预测性。未来的相关功能可能会以更健壮、更模块化的插件形式重新实现。
This commit is contained in:
minecraft1024a
2025-10-24 21:48:51 +08:00
committed by Windpicker-owo
parent e7f431392a
commit 7a797a1de6
10 changed files with 1 additions and 635 deletions

View File

@@ -6,7 +6,6 @@ from datetime import datetime
from maim_message import UserInfo
from src.chat.message_manager.sleep_system.state_manager import SleepState, get_sleep_state_manager
from src.chat.message_receive.chat_stream import get_chat_manager
from src.common.logger import get_logger
from src.config.config import global_config
@@ -39,10 +38,6 @@ class ColdStartTask(AsyncTask):
await asyncio.sleep(30) # 延迟以确保所有服务和聊天流已从数据库加载完毕
try:
current_state = get_sleep_state_manager().get_current_state()
if current_state == SleepState.SLEEPING:
logger.info("bot正在睡觉,跳过本次任务")
return
logger.info("【冷启动】开始扫描白名单,唤醒沉睡的聊天流...")
# 【修复】增加对私聊总开关的判断
@@ -152,10 +147,6 @@ class ProactiveThinkingTask(AsyncTask):
# 计算下一次检查前的休眠时间
next_interval = self._get_next_interval()
try:
current_state = get_sleep_state_manager().get_current_state()
if current_state == SleepState.SLEEPING:
logger.info("bot正在睡觉,跳过本次任务")
return
logger.debug(f"【日常唤醒】下一次检查将在 {next_interval:.2f} 秒后进行。")
await asyncio.sleep(next_interval)