diff --git a/api/app/services/user_memory_service.py b/api/app/services/user_memory_service.py index fdc27115..4d120d8c 100644 --- a/api/app/services/user_memory_service.py +++ b/api/app/services/user_memory_service.py @@ -401,12 +401,21 @@ class UserMemoryService: # 构建响应数据(转换时间为毫秒时间戳) # 将 meta_data 中的 profile、knowledge_tags、behavioral_hints 平铺到顶层 meta = end_user_info_record.meta_data or {} + + # profile 列表字段截断:只返回前 MAX_PROFILE_LIST_SIZE 条(按时间从新到旧) + MAX_PROFILE_LIST_SIZE = 5 + profile = meta.get("profile") + if isinstance(profile, dict): + for key in ("role", "domain", "expertise", "interests"): + if isinstance(profile.get(key), list): + profile[key] = profile[key][:MAX_PROFILE_LIST_SIZE] + response_data = { "end_user_info_id": str(end_user_info_record.id), "end_user_id": str(end_user_info_record.end_user_id), "other_name": end_user_info_record.other_name, "aliases": end_user_info_record.aliases, - "profile": meta.get("profile"), + "profile": profile, "knowledge_tags": meta.get("knowledge_tags"), "behavioral_hints": meta.get("behavioral_hints"), "created_at": datetime_to_timestamp(end_user_info_record.created_at),