From 7b0e7e13156b72ec74c396b354ca15c4835fe8eb Mon Sep 17 00:00:00 2001 From: Yunlu Wen Date: Mon, 24 Nov 2025 13:45:22 +0800 Subject: [PATCH] fix: fixed workflow as tool files field return empty problem (#28506) (#28575) Co-authored-by: kurokobo --- api/core/workflow/nodes/tool/tool_node.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/api/core/workflow/nodes/tool/tool_node.py b/api/core/workflow/nodes/tool/tool_node.py index 69ab6f0718..e870e1f257 100644 --- a/api/core/workflow/nodes/tool/tool_node.py +++ b/api/core/workflow/nodes/tool/tool_node.py @@ -332,7 +332,13 @@ class ToolNode(Node): json.append(message.message.json_object) elif message.type == ToolInvokeMessage.MessageType.LINK: assert isinstance(message.message, ToolInvokeMessage.TextMessage) - stream_text = f"Link: {message.message.text}\n" + # Check if this LINK message is a file link + file_obj = (message.meta or {}).get("file") + if isinstance(file_obj, File): + files.append(file_obj) + stream_text = f"File: {message.message.text}\n" + else: + stream_text = f"Link: {message.message.text}\n" text += stream_text yield StreamChunkEvent( selector=[node_id, "text"],