From 2f7427e108360a5d742cdb585c76ce33cd223451 Mon Sep 17 00:00:00 2001 From: Archer <545436317@qq.com> Date: Thu, 26 Feb 2026 17:45:26 +0800 Subject: [PATCH] fix: sse response (#6468) --- packages/service/core/workflow/dispatch/type.ts | 4 +++- projects/app/src/pages/api/v1/chat/completions.ts | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/service/core/workflow/dispatch/type.ts b/packages/service/core/workflow/dispatch/type.ts index 3cc651da76..a50c5dce2d 100644 --- a/packages/service/core/workflow/dispatch/type.ts +++ b/packages/service/core/workflow/dispatch/type.ts @@ -49,7 +49,9 @@ const WorkflowResponseItemSchema = z.object({ id: z.string().optional(), stepId: z.string().optional(), event: z.custom(), - data: z.record(z.string(), z.any()) + data: z.custom & { length?: never }>( + (val) => typeof val === 'object' && val !== null && !Array.isArray(val) + ) }); export type WorkflowResponseItemType = z.infer; export const WorkflowResponseFnSchema = z.function({ diff --git a/projects/app/src/pages/api/v1/chat/completions.ts b/projects/app/src/pages/api/v1/chat/completions.ts index 0e7b34fbf1..e463476139 100644 --- a/projects/app/src/pages/api/v1/chat/completions.ts +++ b/projects/app/src/pages/api/v1/chat/completions.ts @@ -398,7 +398,6 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { const feResponseData = responseAllData ? flowResponses : filterPublicNodeResponseData({ nodeRespones: flowResponses, responseDetail: showCite }); - if (stream) { workflowResponseWrite({ event: SseResponseEventEnum.answer, @@ -413,10 +412,12 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { data: '[DONE]' }); + // 特殊输配(data 不是{}) if (detail) { - workflowResponseWrite({ + responseWrite({ + res, event: SseResponseEventEnum.flowResponses, - data: feResponseData + data: JSON.stringify(feResponseData) }); }