From c9ee50aed8c444d26773cbc4b5c4d4ab5df2b796 Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Wed, 12 Nov 2025 13:38:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(user=5Fprofile=5Ftool):=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=A5=BD=E6=84=9F=E5=88=86=E6=95=B0=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=AF=84=E5=88=86=E6=B3=A8=E6=84=8F?= =?UTF-8?q?=E4=BA=8B=E9=A1=B9=E4=BB=A5=E6=8F=90=E5=8D=87=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=90=86=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/message_manager/distribution_manager.py | 7 +++++-- src/memory_graph/plugin_tools/memory_plugin_tools.py | 1 + src/memory_graph/tools/memory_tools.py | 2 +- .../affinity_flow_chatter/tools/user_profile_tool.py | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/chat/message_manager/distribution_manager.py b/src/chat/message_manager/distribution_manager.py index 4863b2387..c88808d1d 100644 --- a/src/chat/message_manager/distribution_manager.py +++ b/src/chat/message_manager/distribution_manager.py @@ -243,8 +243,11 @@ class StreamLoopManager: logger.debug(f"更新流能量失败 {stream_id}: {e}") # 4. 激活chatter处理 - success = await asyncio.wait_for(self._process_stream_messages(stream_id, context), global_config.chat.thinking_timeout) - + try: + success = await asyncio.wait_for(self._process_stream_messages(stream_id, context), global_config.chat.thinking_timeout) + except asyncio.TimeoutError: + logger.warning(f"⏱️ [流工作器] stream={stream_id[:8]}, 任务ID={task_id}, 处理超时") + success = False # 更新统计 self.stats["total_process_cycles"] += 1 if success: diff --git a/src/memory_graph/plugin_tools/memory_plugin_tools.py b/src/memory_graph/plugin_tools/memory_plugin_tools.py index f921d6851..91a4c104f 100644 --- a/src/memory_graph/plugin_tools/memory_plugin_tools.py +++ b/src/memory_graph/plugin_tools/memory_plugin_tools.py @@ -45,6 +45,7 @@ class CreateMemoryTool(BaseTool): - 单纯招呼语:"你好"、"再见"、"谢谢" - 无意义语气词:"哦"、"嗯"、"好的" - 纯粹回复确认:没有信息量的回应 +- 不要记录人设中的信息!只记录聊天记录中的信息!! ## 记忆拆分原则 一句话多个信息点 → 多次调用创建多条记忆 diff --git a/src/memory_graph/tools/memory_tools.py b/src/memory_graph/tools/memory_tools.py index f18b951c1..e87557cb8 100644 --- a/src/memory_graph/tools/memory_tools.py +++ b/src/memory_graph/tools/memory_tools.py @@ -1213,7 +1213,7 @@ class MemoryTools: similar_nodes = await self.vector_store.search_with_multiple_queries( query_embeddings=query_embeddings, query_weights=query_weights, - limit=top_k * 5, # 🔥 从2倍提升到5倍,提高初始召回率 + limit=top_k * 2, fusion_strategy="weighted_max", ) diff --git a/src/plugins/built_in/affinity_flow_chatter/tools/user_profile_tool.py b/src/plugins/built_in/affinity_flow_chatter/tools/user_profile_tool.py index 95cf3a4f8..e980ff2fc 100644 --- a/src/plugins/built_in/affinity_flow_chatter/tools/user_profile_tool.py +++ b/src/plugins/built_in/affinity_flow_chatter/tools/user_profile_tool.py @@ -33,7 +33,7 @@ class UserProfileTool(BaseTool): ("user_aliases", ToolParamType.STRING, "该用户的昵称或别名,如果发现用户自称或被他人称呼的其他名字时填写,多个别名用逗号分隔(可选)", False, None), ("impression_description", ToolParamType.STRING, "你对该用户的整体印象和性格感受,例如'这个用户很幽默开朗'、'TA对技术很有热情'等。当你通过对话了解到用户的性格、态度、行为特点时填写(可选)", False, None), ("preference_keywords", ToolParamType.STRING, "该用户表现出的兴趣爱好或偏好,如'编程,游戏,动漫'。当用户谈论自己喜欢的事物时填写,多个关键词用逗号分隔(可选)", False, None), - ("affection_score", ToolParamType.FLOAT, "你对该用户的好感程度,0.0(陌生/不喜欢)到1.0(很喜欢/好友)。当你们的互动让你对TA的感觉发生变化时更新(可选)", False, None), + ("affection_score", ToolParamType.FLOAT, "你对该用户的好感程度,0.0(陌生/不喜欢)到1.0(很喜欢/爱人)。当你们的互动让你对TA的感觉发生变化时更新【注意:0.6分已经是一个很高的分数,打分一定要保守谨慎】(可选)", False, None), ] available_for_llm = True history_ttl = 5