feat(affinity-flow): 优化兴趣度评分系统并集成消息管理器
重构兴趣度评分系统,移除时间因子权重,增加未读消息处理机制。集成消息管理器用于消息存储和状态跟踪,改进提及检测逻辑。 主要变更: - 移除时间因子评分,调整兴趣匹配度权重至0.5 - 添加未读消息参数到规划器,优化兴趣度计算 - 引入消息管理器处理消息存储和状态标记 - 改进提及检测逻辑,使用消息对象的is_mentioned属性 - 添加消息清理和启动/停止机制 BREAKING CHANGE: 兴趣度评分算法调整,需要重新评估消息优先级
This commit is contained in:
@@ -47,14 +47,24 @@ class AffinityFlowChatter:
|
||||
处理单个消息
|
||||
|
||||
Args:
|
||||
message_data: 消息数据字典
|
||||
message_data: 消息数据字典,包含:
|
||||
- message_info: 消息基本信息
|
||||
- processed_plain_text: 处理后的纯文本
|
||||
- context_messages: 上下文消息(历史+未读)
|
||||
- unread_messages: 未读消息列表
|
||||
|
||||
Returns:
|
||||
处理结果字典
|
||||
"""
|
||||
try:
|
||||
# 使用增强版规划器处理消息
|
||||
actions, target_message = await self.planner.plan(mode=ChatMode.FOCUS)
|
||||
# 提取未读消息用于兴趣度计算
|
||||
unread_messages = message_data.get("unread_messages", [])
|
||||
|
||||
# 使用增强版规划器处理消息,传递未读消息用于兴趣度计算
|
||||
actions, target_message = await self.planner.plan(
|
||||
mode=ChatMode.FOCUS,
|
||||
unread_messages=unread_messages
|
||||
)
|
||||
self.stats["plans_created"] += 1
|
||||
|
||||
# 执行动作(如果规划器返回了动作)
|
||||
@@ -75,10 +85,11 @@ class AffinityFlowChatter:
|
||||
"plan_created": True,
|
||||
"actions_count": len(actions) if actions else 0,
|
||||
"has_target_message": target_message is not None,
|
||||
"unread_messages_processed": len(unread_messages),
|
||||
**execution_result,
|
||||
}
|
||||
|
||||
logger.info(f"聊天流 {self.stream_id} 消息处理成功: 动作数={result['actions_count']}")
|
||||
logger.info(f"聊天流 {self.stream_id} 消息处理成功: 动作数={result['actions_count']}, 未读消息={result['unread_messages_processed']}")
|
||||
|
||||
return result
|
||||
|
||||
|
||||
Reference in New Issue
Block a user