From dd1be179765bfc59a92659e21972f563862415f1 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 9 Apr 2026 16:12:28 +0800 Subject: [PATCH] fix: Trigger execution details without node name --- apps/tools/serializers/tool.py | 15 ++++++++------- .../impl/task/tool_task/workflow_tool_task.py | 7 ++++--- .../execution-record/ExecutionDetailDrawer.vue | 7 ++++++- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index d2e4b0d3354..56a7ddf8115 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -711,15 +711,16 @@ def get_child_tool_list(self, work_flow, response): self.get_child_tool_list(work_flow_tool_dict.get(tool.id).work_flow, response) else: response.append(ToolExportModelSerializer(tool).data) + else: + for tool in tool_list: + response.append(ToolExportModelSerializer(tool).data) skill_tools = [tool for tool in tool_list if tool.tool_type == ToolType.SKILL] for tool in skill_tools: skill_file = QuerySet(File).filter(id=tool.code).first() if skill_file: tool.code = base64.b64encode(skill_file.get_bytes()).decode('utf-8') response.append(ToolExportModelSerializer(tool).data) - else: - for tool in tool_list: - response.append(ToolExportModelSerializer(tool).data) + return response def export(self): @@ -842,8 +843,8 @@ def import_workflow_tools(self, tool, workspace_id, user_id, folder_id, new_chil QuerySet(Tool).filter(id__in=tool_id_list, workspace_id=workspace_id)] # 需要更新的工具集合 update_tool_map = {tool.get('id'): new_uuid.generate_uuid( - tool.get('id')) if new_child_policy == 2 else generate_uuid( - (tool.get('id') + workspace_id or '')) for tool + tool.get('id')) if new_child_policy == 2 else generate_uuid( + (tool.get('id') + workspace_id or '')) for tool in tool_list if not exits_tool_id_list.__contains__( @@ -853,8 +854,8 @@ def import_workflow_tools(self, tool, workspace_id, user_id, folder_id, new_chil not exits_tool_id_list.__contains__( tool.get('id')) and not exits_tool_id_list.__contains__( new_uuid.generate_uuid( - tool.get('id')) if new_child_policy == 2 else generate_uuid( - (tool.get('id') + workspace_id or '')))] + tool.get('id')) if new_child_policy == 2 else generate_uuid( + (tool.get('id') + workspace_id or '')))] work_flow = self.to_tool_workflow( tool.get('work_flow'), diff --git a/apps/trigger/handler/impl/task/tool_task/workflow_tool_task.py b/apps/trigger/handler/impl/task/tool_task/workflow_tool_task.py index 4c876002c88..d4de2bbc76b 100644 --- a/apps/trigger/handler/impl/task/tool_task/workflow_tool_task.py +++ b/apps/trigger/handler/impl/task/tool_task/workflow_tool_task.py @@ -73,9 +73,10 @@ def get_tool_execute_parameters(input_field_list, parameter_setting, kwargs): type_map = {f.get("name"): f.get("type") for f in (input_field_list or []) if f.get("name")} parameters = {} - for key, value in parameter_setting.items(): - raw = get_field_value(value, kwargs) - parameters[key] = _convert_value(type_map.get(key), raw) + if parameter_setting: + for key, value in parameter_setting.items(): + raw = get_field_value(value, kwargs) + parameters[key] = _convert_value(type_map.get(key), raw) return parameters diff --git a/ui/src/views/trigger/execution-record/ExecutionDetailDrawer.vue b/ui/src/views/trigger/execution-record/ExecutionDetailDrawer.vue index 6380a2223b3..1d632a6c36b 100644 --- a/ui/src/views/trigger/execution-record/ExecutionDetailDrawer.vue +++ b/ui/src/views/trigger/execution-record/ExecutionDetailDrawer.vue @@ -142,7 +142,7 @@ -

{{ taskRecordDetails?.tool_name }}

+

{{ currentContent?.source_name }}

{ if (ok.data.details) { + if ('tool_call' in ok.data.details) { + if (props.currentContent?.source_name) { + ok.data.details['tool_call']['name'] = props.currentContent.source_name + } + } detail.value = Object.values(ok.data.details) } taskRecordDetails.value = ok.data