diff --git a/api/core/app/apps/advanced_chat/app_runner.py b/api/core/app/apps/advanced_chat/app_runner.py index 87493f1288..dbc42cc7bb 100644 --- a/api/core/app/apps/advanced_chat/app_runner.py +++ b/api/core/app/apps/advanced_chat/app_runner.py @@ -464,7 +464,7 @@ class AdvancedChatAppRunner(WorkflowBasedAppRunner): if not node_id: logger.warning("Memory block %s has no node_id, skip.", memory.spec.id) continue - key = f"{node_id}.{memory.spec.id}" + key = f"{node_id}_{memory.spec.id}" memory_blocks_dict[key] = memory.value return memory_blocks_dict diff --git a/api/services/chatflow_memory_service.py b/api/services/chatflow_memory_service.py index 982464b4ba..72a4fedac8 100644 --- a/api/services/chatflow_memory_service.py +++ b/api/services/chatflow_memory_service.py @@ -105,7 +105,7 @@ class ChatflowMemoryService: @staticmethod def save_memory(memory: MemoryBlock, variable_pool: VariablePool, is_draft: bool) -> None: - key = f"{memory.node_id}.{memory.spec.id}" if memory.node_id else memory.spec.id + key = f"{memory.node_id}_{memory.spec.id}" if memory.node_id else memory.spec.id variable_pool.add([MEMORY_BLOCK_VARIABLE_NODE_ID, key], memory.value) if memory.created_by.account_id: created_by_role = CreatorUserRole.ACCOUNT @@ -139,7 +139,7 @@ class ChatflowMemoryService: if is_draft: with Session(bind=db.engine) as session: draft_var_service = WorkflowDraftVariableService(session) - memory_selector = memory.spec.id if not memory.node_id else f"{memory.node_id}.{memory.spec.id}" + memory_selector = memory.spec.id if not memory.node_id else f"{memory.node_id}_{memory.spec.id}" existing_vars = draft_var_service.get_draft_variables_by_selectors( app_id=memory.app_id, selectors=[[MEMORY_BLOCK_VARIABLE_NODE_ID, memory_selector]] diff --git a/api/services/workflow_service.py b/api/services/workflow_service.py index 91266b8869..667736b1ed 100644 --- a/api/services/workflow_service.py +++ b/api/services/workflow_service.py @@ -1086,6 +1086,6 @@ def _fetch_memory_blocks( if memory.spec.scope == MemoryScope.APP: memory_blocks[memory.spec.id] = memory.value else: # NODE scope - memory_blocks[f"{memory.node_id}.{memory.spec.id}"] = memory.value + memory_blocks[f"{memory.node_id}_{memory.spec.id}"] = memory.value return memory_blocks