@@ -42,7 +42,14 @@ async def create_model_config_list(tenant_id):
4242 url = sub_model_config .get ("base_url" , "" ))]
4343
4444
45- async def create_agent_config (agent_id , tenant_id , user_id , language : str = 'zh' , last_user_query : str = None ):
45+ async def create_agent_config (
46+ agent_id ,
47+ tenant_id ,
48+ user_id ,
49+ language : str = "zh" ,
50+ last_user_query : str = None ,
51+ allow_memory_search : bool = True ,
52+ ):
4653 agent_info = search_agent_info_by_agent_id (
4754 agent_id = agent_id , tenant_id = tenant_id )
4855
@@ -56,7 +63,9 @@ async def create_agent_config(agent_id, tenant_id, user_id, language: str = 'zh'
5663 tenant_id = tenant_id ,
5764 user_id = user_id ,
5865 language = language ,
59- last_user_query = last_user_query )
66+ last_user_query = last_user_query ,
67+ allow_memory_search = allow_memory_search ,
68+ )
6069 managed_agents .append (sub_agent_config )
6170
6271 tool_list = await create_tool_config_list (agent_id , tenant_id , user_id )
@@ -80,8 +89,7 @@ async def create_agent_config(agent_id, tenant_id, user_id, language: str = 'zh'
8089 # Get memory list
8190 memory_context = build_memory_context (user_id , tenant_id , agent_id )
8291 memory_list = []
83- if memory_context .user_config .memory_switch :
84- # TODO: 前端展示"回忆中..." Tag
92+ if allow_memory_search and memory_context .user_config .memory_switch :
8593 logger .debug ("Retrieving memory list..." )
8694 memory_levels = ["tenant" , "agent" , "user" , "user_agent" ]
8795 if memory_context .user_config .agent_share_option == "never" :
@@ -91,18 +99,20 @@ async def create_agent_config(agent_id, tenant_id, user_id, language: str = 'zh'
9199 if memory_context .agent_id in memory_context .user_config .disable_user_agent_ids :
92100 memory_levels .remove ("user_agent" )
93101
94- search_res = await search_memory_in_levels (
95- query_text = last_user_query if last_user_query else agent_info .get (
96- "name" ),
97- memory_config = memory_context .memory_config ,
98- tenant_id = memory_context .tenant_id ,
99- user_id = memory_context .user_id ,
100- agent_id = memory_context .agent_id ,
101- memory_levels = memory_levels ,
102- )
103- memory_list = search_res .get ("results" , [])
104- logger .debug (f"Retrieved memory list: { memory_list } " )
105- # TODO: 前端展示"已抽取 xx 条回忆"
102+ try :
103+ search_res = await search_memory_in_levels (
104+ query_text = last_user_query ,
105+ memory_config = memory_context .memory_config ,
106+ tenant_id = memory_context .tenant_id ,
107+ user_id = memory_context .user_id ,
108+ agent_id = memory_context .agent_id ,
109+ memory_levels = memory_levels ,
110+ )
111+ memory_list = search_res .get ("results" , [])
112+ logger .debug (f"Retrieved memory list: { memory_list } " )
113+ except Exception as e :
114+ # Bubble up to streaming layer so it can emit <MEM_FAILED> and fall back
115+ raise Exception (f"Failed to retrieve memory list: { e } " )
106116
107117 # Build knowledge base summary
108118 knowledge_base_summary = ""
@@ -298,7 +308,15 @@ def check_agent_tools(agent_config: AgentConfig):
298308 return list (used_mcp_urls )
299309
300310
301- async def create_agent_run_info (agent_id , minio_files , query , history , authorization , language : str = 'zh' ):
311+ async def create_agent_run_info (
312+ agent_id ,
313+ minio_files ,
314+ query ,
315+ history ,
316+ authorization ,
317+ language : str = "zh" ,
318+ allow_memory_search : bool = True ,
319+ ):
302320 user_id , tenant_id = get_current_user_id (authorization )
303321
304322 final_query = await join_minio_file_description_to_query (minio_files = minio_files , query = query )
@@ -308,7 +326,8 @@ async def create_agent_run_info(agent_id, minio_files, query, history, authoriza
308326 tenant_id = tenant_id ,
309327 user_id = user_id ,
310328 language = language ,
311- last_user_query = final_query
329+ last_user_query = final_query ,
330+ allow_memory_search = allow_memory_search ,
312331 )
313332
314333 remote_mcp_list = await get_remote_mcp_server_list (tenant_id = tenant_id )
0 commit comments