diff --git a/api/core/workflow/nodes/tool/tool_node.py b/api/core/workflow/nodes/tool/tool_node.py index 0fb7c5958a..9ab46cde79 100644 --- a/api/core/workflow/nodes/tool/tool_node.py +++ b/api/core/workflow/nodes/tool/tool_node.py @@ -279,15 +279,13 @@ class ToolNode(BaseNode[ToolNodeData]): json.append(message.message.json_object) elif message.type == ToolInvokeMessage.MessageType.LINK: assert isinstance(message.message, ToolInvokeMessage.TextMessage) - url = message.message.text - # 获取 transfer_method,与其他类型保持一致 if message.meta: transfer_method = message.meta.get("transfer_method", FileTransferMethod.TOOL_FILE) else: transfer_method = FileTransferMethod.TOOL_FILE - tool_file_id = str(url).rsplit('/', maxsplit=1)[-1].split(".")[0] + tool_file_id = message.message.text.split("/")[-1].split(".")[0] with Session(db.engine) as session: stmt = select(ToolFile).where(ToolFile.id == tool_file_id) @@ -295,12 +293,11 @@ class ToolNode(BaseNode[ToolNodeData]): if tool_file is None: raise ToolFileError(f"Tool file {tool_file_id} does not exist") - # 完整的 mapping 信息 mapping = { "tool_file_id": tool_file_id, "type": file_factory.get_file_type_by_mime_type(tool_file.mimetype), "transfer_method": transfer_method, - "url": url, + "url": message.message.text, } file = file_factory.build_from_mapping( @@ -309,7 +306,6 @@ class ToolNode(BaseNode[ToolNodeData]): ) files.append(file) - # 保持原有的文本处理 stream_text = f"Link: {message.message.text}\n" text += stream_text yield RunStreamChunkEvent(chunk_content=stream_text, from_variable_selector=[self.node_id, "text"])