From 561f0c81f8d28e11985ba923bee71fa285558b72 Mon Sep 17 00:00:00 2001 From: Bakadax Date: Wed, 30 Apr 2025 15:24:56 +0800 Subject: [PATCH] modified: src/plugins/person_info/relationship_manager.py --- .../person_info/relationship_manager.py | 50 +++---------------- 1 file changed, 7 insertions(+), 43 deletions(-) diff --git a/src/plugins/person_info/relationship_manager.py b/src/plugins/person_info/relationship_manager.py index adf293ea..e19b33c3 100644 --- a/src/plugins/person_info/relationship_manager.py +++ b/src/plugins/person_info/relationship_manager.py @@ -20,25 +20,13 @@ class RelationshipManager: def mood_manager(self): if self._mood_manager is None: from ..moods.moods import MoodManager # 延迟导入 - self._mood_manager = MoodManager.get_instance() return self._mood_manager def positive_feedback_sys(self, label: str, stance: str): """正反馈系统,通过正反馈系数增益情绪变化,根据情绪再影响关系变更""" - - positive_list = [ - "开心", - "惊讶", - "害羞", - ] - - negative_list = [ - "愤怒", - "悲伤", - "恐惧", - "厌恶", - ] + positive_list = ["开心", "惊讶", "害羞"] + negative_list = ["愤怒", "悲伤", "恐惧", "厌恶"] if label in positive_list: if 7 > self.positive_feedback_value >= 0: @@ -203,7 +191,7 @@ class RelationshipManager: @staticmethod async def first_knowing_some_one(platform, user_id, user_nickname, user_cardname, user_avatar): - """判断是否认识某人""" + """初次认识某人或更新信息""" person_id = person_info_manager.get_person_id(platform, user_id) # 首次认识时,除了更新 nickname,也应该设置初始关系值等 initial_data = { @@ -230,35 +218,11 @@ class RelationshipManager: async def calculate_update_relationship_value(self, chat_stream: ChatStream, label: str, stance: str) -> tuple: - """计算并变更关系值 - 新的关系值变更计算方式: - 将关系值限定在-1000到1000 - 对于关系值的变更,期望: - 1.向两端逼近时会逐渐减缓 - 2.关系越差,改善越难,关系越好,恶化越容易 - 3.人维护关系的精力往往有限,所以当高关系值用户越多,对于中高关系值用户增长越慢 - 4.连续正面或负面情感会正反馈 - - 返回: - 用户昵称,变更值,变更后关系等级 - - """ - stancedict = { - "支持": 0, - "中立": 1, - "反对": 2, - } - + """计算并变更关系值""" + stancedict = {"支持": 0, "中立": 1, "反对": 2} valuedict = { - "开心": 1.5, - "愤怒": -2.0, - "悲伤": -0.5, - "惊讶": 0.6, - "害羞": 2.0, - "平静": 0.3, - "恐惧": -1.5, - "厌恶": -1.0, - "困惑": 0.5, + "开心": 1.5, "愤怒": -2.0, "悲伤": -0.5, "惊讶": 0.6, "害羞": 2.0, + "平静": 0.3, "恐惧": -1.5, "厌恶": -1.0, "困惑": 0.5, } person_id = person_info_manager.get_person_id(chat_stream.user_info.platform, chat_stream.user_info.user_id)