feat(affinity-flow): 优化兴趣度评分系统并集成消息管理器

重构兴趣度评分系统,移除时间因子权重,增加未读消息处理机制。集成消息管理器用于消息存储和状态跟踪,改进提及检测逻辑。

主要变更:
- 移除时间因子评分,调整兴趣匹配度权重至0.5
- 添加未读消息参数到规划器,优化兴趣度计算
- 引入消息管理器处理消息存储和状态标记
- 改进提及检测逻辑,使用消息对象的is_mentioned属性
- 添加消息清理和启动/停止机制

BREAKING CHANGE: 兴趣度评分算法调整,需要重新评估消息优先级
This commit is contained in:
Windpicker-owo
2025-09-16 14:13:56 +08:00
committed by Windpicker-owo
parent d418d2f8a6
commit 2739848451
12 changed files with 443 additions and 91 deletions

View File

@@ -120,11 +120,24 @@ class MainSystem:
@staticmethod
def _cleanup():
"""清理资源"""
try:
# 停止消息管理器
from src.chat.message_manager import message_manager
import asyncio
loop = asyncio.get_event_loop()
if loop.is_running():
asyncio.create_task(message_manager.stop())
else:
loop.run_until_complete(message_manager.stop())
logger.info("🛑 消息管理器已停止")
except Exception as e:
logger.error(f"停止消息管理器时出错: {e}")
try:
# 停止消息重组器
from src.plugin_system.core.event_manager import event_manager
from src.plugin_system import EventType
import asyncio
asyncio.run(event_manager.trigger_event(EventType.ON_STOP,permission_group="SYSTEM"))
from src.utils.message_chunker import reassembler
@@ -284,6 +297,11 @@ MoFox_Bot(第三方修改版)
await reassembler.start_cleanup_task()
logger.info("消息重组器已启动")
# 启动消息管理器
from src.chat.message_manager import message_manager
await message_manager.start()
logger.info("消息管理器已启动")
# 初始化个体特征
await self.individuality.initialize()