From c89f55f0bd5b9e030e334ae62effe3411501e429 Mon Sep 17 00:00:00 2001 From: Eternity <1533512157@qq.com> Date: Fri, 6 Feb 2026 21:40:46 +0800 Subject: [PATCH] fix(workflow): resolve JSON serialization error for workflow input parameters --- api/app/services/workflow_service.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/api/app/services/workflow_service.py b/api/app/services/workflow_service.py index 22fa70eb..db50ce88 100644 --- a/api/app/services/workflow_service.py +++ b/api/app/services/workflow_service.py @@ -2,6 +2,7 @@ 工作流服务层 """ import datetime +import json import logging import uuid from typing import Any, Annotated, Optional @@ -447,9 +448,13 @@ class WorkflowService: message=f"工作流配置不存在: app_id={app_id}" ) + json_files = [] + for file in payload.files: + file_json = json.loads(file.model_dump_json()) + json_files.append(file_json) input_data = {"message": payload.message, "variables": payload.variables, "conversation_id": payload.conversation_id, - "files": [file.model_dump() for file in payload.files] if payload.files else [] + "files": json_files } # 转换 conversation_id 为 UUID @@ -636,9 +641,14 @@ class WorkflowService: code=BizCode.CONFIG_MISSING, message=f"工作流配置不存在: app_id={app_id}" ) + + json_files = [] + for file in payload.files: + file_json = json.loads(file.model_dump_json()) + json_files.append(file_json) input_data = {"message": payload.message, "variables": payload.variables, "conversation_id": payload.conversation_id, - "files": [file.model_dump() for file in payload.files] if payload.files else [] + "files": json_files } # 转换 conversation_id 为 UUID