diff --git a/apps/application/flow/step_node/direct_reply_node/i_reply_node.py b/apps/application/flow/step_node/direct_reply_node/i_reply_node.py index 9526d3c046a..1a963d76a58 100644 --- a/apps/application/flow/step_node/direct_reply_node/i_reply_node.py +++ b/apps/application/flow/step_node/direct_reply_node/i_reply_node.py @@ -40,7 +40,7 @@ def is_valid(self, *, raise_exception=False): class IReplyNode(INode): type = 'reply-node' support = [WorkflowMode.APPLICATION, WorkflowMode.APPLICATION_LOOP, WorkflowMode.KNOWLEDGE_LOOP, - WorkflowMode.KNOWLEDGE, WorkflowMode.TOOL] + WorkflowMode.KNOWLEDGE, WorkflowMode.TOOL, WorkflowMode.TOOL_LOOP] def get_node_params_serializer_class(self) -> Type[serializers.Serializer]: return ReplyNodeParamsSerializer @@ -48,7 +48,7 @@ def get_node_params_serializer_class(self) -> Type[serializers.Serializer]: def _run(self): if [WorkflowMode.KNOWLEDGE, WorkflowMode.KNOWLEDGE_LOOP, WorkflowMode.TOOL, WorkflowMode.TOOL_LOOP].__contains__( - self.workflow_manage.flow.workflow_mode): + self.workflow_manage.flow.workflow_mode): return self.execute(**self.node_params_serializer.data, **self.flow_params_serializer.data, **{'stream': True}) else: diff --git a/apps/application/flow/step_node/loop_node/impl/base_loop_node.py b/apps/application/flow/step_node/loop_node/impl/base_loop_node.py index 6b03d628664..56aea5c4d20 100644 --- a/apps/application/flow/step_node/loop_node/impl/base_loop_node.py +++ b/apps/application/flow/step_node/loop_node/impl/base_loop_node.py @@ -269,6 +269,8 @@ def execute(self, loop_type, array, number, loop_body, **kwargs) -> NodeResult: from application.flow.loop_workflow_manage import LoopWorkflowManage, Workflow from application.flow.knowledge_loop_workflow_manage import KnowledgeLoopWorkflowManage from application.flow.tool_loop_workflow_manage import ToolLoopWorkflowManage + self.node_params['is_result'] = True + def workflow_manage_new_instance(loop_data, global_data, start_node_id=None, start_node_data=None, chat_record=None, child_node=None): workflow_mode = {WorkflowMode.APPLICATION: WorkflowMode.APPLICATION_LOOP, diff --git a/ui/src/workflow/common/data.ts b/ui/src/workflow/common/data.ts index 8264a14179f..34f7861c426 100644 --- a/ui/src/workflow/common/data.ts +++ b/ui/src/workflow/common/data.ts @@ -942,7 +942,7 @@ export const toolLoopMenuNodes = [ }, { label: t('workflow.nodes.classify.businessLogic'), - list: [conditionNode, replyNode, loopContinueNode, loopBreakNode], + list: [conditionNode, formNode, replyNode, loopContinueNode, loopBreakNode], }, { label: t('workflow.nodes.classify.dataProcessing'),