diff --git a/backend/app/services/workflow_engine.py b/backend/app/services/workflow_engine.py index fcd56ad..dfebd0c 100644 --- a/backend/app/services/workflow_engine.py +++ b/backend/app/services/workflow_engine.py @@ -5742,8 +5742,11 @@ class WorkflowEngine: for nid in ready_nodes: node = self.nodes[nid] node_input = self.get_node_input(nid, self.node_outputs, active_edges) - if node.get('type') == 'start' and not node_input: - node_input = input_data + # start 节点无条件获取初始输入;非 start 节点无入边时同样需要 + if not node_input: + incoming = [e for e in active_edges if e["target"] == nid] + if not incoming: + node_input = input_data node_inputs[nid] = node_input # 预算检查(整批节点)