diff --git a/apps/application/flow/knowledge_workflow_manage.py b/apps/application/flow/knowledge_workflow_manage.py
index 3b69ac0b6..3667b61c7 100644
--- a/apps/application/flow/knowledge_workflow_manage.py
+++ b/apps/application/flow/knowledge_workflow_manage.py
@@ -101,19 +101,3 @@ class KnowledgeWorkflowManage(WorkflowManage):
current_node.node_chunk.end()
QuerySet(KnowledgeAction).filter(id=self.params.get('knowledge_action_id')).update(
details=self.get_runtime_details())
-
- def get_reference_field(self, node_id: str, fields: List[str]):
- """
- @param node_id: 节点id
- @param fields: 字段
- @return:
- """
- if node_id == 'knowledge-base-node':
- return INode.get_field(self.context, fields)
- elif node_id == 'chat':
- return INode.get_field(self.chat_context, fields)
- else:
- node = self.get_node_by_id(node_id)
- if node:
- return node.get_reference_field(fields)
- return None
diff --git a/ui/src/workflow/common/app-node.ts b/ui/src/workflow/common/app-node.ts
index 813531106..d2b42de89 100644
--- a/ui/src/workflow/common/app-node.ts
+++ b/ui/src/workflow/common/app-node.ts
@@ -77,6 +77,22 @@ class AppNode extends HtmlResize.view {
children: this.props.model.properties?.config?.chatFields || [],
})
}
+ if (this.props.model.type === 'knowledge-base-node') {
+ let globalFields = []
+ if (this.props.model.properties.user_input_field_list) {
+ globalFields = this.props.model.properties.user_input_field_list.map((item: any) => ({
+ label: item.label.label,
+ value: item.field,
+ }))
+ }
+
+ result.push({
+ value: 'global',
+ label: t('views.workflow.variable.global'),
+ type: 'global',
+ children: globalFields,
+ })
+ }
result.push({
value: this.props.model.id,
icon: this.props.model.properties.node_data?.icon,
diff --git a/ui/src/workflow/nodes/knowledge-base-node/component/UserInputFieldTable.vue b/ui/src/workflow/nodes/knowledge-base-node/component/UserInputFieldTable.vue
index f61b5269a..455e92c64 100644
--- a/ui/src/workflow/nodes/knowledge-base-node/component/UserInputFieldTable.vue
+++ b/ui/src/workflow/nodes/knowledge-base-node/component/UserInputFieldTable.vue
@@ -155,13 +155,7 @@ function refreshFieldList(data: any, index: any) {
inputFieldList.value.push(data)
}
UserFieldFormDialogRef.value.close()
- const fields = inputFieldList.value.map((item) => ({
- label: item.label.label,
- value: item.field,
- }))
-
set(props.nodeModel.properties, 'user_input_field_list', cloneDeep(inputFieldList.value))
- set(props.nodeModel.properties.config, 'fields', fields)
onDragHandle()
}
@@ -217,12 +211,6 @@ onMounted(() => {
inputFieldList.value = cloneDeep(props.nodeModel.properties.user_input_field_list)
}
- const fields = inputFieldList.value.map((item) => ({
- label: item.label.label,
- value: item.field,
- }))
- set(props.nodeModel.properties.config, 'fields', fields)
-
onDragHandle()
})
diff --git a/ui/src/workflow/nodes/knowledge-base-node/index.vue b/ui/src/workflow/nodes/knowledge-base-node/index.vue
index 8f986440b..16ebd572b 100644
--- a/ui/src/workflow/nodes/knowledge-base-node/index.vue
+++ b/ui/src/workflow/nodes/knowledge-base-node/index.vue
@@ -1,24 +1,60 @@
+
+
+ {{ $t('common.param.outputParam') }}
+
+
+
+
{{ item.label }} {{ '{' + item.value + '}' }}
+
+
+
+
+
+
+
+