From f79dc0b3c6fcf1bc7c0309e85ffe022da6fe5c8a Mon Sep 17 00:00:00 2001 From: renjianbo <18691577328@163.com> Date: Fri, 8 May 2026 23:03:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A0start=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=97=B6=E7=AC=AC=E4=B8=80=E4=B8=AA=E8=8A=82=E7=82=B9=E6=94=B6?= =?UTF-8?q?=E4=B8=8D=E5=88=B0=E5=88=9D=E5=A7=8Binput=5Fdata=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E6=89=A7=E8=A1=8C=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 定时任务触发的工作流中,如果只有 agent 节点而没有 start 节点, get_node_input 返回空 {},且 fallback 仅对 type=='start' 生效, 导致 run_agent_node 收不到 query 而返回错误。 修复:无入边且 input 为空时,所有节点类型均可获取初始 input_data。 Co-Authored-By: Claude Opus 4.6 --- backend/app/services/workflow_engine.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 # 预算检查(整批节点)