refactor(chat): 重构关系系统并优化消息打断处理机制
- 移除独立的RelationshipConfig,将关系追踪参数整合到AffinityFlowConfig - 实现消息打断后立即重新处理流程,提升交互响应性 - 优化关系追踪系统,添加概率筛选和超时保护机制 - 改进机器人自引用处理,确保消息内容正确显示 - 增强用户信息提取逻辑,兼容多种消息格式 - 添加异步后台任务处理,避免阻塞主回复流程 - 调整兴趣评分阈值和权重参数,优化消息匹配精度
This commit is contained in:
@@ -903,9 +903,21 @@ class DefaultReplyer:
|
||||
person_id = PersonInfoManager.get_person_id(platform, user_id)
|
||||
person_info_manager = get_person_info_manager()
|
||||
sender_name = await person_info_manager.get_value(person_id, "person_name") or "未知用户"
|
||||
|
||||
# 检查是否是机器人自己,如果是则显示为(你)
|
||||
if user_id == str(global_config.bot.qq_account):
|
||||
sender_name = f"{global_config.bot.nickname}(你)"
|
||||
else:
|
||||
sender_name = "未知用户"
|
||||
|
||||
# 处理消息内容中的用户引用,确保bot回复在消息内容中也正确显示
|
||||
from src.chat.utils.chat_message_builder import replace_user_references_sync
|
||||
msg_content = replace_user_references_sync(
|
||||
msg_content,
|
||||
platform,
|
||||
replace_bot_name=True
|
||||
)
|
||||
|
||||
# 添加兴趣度信息
|
||||
interest_score = interest_scores.get(msg_id, 0.0)
|
||||
interest_text = f" [兴趣度: {interest_score:.3f}]" if interest_score > 0 else ""
|
||||
@@ -1002,9 +1014,21 @@ class DefaultReplyer:
|
||||
person_id = PersonInfoManager.get_person_id(platform, user_id)
|
||||
person_info_manager = get_person_info_manager()
|
||||
sender_name = await person_info_manager.get_value(person_id, "person_name") or "未知用户"
|
||||
|
||||
# 检查是否是机器人自己,如果是则显示为(你)
|
||||
if user_id == str(global_config.bot.qq_account):
|
||||
sender_name = f"{global_config.bot.nickname}(你)"
|
||||
else:
|
||||
sender_name = "未知用户"
|
||||
|
||||
# 处理消息内容中的用户引用,确保bot回复在消息内容中也正确显示
|
||||
from src.chat.utils.chat_message_builder import replace_user_references_sync
|
||||
msg_content = replace_user_references_sync(
|
||||
msg_content,
|
||||
platform,
|
||||
replace_bot_name=True
|
||||
)
|
||||
|
||||
# 添加兴趣度信息
|
||||
interest_score = interest_scores.get(msg_id, 0.0)
|
||||
interest_text = f" [兴趣度: {interest_score:.3f}]" if interest_score > 0 else ""
|
||||
@@ -1678,7 +1702,7 @@ class DefaultReplyer:
|
||||
return ""
|
||||
|
||||
async def build_relation_info(self, sender: str, target: str):
|
||||
if not global_config.relationship.enable_relationship:
|
||||
if not global_config.affinity_flow.enable_relationship_tracking:
|
||||
return ""
|
||||
|
||||
# 获取用户ID
|
||||
|
||||
Reference in New Issue
Block a user