diff --git a/api/core/plugin/manager/base.py b/api/core/plugin/manager/base.py index dac6d9d63f..fdc15f633c 100644 --- a/api/core/plugin/manager/base.py +++ b/api/core/plugin/manager/base.py @@ -56,7 +56,8 @@ class BasePluginManager: line = line.decode("utf-8").strip() if line.startswith("data:"): line = line[5:].strip() - yield line + if line: + yield line def _stream_request_with_model( self, diff --git a/api/core/workflow/nodes/tool/tool_node.py b/api/core/workflow/nodes/tool/tool_node.py index 73c22bc700..2bcd0b10f2 100644 --- a/api/core/workflow/nodes/tool/tool_node.py +++ b/api/core/workflow/nodes/tool/tool_node.py @@ -212,8 +212,8 @@ class ToolNode(BaseNode): chunk_content=message.message.text, from_variable_selector=[self.node_id, "text"] ) elif message.type == ToolInvokeMessage.MessageType.JSON: - assert isinstance(message, ToolInvokeMessage.JsonMessage) - json.append(message.json_object) + assert isinstance(message.message, ToolInvokeMessage.JsonMessage) + 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"