From 3c4dfb868f12f5c4006868fde883f587a9b0efb4 Mon Sep 17 00:00:00 2001 From: zhaoying Date: Fri, 6 Mar 2026 17:15:32 +0800 Subject: [PATCH 1/2] fix(web): knowledge-retrieval node's config ignore name & description key --- .../Workflow/components/Properties/index.tsx | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/web/src/views/Workflow/components/Properties/index.tsx b/web/src/views/Workflow/components/Properties/index.tsx index 76fc9ad0..bd5392cd 100644 --- a/web/src/views/Workflow/components/Properties/index.tsx +++ b/web/src/views/Workflow/components/Properties/index.tsx @@ -95,7 +95,7 @@ const Properties: FC = ({ initialValue[key] = config[key].defaultValue } }) - + form.setFieldsValue({ type, id: selectedNode.id, @@ -114,16 +114,16 @@ const Properties: FC = ({ */ const updateNodeLabel = (newLabel: string) => { if (selectedNode && form) { - const nodeData = selectedNode.data as NodeProperties; + const nodeData = selectedNode.getData() as NodeProperties; selectedNode.setAttrByPath('text/text', `${nodeData.icon} ${newLabel}`); - selectedNode.setData({ ...selectedNode.data, name: newLabel }); + selectedNode.setData({ ...selectedNode.getData(), name: newLabel }); } }; useEffect(() => { if (values && selectedNode) { const { id, knowledge_retrieval, group, group_variables, ...rest } = values - const { knowledge_bases = [], ...restKnowledgeConfig } = (knowledge_retrieval as any) || {} + const { knowledge_bases = [], name: _name, description: _description, ...restKnowledgeConfig } = (knowledge_retrieval as any) || {} let allRest = { ...rest, @@ -136,21 +136,23 @@ const Properties: FC = ({ })) } + const nodeData = selectedNode.getData() + Object.keys(values).forEach(key => { - if (selectedNode.data?.config?.[key]) { + if (nodeData?.config?.[key]) { // Create a deep copy to avoid reference sharing between nodes - if (!selectedNode.data.config[key]) { - selectedNode.data.config[key] = {}; + if (!nodeData.config[key]) { + nodeData.config[key] = {}; } - selectedNode.data.config[key] = { - ...selectedNode.data.config[key], + nodeData.config[key] = { + ...nodeData.config[key], defaultValue: values[key] }; } }) selectedNode?.setData({ - ...selectedNode.data, + ...nodeData, ...allRest, }) } From 479bba9a4eb854cc60a902767457a4870a8867ff Mon Sep 17 00:00:00 2001 From: zhaoying Date: Fri, 6 Mar 2026 17:27:43 +0800 Subject: [PATCH 2/2] feat(web): http-request add headers variable --- .../components/Properties/hooks/useVariableList.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/web/src/views/Workflow/components/Properties/hooks/useVariableList.ts b/web/src/views/Workflow/components/Properties/hooks/useVariableList.ts index 4dca4854..779174ff 100644 --- a/web/src/views/Workflow/components/Properties/hooks/useVariableList.ts +++ b/web/src/views/Workflow/components/Properties/hooks/useVariableList.ts @@ -35,7 +35,8 @@ const NODE_VARIABLES = { ], 'http-request': [ { label: 'body', dataType: 'string', field: 'body' }, - { label: 'status_code', dataType: 'number', field: 'status_code' } + { label: 'status_code', dataType: 'number', field: 'status_code' }, + { label: 'headers', dataType: 'object', field: 'headers' }, ], 'question-classifier': [{ label: 'class_name', dataType: 'string', field: 'class_name' }], 'memory-read': [ @@ -390,11 +391,6 @@ export const useVariableList = ( addVariable(list, keys, `${pid}_item`, 'item', itemType, `${pid}.item`, pd); addVariable(list, keys, `${pid}_index`, 'index', 'number', `${pid}.index`, pd); } else if (pd.type === 'iteration' && !pd.config.input.defaultValue) { - let itemType = 'object'; - const iv = list.find(v => `{{${v.value}}}` === pd.config.input.defaultValue); - if (iv?.dataType.startsWith('array[')) { - itemType = iv.dataType.replace(/^array\[(.+)\]$/, '$1'); - } addVariable(list, keys, `${pid}_item`, 'item', 'string', `${pid}.item`, pd); addVariable(list, keys, `${pid}_index`, 'index', 'number', `${pid}.index`, pd); }