diff --git a/ui/src/assets/workflow/icon_data-source-local.svg b/ui/src/assets/workflow/icon_data-source-local.svg
new file mode 100644
index 000000000..9ec61b967
--- /dev/null
+++ b/ui/src/assets/workflow/icon_data-source-local.svg
@@ -0,0 +1,9 @@
+
diff --git a/ui/src/assets/workflow/icon_document-split.svg b/ui/src/assets/workflow/icon_document-split.svg
new file mode 100644
index 000000000..86fa913e1
--- /dev/null
+++ b/ui/src/assets/workflow/icon_document-split.svg
@@ -0,0 +1,5 @@
+
diff --git a/ui/src/assets/workflow/icon_knowledge-write.svg b/ui/src/assets/workflow/icon_knowledge-write.svg
new file mode 100644
index 000000000..da1dea616
--- /dev/null
+++ b/ui/src/assets/workflow/icon_knowledge-write.svg
@@ -0,0 +1,5 @@
+
diff --git a/ui/src/components/dropdown_menu/application/NodeContent.vue b/ui/src/components/dropdown_menu/application/NodeContent.vue
index 40205164e..af3182947 100644
--- a/ui/src/components/dropdown_menu/application/NodeContent.vue
+++ b/ui/src/components/dropdown_menu/application/NodeContent.vue
@@ -100,23 +100,5 @@ watch([() => filterText.value, () => props.list], () => {
diff --git a/ui/src/components/dropdown_menu/application/index.vue b/ui/src/components/dropdown_menu/application/index.vue
index 50cc6b19f..3b04c43c1 100644
--- a/ui/src/components/dropdown_menu/application/index.vue
+++ b/ui/src/components/dropdown_menu/application/index.vue
@@ -310,39 +310,5 @@ async function handleClick(val: string) {
onMounted(() => {})
diff --git a/ui/src/components/dropdown_menu/index.scss b/ui/src/components/dropdown_menu/index.scss
new file mode 100644
index 000000000..819d9185c
--- /dev/null
+++ b/ui/src/components/dropdown_menu/index.scss
@@ -0,0 +1,45 @@
+.workflow-dropdown-menu {
+ -moz-user-select: none; /* Firefox */
+ -webkit-user-select: none; /* WebKit内核 */
+ -ms-user-select: none; /* IE10及以后 */
+ -khtml-user-select: none; /* 早期浏览器 */
+ -o-user-select: none; /* Opera */
+ user-select: none; /* CSS3属性 */
+ position: absolute;
+ top: 49px;
+ right: 16px;
+ z-index: 99;
+ width: 600px;
+ box-shadow: 0px 4px 8px 0px var(--app-text-color-light-1);
+ padding-bottom: 8px;
+
+ .title {
+ padding: 12px 12px 4px;
+ }
+ .workflow-dropdown-item {
+ &:hover {
+ background: var(--app-text-color-light-1);
+ }
+ }
+
+ .list-item {
+ box-sizing: border-box;
+ &:hover {
+ border-color: var(--el-color-primary);
+ }
+ }
+
+ .el-tabs__header {
+ margin-bottom: 0;
+ }
+ .list {
+ cursor: default;
+ padding: 12px;
+ gap: 12px;
+ box-sizing: border-box;
+
+ .el-empty {
+ margin: 0 auto;
+ }
+ }
+}
diff --git a/ui/src/components/dropdown_menu/index.vue b/ui/src/components/dropdown_menu/index.vue
index 9e39a09f0..d801ad0fe 100644
--- a/ui/src/components/dropdown_menu/index.vue
+++ b/ui/src/components/dropdown_menu/index.vue
@@ -23,4 +23,6 @@ const kw: any = {
[WorkflowMode.Knowledge]: KnowledgeDropdownMenu,
}
-
+
diff --git a/ui/src/components/dropdown_menu/knowledge/NodeContent.vue b/ui/src/components/dropdown_menu/knowledge/NodeContent.vue
index 40205164e..9856a8fc3 100644
--- a/ui/src/components/dropdown_menu/knowledge/NodeContent.vue
+++ b/ui/src/components/dropdown_menu/knowledge/NodeContent.vue
@@ -30,9 +30,7 @@
>
-
-
-
+
{{ item.name }}
@@ -48,19 +46,9 @@
>
-
-
-
+
{{ item.name }}
-
-
- {{ $t('views.application.workflow') }}
-
-
- {{ $t('views.application.simple') }}
-
-
{{ item.desc }}
@@ -73,7 +61,6 @@
-
+
diff --git a/ui/src/components/dropdown_menu/knowledge/index.vue b/ui/src/components/dropdown_menu/knowledge/index.vue
index a4f227133..77146f4ef 100644
--- a/ui/src/components/dropdown_menu/knowledge/index.vue
+++ b/ui/src/components/dropdown_menu/knowledge/index.vue
@@ -71,27 +71,26 @@
-
-
+
+
-
-
-
+
clickNodes(toolLibNode, val, 'tool')"
- @onmousedown="(val: any) => onmousedown(toolLibNode, val, 'tool')"
+ @clickNodes="(val: any) => clickNodes(toolLibNode, val)"
+ @onmousedown="(val: any) => onmousedown(toolLibNode, val)"
/>
@@ -100,23 +99,22 @@
-
-
-
+
clickNodes(toolLibNode, val, 'tool')"
- @onmousedown="(val: any) => onmousedown(toolLibNode, val, 'tool')"
+ @clickNodes="(val: any) => clickNodes(toolLibNode, val)"
+ @onmousedown="(val: any) => onmousedown(toolLibNode, val)"
/>
@@ -129,7 +127,6 @@ import { ref, onMounted, computed, inject } from 'vue'
import { getMenuNodes, toolLibNode, applicationNode } from '@/workflow/common/data'
import { iconComponent } from '@/workflow/icons/utils'
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
-import { isWorkFlow } from '@/utils/application'
import useStore from '@/stores'
import NodeContent from './NodeContent.vue'
import { SourceTypeEnum } from '@/enums/common'
@@ -186,28 +183,20 @@ const filter_menu_nodes = computed(() => {
return result
}, [])
})
-function clickNodes(item: any, data?: any, type?: string) {
+function clickNodes(item: any, data?: any) {
if (data) {
item['properties']['stepName'] = data.name
- if (type == 'tool') {
- if (data.tool_type == 'DATA_SOURCE') {
- item['properties'].kind = WorkflowKind.DataSource
- }
- item['properties']['node_data'] = {
- ...data,
- tool_lib_id: data.id,
- input_field_list: data.input_field_list.map((field: any) => ({
- ...field,
- value: field.source == 'reference' ? [] : '',
- })),
- }
+
+ if (data.tool_type == 'DATA_SOURCE') {
+ item['properties'].kind = WorkflowKind.DataSource
}
- if (type == 'application') {
- item['properties']['node_data'] = {
- name: data.name,
- icon: data.icon,
- application_id: data.id,
- }
+ item['properties']['node_data'] = {
+ ...data,
+ tool_lib_id: data.id,
+ input_field_list: data.input_field_list.map((field: any) => ({
+ ...field,
+ value: field.source == 'reference' ? [] : '',
+ })),
}
}
props.workflowRef?.addNode(item)
@@ -215,38 +204,19 @@ function clickNodes(item: any, data?: any, type?: string) {
emit('clickNodes', item)
}
-function onmousedown(item: any, data?: any, type?: string) {
+function onmousedown(item: any, data?: any) {
if (data) {
item['properties']['stepName'] = data.name
- if (type == 'tool') {
- if (data.tool_type == 'DATA_SOURCE') {
- item['properties'].kind = WorkflowKind.DataSource
- }
- item['properties']['node_data'] = {
- ...data,
- tool_lib_id: data.id,
- input_field_list: data.input_field_list.map((field: any) => ({
- ...field,
- value: field.source == 'reference' ? [] : '',
- })),
- }
+ if (data.tool_type == 'DATA_SOURCE') {
+ item['properties'].kind = WorkflowKind.DataSource
}
- if (type == 'application') {
- if (isWorkFlow(data.type)) {
- const nodeData = data.work_flow.nodes[0].properties.node_data
- const fileUploadSetting = nodeData.file_upload_setting
- item['properties']['node_data'] = {
- name: data.name,
- icon: data.icon,
- application_id: data.id,
- }
- } else {
- item['properties']['node_data'] = {
- name: data.name,
- icon: data.icon,
- application_id: data.id,
- }
- }
+ item['properties']['node_data'] = {
+ ...data,
+ tool_lib_id: data.id,
+ input_field_list: data.input_field_list.map((field: any) => ({
+ ...field,
+ value: field.source == 'reference' ? [] : '',
+ })),
}
}
props.workflowRef?.onmousedown(item)
@@ -275,88 +245,20 @@ async function getToolList() {
toolList.value = toolList.value?.filter((item: any) => item.is_active)
}
-const applicationTreeData = ref([])
-const applicationList = ref([])
-
-function getApplicationFolder() {
- folder.asyncGetFolder(SourceTypeEnum.APPLICATION, {}, loading).then((res: any) => {
- applicationTreeData.value = res.data
- folder.setCurrentFolder(res.data?.[0] || {})
- })
-}
-
-async function getApplicationList() {
- const res = await loadSharedApi({
- type: 'application',
- systemType: 'workspace',
- }).getAllApplication({
- folder_id: folder.currentFolder?.id || user.getWorkspaceId(),
- })
- applicationList.value = res.data.filter(
- (item: any) => item.resource_type === 'application' && item.id !== props.id && item.is_publish,
- )
-}
-
function folderClickHandle(row: any) {
folder.setCurrentFolder(row)
- if (activeName.value === 'tool') {
+ if (['DATA_SOURCE_TOOL', 'CUSTOM_TOOL'].includes(activeName.value)) {
getToolList()
- } else {
- getApplicationList()
}
}
async function handleClick(val: string) {
- console.log(val)
if (['DATA_SOURCE_TOOL', 'CUSTOM_TOOL'].includes(val)) {
await getToolFolder()
getToolList()
- } else if (val === 'application') {
- getApplicationFolder()
- getApplicationList()
}
}
onMounted(() => {})
-
+
diff --git a/ui/src/locales/lang/en-US/views/tool.ts b/ui/src/locales/lang/en-US/views/tool.ts
index 673320c56..e740621c8 100644
--- a/ui/src/locales/lang/en-US/views/tool.ts
+++ b/ui/src/locales/lang/en-US/views/tool.ts
@@ -4,17 +4,20 @@ export default {
createTool: 'Create Tool',
editTool: 'Edit Tool',
createMcpTool: 'Create MCP',
- createDataSourceTool: 'Create Data Source',
- dataSource: 'Data Source',
- editDataSourceTool: 'Edit Data Source',
editMcpTool: 'Edit MCP',
copyTool: 'Copy Tool',
copyMcpTool: 'Copy MCP',
- copyDataSource: 'Copy Data Source',
importTool: 'Import Tool',
settingTool: 'Set Tool',
mcpConfig: 'MCP Service Config',
updatedVersion: 'Updated Version',
+ dataSource: {
+ title: 'Data Source',
+ createDataSource: 'Create Data Source',
+ editDataSource: 'Edit Data Source',
+ copyDataSource: 'Copy Data Source',
+ selectDataSource: 'Select Data Source',
+ },
toolStore: {
title: 'Tool Store',
createFromToolStore: 'Create from Tool Store',
diff --git a/ui/src/locales/lang/en-US/views/workflow.ts b/ui/src/locales/lang/en-US/views/workflow.ts
index 38a780dee..abba9b99b 100644
--- a/ui/src/locales/lang/en-US/views/workflow.ts
+++ b/ui/src/locales/lang/en-US/views/workflow.ts
@@ -87,9 +87,13 @@ export default {
dataSourceWebNode: {
label: 'Web Site',
text: 'Web Site',
- display: 'No data available',
field_label: 'Document list',
},
+ dataSourceLocalNode: {
+ label: 'Local File',
+ text: 'Local File',
+ fileList: 'File List',
+ },
classify: {
aiCapability: 'AI capability',
businessLogic: 'Business logic',
@@ -162,8 +166,8 @@ export default {
customTooltip: 'Manually set tag filtering conditions',
auto: 'Automatic',
autoTooltip: 'Automatically filter setting tag conditions based on the search question',
- document_list: 'Document List',
- knowledge_list: 'Knowledge Base List',
+ documentList: 'Document List',
+ knowledgeList: 'Knowledge Base List',
result: 'Search Results',
searchParam: 'Search Parameters',
select_variable: 'Select Variable',
@@ -253,7 +257,7 @@ You are a master of problem optimization, adept at accurately inferring user int
documentSplitNode: {
label: 'Document Splitting',
text: 'Split document content into smaller segments',
- paragraph_list: 'List of split segments',
+ paragraphList: 'List of split segments',
splitStrategy: {
label: 'Splitting Strategy',
placeholder: 'Please select a splitting strategy',
diff --git a/ui/src/locales/lang/zh-CN/views/tool.ts b/ui/src/locales/lang/zh-CN/views/tool.ts
index a3e6d41c0..b4be46047 100644
--- a/ui/src/locales/lang/zh-CN/views/tool.ts
+++ b/ui/src/locales/lang/zh-CN/views/tool.ts
@@ -4,17 +4,20 @@ export default {
createTool: '创建工具',
editTool: '编辑工具',
createMcpTool: '创建MCP',
- createDataSourceTool: '创建数据源',
- dataSource: '数据源',
- editDataSourceTool: '编辑数据源',
editMcpTool: '编辑MCP',
copyTool: '复制工具',
copyMcpTool: '复制MCP',
- copyDataSource: '复制数据源',
importTool: '导入工具',
settingTool: '设置工具',
mcpConfig: 'MCP服务配置',
updatedVersion: '更新版本',
+ dataSource: {
+ title: '数据源',
+ createDataSource: '创建数据源',
+ editDataSource: '编辑数据源',
+ copyDataSource: '复制数据源',
+ selectDataSource: '选择数据源',
+ },
toolStore: {
title: '工具商店',
createFromToolStore: '从工具商店创建',
diff --git a/ui/src/locales/lang/zh-CN/views/workflow.ts b/ui/src/locales/lang/zh-CN/views/workflow.ts
index b34a42b23..4679f5a3e 100644
--- a/ui/src/locales/lang/zh-CN/views/workflow.ts
+++ b/ui/src/locales/lang/zh-CN/views/workflow.ts
@@ -88,9 +88,13 @@ export default {
dataSourceWebNode: {
label: 'Web站点',
text: 'Web站点',
- display: '暂无数据',
field_label: '文档列表',
},
+ dataSourceLocalNode: {
+ label: '本地文件',
+ text: '本地文件',
+ fileList: '文件列表',
+ },
classify: {
aiCapability: 'AI能力',
businessLogic: '业务逻辑',
@@ -168,8 +172,8 @@ export default {
customTooltip: '手动设置标签过滤条件',
auto: '自动',
autoTooltip: '根据检索问题自动匹配文档标签',
- document_list: '文档列表',
- knowledge_list: '知识库列表',
+ documentList: '文档列表',
+ knowledgeList: '知识库列表',
result: '检索结果',
searchParam: '检索参数',
select_variable: '选择变量',
@@ -258,7 +262,7 @@ export default {
documentSplitNode: {
label: '文档分段',
text: '将文档内容拆分为多个分段',
- paragraph_list: '分段列表',
+ paragraphList: '分段列表',
splitStrategy: {
label: '分段策略',
placeholder: '请选择分段策略',
diff --git a/ui/src/locales/lang/zh-Hant/views/tool.ts b/ui/src/locales/lang/zh-Hant/views/tool.ts
index b7903a468..85742afb6 100644
--- a/ui/src/locales/lang/zh-Hant/views/tool.ts
+++ b/ui/src/locales/lang/zh-Hant/views/tool.ts
@@ -4,17 +4,20 @@ export default {
createTool: '创建工具',
editTool: '編輯工具',
createMcpTool: '建立MCP',
- createDataSourceTool: '创建數據源',
- dataSource: '數據源',
- editDataSourceTool: '編輯數據源',
editMcpTool: '編輯MCP',
copyTool: '複製工具',
copyMcpTool: '複製MCP',
- copyDataSource: '複製數據源',
importTool: '匯入工具',
settingTool: '設定工具',
mcpConfig: 'MCP服務配置',
updatedVersion: '更新版本',
+ dataSource: {
+ title: '數據源',
+ createDataSource: '创建数据源',
+ editDataSource: '编辑数据源',
+ copyDataSource: '複製數據源',
+ selectDataSource: '选择数据源',
+ },
toolStore: {
title: '工具商店',
createFromToolStore: '從工具商店創建',
diff --git a/ui/src/locales/lang/zh-Hant/views/workflow.ts b/ui/src/locales/lang/zh-Hant/views/workflow.ts
index ce902d8dc..ec80ac587 100644
--- a/ui/src/locales/lang/zh-Hant/views/workflow.ts
+++ b/ui/src/locales/lang/zh-Hant/views/workflow.ts
@@ -87,9 +87,13 @@ export default {
dataSourceWebNode: {
label: 'Web網站',
text: 'Web網站',
- display: '暫無資料',
field_label: '文件列表',
},
+ dataSourceLocalNode: {
+ label: '本地文件',
+ text: '本地文件',
+ fileList: '文件列表',
+ },
classify: {
aiCapability: 'AI能力',
businessLogic: '業務邏輯',
@@ -162,8 +166,8 @@ export default {
customTooltip: '手動設置標籤過濾條件',
auto: '自動',
autoTooltip: '根據檢索問題自動匹配文檔標簽',
- document_list: '文件清單',
- knowledge_list: '知識庫列表',
+ documentList: '文檔列表',
+ knowledgeList: '知識庫列表',
result: '檢索結果',
searchParam: '檢索參數',
select_variable: '選擇變數',
@@ -252,7 +256,7 @@ export default {
documentSplitNode: {
label: '文檔拆分',
text: '將文檔內容拆分為多個分段',
- paragraph_list: '分段列表',
+ paragraphList: '分段列表',
splitStrategy: {
label: '分段策略',
placeholder: '請選擇分段策略',
diff --git a/ui/src/views/system-resource-management/ToolResourceIndex.vue b/ui/src/views/system-resource-management/ToolResourceIndex.vue
index 12b08c938..cadc8ada5 100644
--- a/ui/src/views/system-resource-management/ToolResourceIndex.vue
+++ b/ui/src/views/system-resource-management/ToolResourceIndex.vue
@@ -82,7 +82,7 @@
MCP
- {{ $t('views.tool.dataSource') }}
+ {{ $t('views.tool.dataSource.title') }}
{{ $t('views.tool.toolStore.title') }}
{{
@@ -523,7 +523,7 @@ function openCreateDataSourceDialog(data?: any) {
return
}
- DataSourceToolDrawertitle.value = data ? t('views.tool.editDataSourceTool') : t('views.tool.createDataSourceTool')
+ DataSourceToolDrawertitle.value = data ? t('views.tool.dataSource.editDataSource') : t('views.tool.dataSource.createDataSource')
if (data) {
ToolResourceApi.getToolById(data?.id, loading).then((res: any) => {
DataSourceToolFormDrawerRef.value.open(res.data)
diff --git a/ui/src/views/system-shared/ToolSharedIndex.vue b/ui/src/views/system-shared/ToolSharedIndex.vue
index 4060d0883..ba74ed165 100644
--- a/ui/src/views/system-shared/ToolSharedIndex.vue
+++ b/ui/src/views/system-shared/ToolSharedIndex.vue
@@ -14,7 +14,7 @@
{{ $t('views.tool.all') }}
{{ $t('views.tool.title') }}
MCP
- {{ $t('views.tool.dataSource') }}
+ {{ $t('views.tool.dataSource.title') }}
diff --git a/ui/src/views/tool/component/ToolListContainer.vue b/ui/src/views/tool/component/ToolListContainer.vue
index 434b5a159..868bb1aaf 100644
--- a/ui/src/views/tool/component/ToolListContainer.vue
+++ b/ui/src/views/tool/component/ToolListContainer.vue
@@ -78,7 +78,7 @@
-
{{ $t('views.tool.createDataSourceTool') }}
+
{{ $t('views.tool.dataSource.createDataSource') }}
@@ -574,8 +574,8 @@ function openCreateDataSourceDialog(data?: any) {
return
}
DataSourceToolDrawertitle.value = data
- ? t('views.tool.editDataSourceTool')
- : t('views.tool.createDataSourceTool')
+ ? t('views.tool.dataSource.editDataSource')
+ : t('views.tool.dataSource.createDataSource')
if (data) {
loadSharedApi({ type: 'tool', systemType: apiType.value })
.getToolById(data?.id, loading)
@@ -683,7 +683,7 @@ async function copyMcpTool(row: any) {
}
async function copyDataSource(row: any) {
- DataSourceToolDrawertitle.value = t('views.tool.copyDataSource')
+ DataSourceToolDrawertitle.value = t('views.tool.dataSource.copyDataSource')
const res = await loadSharedApi({ type: 'tool', systemType: apiType.value }).getToolById(
row.id,
changeStateloading,
diff --git a/ui/src/views/tool/index.vue b/ui/src/views/tool/index.vue
index 2d535c67d..5252f3c56 100644
--- a/ui/src/views/tool/index.vue
+++ b/ui/src/views/tool/index.vue
@@ -26,7 +26,7 @@
{{ $t('views.tool.all') }}
{{ $t('views.tool.title') }}
MCP
- {{ $t('views.tool.dataSource') }}
+ {{ $t('views.tool.dataSource.title') }}
diff --git a/ui/src/workflow/common/data.ts b/ui/src/workflow/common/data.ts
index 734c7dd4f..3494c31e6 100644
--- a/ui/src/workflow/common/data.ts
+++ b/ui/src/workflow/common/data.ts
@@ -30,9 +30,7 @@ export const startNode = {
],
},
fields: [{ label: t('views.workflow.nodes.startNode.question'), value: 'question' }],
- globalFields: [
- { label: t('views.workflow.nodes.startNode.currentTime'), value: 'time' },
- ],
+ globalFields: [{ label: t('views.workflow.nodes.startNode.currentTime'), value: 'time' }],
showNode: true,
},
}
@@ -84,18 +82,18 @@ export const dataSourceLocalNode = {
type: WorkflowType.DataSourceLocalNode,
x: 360,
y: 2761.3875,
- text: t('views.workflow.nodes.dataSourceLocalNode.text', '本地文件'),
- label: t('views.workflow.nodes.dataSourceLocalNode.label', '本地文件'),
+ text: t('views.workflow.nodes.dataSourceLocalNode.text'),
+ label: t('views.workflow.nodes.dataSourceLocalNode.label'),
properties: {
kind: WorkflowKind.DataSource,
height: 728.375,
- stepName: t('views.workflow.nodes.dataSourceLocalNode.label', '本地文件'),
+ stepName: t('views.workflow.nodes.dataSourceLocalNode.label'),
input_field_list: [],
node_data: {},
config: {
fields: [
{
- label: t('views.workflow.nodes.dataSourceLocalNode.field_label', '文件列表'),
+ label: t('views.workflow.nodes.dataSourceLocalNode.fileList'),
value: 'file_list',
},
],
@@ -111,12 +109,12 @@ export const dataSourceWebNode = {
type: WorkflowType.DataSourceWebNode,
x: 360,
y: 2761.3875,
- text: t('views.workflow.nodes.dataSourceWebNode.text', 'Web站点'),
- label: t('views.workflow.nodes.dataSourceWebNode.label', 'Web站点'),
+ text: t('views.workflow.nodes.dataSourceWebNode.text'),
+ label: t('views.workflow.nodes.dataSourceWebNode.label'),
properties: {
kind: WorkflowKind.DataSource,
height: 180,
- stepName: t('views.workflow.nodes.dataSourceWebNode.label', 'Web站点'),
+ stepName: t('views.workflow.nodes.dataSourceWebNode.label'),
config: {
fields: [
{
@@ -191,9 +189,7 @@ export const searchKnowledgeNode = {
value: 'paragraph_list',
},
{
- label: t(
- 'views.workflow.nodes.searchKnowledgeNode.is_hit_handling_method_list',
- ),
+ label: t('views.workflow.nodes.searchKnowledgeNode.is_hit_handling_method_list'),
value: 'is_hit_handling_method_list',
},
{
@@ -223,11 +219,11 @@ export const searchDocumentNode = {
config: {
fields: [
{
- label: t('views.workflow.nodes.searchDocumentNode.knowledge_list'),
+ label: t('views.workflow.nodes.searchDocumentNode.knowledgeList'),
value: 'knowledge_list',
},
{
- label: t('views.workflow.nodes.searchDocumentNode.document_list'),
+ label: t('views.workflow.nodes.searchDocumentNode.documentList'),
value: 'document_list',
},
],
@@ -402,7 +398,7 @@ export const documentSplitNode = {
config: {
fields: [
{
- label: t('views.workflow.nodes.documentSplitNode.paragraph_list'),
+ label: t('views.workflow.nodes.documentSplitNode.paragraphList'),
value: 'paragraph_list',
},
],
@@ -726,9 +722,13 @@ export const loopBreakNode = {
export const knowledgeMenuNodes = [
{
- label: t('views.workflow.nodes.classify.dataSource', '数据源'),
+ label: t('views.tool.dataSource.title'),
list: [dataSourceLocalNode, dataSourceWebNode],
},
+ {
+ label: t('views.knowledge.title'),
+ list: [documentSplitNode, knowledgeWriteNode, documentExtractNode],
+ },
{
label: t('views.workflow.nodes.classify.aiCapability'),
list: [
@@ -744,10 +744,7 @@ export const knowledgeMenuNodes = [
questionNode,
],
},
- {
- label: t('views.knowledge.title'),
- list: [documentExtractNode, documentSplitNode, knowledgeWriteNode],
- },
+
{
label: t('views.workflow.nodes.classify.businessLogic'),
list: [conditionNode, replyNode, loopNode],
@@ -837,7 +834,7 @@ export const applicationLoopMenuNodes = [
list: [conditionNode, formNode, replyNode, loopContinueNode, loopBreakNode],
},
{
- label: t('views.workflow.nodes.classify.dataProcessing', '数据处理'),
+ label: t('views.workflow.nodes.classify.dataProcessing'),
list: [
variableAssignNode,
variableSplittingNode,
@@ -875,7 +872,7 @@ export const knowledgeLoopMenuNodes = [
list: [conditionNode, replyNode, loopContinueNode, loopBreakNode],
},
{
- label: t('views.workflow.nodes.classify.dataProcessing', '数据处理'),
+ label: t('views.workflow.nodes.classify.dataProcessing'),
list: [
variableAssignNode,
variableSplittingNode,
diff --git a/ui/src/workflow/icons/data-source-local-node-icon.vue b/ui/src/workflow/icons/data-source-local-node-icon.vue
index f3457837b..fbe3299c1 100644
--- a/ui/src/workflow/icons/data-source-local-node-icon.vue
+++ b/ui/src/workflow/icons/data-source-local-node-icon.vue
@@ -1,6 +1,6 @@
-
-
+
+
diff --git a/ui/src/workflow/icons/document-split-node-icon.vue b/ui/src/workflow/icons/document-split-node-icon.vue
index a081bb44f..d945ad86a 100644
--- a/ui/src/workflow/icons/document-split-node-icon.vue
+++ b/ui/src/workflow/icons/document-split-node-icon.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/ui/src/workflow/icons/knowledge-write-node-icon.vue b/ui/src/workflow/icons/knowledge-write-node-icon.vue
index 2408c9f3d..9db374db1 100644
--- a/ui/src/workflow/icons/knowledge-write-node-icon.vue
+++ b/ui/src/workflow/icons/knowledge-write-node-icon.vue
@@ -1,6 +1,6 @@
-
+
-
\ No newline at end of file
+
diff --git a/ui/src/workflow/nodes/data-source-web-node/index.vue b/ui/src/workflow/nodes/data-source-web-node/index.vue
index e0c2f2925..64a223906 100644
--- a/ui/src/workflow/nodes/data-source-web-node/index.vue
+++ b/ui/src/workflow/nodes/data-source-web-node/index.vue
@@ -2,7 +2,7 @@
{{ $t('views.workflow.nodeSetting') }}
- {{ $t('views.workflow.nodes.dataSourceWebNode.display') }}
+ {{ $t('common.noData') }}
@@ -11,7 +11,6 @@
import NodeContainer from '@/workflow/common/NodeContainer.vue'
import { computed } from 'vue'
import { set } from 'lodash'
-import NodeCascader from '@/workflow/common/NodeCascader.vue'
const props = defineProps<{ nodeModel: any }>()
diff --git a/ui/src/workflow/nodes/search-document-node/index.vue b/ui/src/workflow/nodes/search-document-node/index.vue
index a5e3e5638..d8598c548 100644
--- a/ui/src/workflow/nodes/search-document-node/index.vue
+++ b/ui/src/workflow/nodes/search-document-node/index.vue
@@ -93,13 +93,13 @@
>
diff --git a/ui/src/workflow/nodes/search-knowledge-node/index.vue b/ui/src/workflow/nodes/search-knowledge-node/index.vue
index 159dc2e56..ef7258f50 100644
--- a/ui/src/workflow/nodes/search-knowledge-node/index.vue
+++ b/ui/src/workflow/nodes/search-knowledge-node/index.vue
@@ -92,13 +92,13 @@
>