From ed483d088a1885fe63f858e3d84e77a916b5943d Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Tue, 18 Nov 2025 21:03:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=B8=8D=E5=8C=BA?= =?UTF-8?q?=E5=88=86=E5=A4=A7=E5=B0=8F=E5=86=99/=E5=88=AB=E5=90=8D?= =?UTF-8?q?=E6=9F=A5=E6=89=BE=E5=8A=9F=E8=83=BD=E5=88=B0=E5=9B=BE=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E7=B1=BB=E5=9E=8B=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/memory_graph/models.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/memory_graph/models.py b/src/memory_graph/models.py index 2c6f1d134..34773e15c 100644 --- a/src/memory_graph/models.py +++ b/src/memory_graph/models.py @@ -43,6 +43,21 @@ class GraphOperationType(Enum): DELETE_MEMORY = "delete_memory" # 删除记忆 MERGE_MEMORIES = "merge_memories" # 合并记忆 + @classmethod + def _missing_(cls, value: Any): # type: ignore[override] + """ + 在从原始数据重构时,允许进行不区分大小写/别名的查找。 + """ + if isinstance(value, str): + normalized = value.strip().lower().replace("-", "_") + for member in cls: + if ( + member.value == normalized + or member.name.lower() == normalized + ): + return member + return None + class ShortTermOperation(Enum): """短期记忆操作类型枚举"""