diff --git a/ui/src/workflow-canvas/icons/variable-aggregation-node-icon.vue b/ui/src/workflow-canvas/icons/variable-aggregation-node-icon.vue
new file mode 100644
index 00000000000..7ea4a139f8c
--- /dev/null
+++ b/ui/src/workflow-canvas/icons/variable-aggregation-node-icon.vue
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/ui/src/workflow-canvas/nodes/variable-aggregation-node/component/GroupFieldDialog.vue b/ui/src/workflow-canvas/nodes/variable-aggregation-node/component/GroupFieldDialog.vue
new file mode 100644
index 00000000000..10ae75633be
--- /dev/null
+++ b/ui/src/workflow-canvas/nodes/variable-aggregation-node/component/GroupFieldDialog.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/src/workflow-canvas/nodes/variable-aggregation-node/index.ts b/ui/src/workflow-canvas/nodes/variable-aggregation-node/index.ts
new file mode 100644
index 00000000000..42bc4ae86df
--- /dev/null
+++ b/ui/src/workflow-canvas/nodes/variable-aggregation-node/index.ts
@@ -0,0 +1,19 @@
+import VariableAggregationNodeVue from './index.vue'
+import { WorkflowNodeModel, WorkflowNodeView } from '@/workflow-canvas/core/workflow-node'
+import { WorkflowNodeType } from '@/workflow-canvas/types'
+
+class VariableAggregationNodeView extends WorkflowNodeView {
+ constructor(props: ConstructorParameters[0]) {
+ super(props, VariableAggregationNodeVue)
+ }
+}
+
+class VariableAggregationNodeModel extends WorkflowNodeModel {
+ setAttributes() {
+ this.width = Number(this.properties.width ?? 450)
+ this.height = Number(this.properties.height ?? 300)
+ this.text.editable = false
+ }
+}
+
+export default { type: WorkflowNodeType.VariableAggregationNode, model: VariableAggregationNodeModel, view: VariableAggregationNodeView }
diff --git a/ui/src/workflow-canvas/nodes/variable-aggregation-node/index.vue b/ui/src/workflow-canvas/nodes/variable-aggregation-node/index.vue
new file mode 100644
index 00000000000..8170b66dc15
--- /dev/null
+++ b/ui/src/workflow-canvas/nodes/variable-aggregation-node/index.vue
@@ -0,0 +1,322 @@
+
+
+ 节点设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ group.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加
+
+
+
+
+
+
+ 添加分组
+
+
+
+
+
+
+