diff --git a/packages/components/nodes/agentflow/Agent/Agent.ts b/packages/components/nodes/agentflow/Agent/Agent.ts index 09177cbce..e9ba91789 100644 --- a/packages/components/nodes/agentflow/Agent/Agent.ts +++ b/packages/components/nodes/agentflow/Agent/Agent.ts @@ -974,11 +974,15 @@ class Agent_Agentflow implements INode { } } else if (!humanInput && !isStreamable && isLastNode && sseStreamer) { // Stream whole response back to UI if not streaming and no tool calls - let responseContent = JSON.stringify(response, null, 2) - if (typeof response.content === 'string') { - responseContent = response.content + let finalResponse = '' + if (response.content && Array.isArray(response.content)) { + finalResponse = response.content.map((item: any) => item.text).join('\n') + } else if (response.content && typeof response.content === 'string') { + finalResponse = response.content + } else { + finalResponse = JSON.stringify(response, null, 2) } - sseStreamer.streamTokenEvent(chatId, responseContent) + sseStreamer.streamTokenEvent(chatId, finalResponse) } // Calculate execution time diff --git a/packages/components/nodes/agentflow/LLM/LLM.ts b/packages/components/nodes/agentflow/LLM/LLM.ts index d79bc56eb..d0e684ab6 100644 --- a/packages/components/nodes/agentflow/LLM/LLM.ts +++ b/packages/components/nodes/agentflow/LLM/LLM.ts @@ -474,11 +474,15 @@ class LLM_Agentflow implements INode { // Stream whole response back to UI if this is the last node if (isLastNode && options.sseStreamer) { const sseStreamer: IServerSideEventStreamer = options.sseStreamer as IServerSideEventStreamer - let responseContent = JSON.stringify(response, null, 2) - if (typeof response.content === 'string') { - responseContent = response.content + let finalResponse = '' + if (response.content && Array.isArray(response.content)) { + finalResponse = response.content.map((item: any) => item.text).join('\n') + } else if (response.content && typeof response.content === 'string') { + finalResponse = response.content + } else { + finalResponse = JSON.stringify(response, null, 2) } - sseStreamer.streamTokenEvent(chatId, responseContent) + sseStreamer.streamTokenEvent(chatId, finalResponse) } }