mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-27 20:42:52 +00:00
perf: Optimize translation files
This commit is contained in:
parent
85597a4568
commit
9368df5d39
|
|
@ -229,7 +229,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6 mt-8" v-if="data.type == WorkflowType.AiChat">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.think') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.think') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
{{ data.reasoning_content || '-' }}
|
||||
|
|
@ -671,7 +671,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.label') }}
|
||||
{{ $t('views.workflow.nodes.imageGenerateNode.negative_prompt.label') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
{{ data.negative_prompt || '-' }}
|
||||
|
|
@ -709,7 +709,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.label') }}
|
||||
{{ $t('views.workflow.nodes.imageGenerateNode.negative_prompt.label') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
{{ data.negative_prompt || '-' }}
|
||||
|
|
@ -748,7 +748,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.label') }}
|
||||
{{ $t('views.workflow.nodes.imageGenerateNode.negative_prompt.label') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
{{ data.negative_prompt || '-' }}
|
||||
|
|
@ -756,7 +756,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.first_frame.label') }}
|
||||
{{ $t('views.workflow.nodes.imageToVideoGenerate.first_frame.label') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
<div v-if="typeof data.first_frame_url === 'string'">
|
||||
|
|
@ -785,7 +785,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6 mt-8">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.last_frame.label') }}
|
||||
{{ $t('views.workflow.nodes.imageToVideoGenerate.last_frame.label') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
<div v-if="typeof data.last_frame_url === 'string'">
|
||||
|
|
@ -889,7 +889,7 @@
|
|||
<template v-if="data.type === WorkflowType.VariableAggregationNode">
|
||||
<div class="card-never border-r-6">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.variableAggregationNode.Strategy') }}
|
||||
{{ $t('views.workflow.nodes.variableAggregationNode.Strategy') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter pre-wrap">
|
||||
{{ data.strategy }}
|
||||
|
|
@ -936,7 +936,7 @@
|
|||
</div>
|
||||
<div class="card-never border-r-6">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.mcpNode.toolParam') }}
|
||||
{{ $t('views.workflow.nodes.mcpNode.toolParam') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div v-for="(value, name) in data.tool_params" :key="name" class="mb-8">
|
||||
|
|
@ -958,19 +958,19 @@
|
|||
<!-- 循环 节点 -->
|
||||
<div class="card-never border-r-6" v-if="data.type === WorkflowType.LoopNode">
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopNode.loopSetting') }}
|
||||
{{ $t('views.workflow.nodes.loopNode.loopSetting') }}
|
||||
</h5>
|
||||
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div class="mb-8">
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopNode.loopType.label') }}:</span
|
||||
{{ $t('views.workflow.nodes.loopNode.loopType.label') }}:</span
|
||||
>
|
||||
{{ data.loop_type || '-' }}
|
||||
</div>
|
||||
<div>
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopNode.loopArray.label') }}:</span
|
||||
{{ $t('views.workflow.nodes.loopNode.loopArray.label') }}:</span
|
||||
>
|
||||
{{
|
||||
data.loop_type === 'NUMBER'
|
||||
|
|
@ -980,7 +980,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<h5 class="p-8-12">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopNode.loopDetail') }}
|
||||
{{ $t('views.workflow.nodes.loopNode.loopDetail') }}
|
||||
</h5>
|
||||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<template v-if="data.type === WorkflowType.LoopNode">
|
||||
|
|
@ -1010,14 +1010,14 @@
|
|||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div class="mb-8">
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopStartNode.loopItem') }}:</span
|
||||
{{ $t('views.workflow.nodes.loopStartNode.loopItem') }}:</span
|
||||
>
|
||||
|
||||
{{ data.current_item }}
|
||||
</div>
|
||||
<div class="mb-8">
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopStartNode.loopIndex') }}:</span
|
||||
{{ $t('views.workflow.nodes.loopStartNode.loopIndex') }}:</span
|
||||
>
|
||||
|
||||
{{ data.current_index }}
|
||||
|
|
@ -1035,7 +1035,7 @@
|
|||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div class="mb-8">
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopContinueNode.isContinue') }}:</span
|
||||
{{ $t('views.workflow.nodes.loopContinueNode.isContinue') }}:</span
|
||||
>
|
||||
|
||||
{{ data.is_continue }}
|
||||
|
|
@ -1053,7 +1053,7 @@
|
|||
<div class="p-8-12 border-t-dashed lighter">
|
||||
<div class="mb-8">
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.applicationWorkflow.nodes.loopBreakNode.isBreak') }}:</span
|
||||
{{ $t('views.workflow.nodes.loopBreakNode.isBreak') }}:</span
|
||||
>
|
||||
|
||||
{{ data.is_break }}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<el-input
|
||||
v-model="search_text"
|
||||
class="mr-12 ml-12"
|
||||
:placeholder="$t('views.applicationWorkflow.searchBar.placeholder')"
|
||||
:placeholder="$t('common.searchBar.placeholder')"
|
||||
>
|
||||
<template #suffix>
|
||||
<el-icon class="el-input__icon">
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
</el-input>
|
||||
</div>
|
||||
|
||||
<el-tab-pane :label="$t('views.applicationWorkflow.baseComponent')" name="base">
|
||||
<el-tab-pane :label="$t('views.workflow.baseComponent')" name="base">
|
||||
<el-scrollbar height="400">
|
||||
<div v-if="filter_menu_nodes.length > 0">
|
||||
<template v-for="(node, index) in filter_menu_nodes" :key="index">
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
</template>
|
||||
</div>
|
||||
<div v-else class="ml-16 mt-8">
|
||||
<el-text type="info">{{ $t('views.applicationWorkflow.tip.noData') }}</el-text>
|
||||
<el-text type="info">{{ $t('views.workflow.tip.noData') }}</el-text>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</el-tab-pane>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<el-input
|
||||
v-model="search_text"
|
||||
class="mr-12 ml-12"
|
||||
:placeholder="$t('views.applicationWorkflow.searchBar.placeholder')"
|
||||
:placeholder="$t('common.searchBar.placeholder')"
|
||||
>
|
||||
<template #suffix>
|
||||
<el-icon class="el-input__icon">
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
</el-input>
|
||||
</div>
|
||||
|
||||
<el-tab-pane :label="$t('views.applicationWorkflow.baseComponent')" name="base">
|
||||
<el-tab-pane :label="$t('views.workflow.baseComponent')" name="base">
|
||||
<el-scrollbar height="400">
|
||||
<div v-if="filter_menu_nodes.length > 0">
|
||||
<template v-for="(node, index) in filter_menu_nodes" :key="index">
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
</template>
|
||||
</div>
|
||||
<div v-else class="ml-16 mt-8">
|
||||
<el-text type="info">{{ $t('views.applicationWorkflow.tip.noData') }}</el-text>
|
||||
<el-text type="info">{{ $t('views.workflow.tip.noData') }}</el-text>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</el-tab-pane>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="model"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="formValue.default_value"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -78,7 +78,7 @@ const assignment_method_option_list = computed(() => {
|
|||
]
|
||||
if (getModel) {
|
||||
option_list.push({
|
||||
label: t('views.applicationWorkflow.variable.Referencing'),
|
||||
label: t('views.workflow.variable.Referencing'),
|
||||
value: 'ref_variables',
|
||||
})
|
||||
}
|
||||
|
|
@ -137,7 +137,7 @@ const default_ref_variables_value_rule = {
|
|||
validator: (rule: any, value: any, callback: any) => {
|
||||
if (!(Array.isArray(value) && value.length > 1)) {
|
||||
callback(
|
||||
t('views.applicationWorkflow.variable.Referencing') + t('common.required'),
|
||||
t('views.workflow.variable.Referencing') + t('common.required'),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="model"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="formValue.option_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -150,7 +150,7 @@ const assignment_method_option_list = computed(() => {
|
|||
]
|
||||
if (getModel) {
|
||||
option_list.push({
|
||||
label: t('views.applicationWorkflow.variable.Referencing'),
|
||||
label: t('views.workflow.variable.Referencing'),
|
||||
value: 'ref_variables',
|
||||
})
|
||||
}
|
||||
|
|
@ -183,7 +183,7 @@ const default_ref_variables_value_rule = {
|
|||
console.log(value.length)
|
||||
if (!(Array.isArray(value) && value.length > 1)) {
|
||||
callback(
|
||||
t('views.applicationWorkflow.variable.Referencing') + t('common.required'),
|
||||
t('views.workflow.variable.Referencing') + t('common.required'),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="model"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="formValue.option_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -159,7 +159,7 @@ const assignment_method_option_list = computed(() => {
|
|||
]
|
||||
if (getModel) {
|
||||
option_list.push({
|
||||
label: t('views.applicationWorkflow.variable.Referencing'),
|
||||
label: t('views.workflow.variable.Referencing'),
|
||||
value: 'ref_variables',
|
||||
})
|
||||
}
|
||||
|
|
@ -192,7 +192,7 @@ const default_ref_variables_value_rule = {
|
|||
console.log(value.length)
|
||||
if (!(Array.isArray(value) && value.length > 1)) {
|
||||
callback(
|
||||
t('views.applicationWorkflow.variable.Referencing') + t('common.required'),
|
||||
t('views.workflow.variable.Referencing') + t('common.required'),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="model"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="formValue.option_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -150,7 +150,7 @@ const assignment_method_option_list = computed(() => {
|
|||
]
|
||||
if (getModel) {
|
||||
option_list.push({
|
||||
label: t('views.applicationWorkflow.variable.Referencing'),
|
||||
label: t('views.workflow.variable.Referencing'),
|
||||
value: 'ref_variables',
|
||||
})
|
||||
}
|
||||
|
|
@ -182,7 +182,7 @@ const default_ref_variables_value_rule = {
|
|||
console.log(value.length)
|
||||
if (!(Array.isArray(value) && value.length > 1)) {
|
||||
callback(
|
||||
t('views.applicationWorkflow.variable.Referencing') + t('common.required'),
|
||||
t('views.workflow.variable.Referencing') + t('common.required'),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="model"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="formValue.option_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -150,7 +150,7 @@ const assignment_method_option_list = computed(() => {
|
|||
]
|
||||
if (getModel) {
|
||||
option_list.push({
|
||||
label: t('views.applicationWorkflow.variable.Referencing'),
|
||||
label: t('views.workflow.variable.Referencing'),
|
||||
value: 'ref_variables',
|
||||
})
|
||||
}
|
||||
|
|
@ -183,7 +183,7 @@ const default_ref_variables_value_rule = {
|
|||
console.log(value.length)
|
||||
if (!(Array.isArray(value) && value.length > 1)) {
|
||||
callback(
|
||||
t('views.applicationWorkflow.variable.Referencing') + t('common.required'),
|
||||
t('views.workflow.variable.Referencing') + t('common.required'),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="model"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="formValue.option_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -149,7 +149,7 @@ const assignment_method_option_list = computed(() => {
|
|||
]
|
||||
if (getModel) {
|
||||
option_list.push({
|
||||
label: t('views.applicationWorkflow.variable.Referencing'),
|
||||
label: t('views.workflow.variable.Referencing'),
|
||||
value: 'ref_variables',
|
||||
})
|
||||
}
|
||||
|
|
@ -182,7 +182,7 @@ const default_ref_variables_value_rule = {
|
|||
console.log(value.length)
|
||||
if (!(Array.isArray(value) && value.length > 1)) {
|
||||
callback(
|
||||
t('views.applicationWorkflow.variable.Referencing') + t('common.required'),
|
||||
t('views.workflow.variable.Referencing') + t('common.required'),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<el-input
|
||||
v-model="filterText"
|
||||
:validate-event="false"
|
||||
:placeholder="$t('dynamicsForm.searchBar.placeholder')"
|
||||
:placeholder="$t('common.searchBar.placeholder')"
|
||||
class="input-with-select"
|
||||
style="--el-color-danger: #c0c4cc"
|
||||
clearable
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<el-input
|
||||
v-model="filterText"
|
||||
:validate-event="false"
|
||||
:placeholder="$t('dynamicsForm.searchBar.placeholder')"
|
||||
:placeholder="$t('common.searchBar.placeholder')"
|
||||
class="input-with-select"
|
||||
style="--el-color-danger: #c0c4cc"
|
||||
clearable
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="reasoning">
|
||||
<el-button text @click="showThink = !showThink" class="reasoning-button">
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.think') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.think') }}
|
||||
<el-icon class="ml-4" :class="showThink ? 'rotate-180' : ''"><ArrowDownBold /> </el-icon>
|
||||
</el-button>
|
||||
<el-collapse-transition>
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@ export default {
|
|||
createSuccess: 'Successful',
|
||||
copy: 'Copy',
|
||||
copySuccess: 'Successful',
|
||||
publishStatus: 'Publish Status',
|
||||
published: 'Published',
|
||||
unpublished: 'Unpublished',
|
||||
copyError: 'Copy Failed',
|
||||
save: 'Save',
|
||||
saveSuccess: 'Successful',
|
||||
|
|
@ -71,6 +68,8 @@ export default {
|
|||
disabled: 'Disabled',
|
||||
enableSuccess: 'Successful',
|
||||
disableSuccess: 'Successful',
|
||||
published: 'Published',
|
||||
unpublished: 'Unpublished',
|
||||
},
|
||||
param: {
|
||||
outputParam: 'Output Parameters',
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ export default {
|
|||
requiredMessage: 'cannot be empty',
|
||||
jsonMessage: 'Incorrect JSON format',
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: 'Please enter keywords to search',
|
||||
},
|
||||
paramForm: {
|
||||
field: {
|
||||
label: 'Parameter',
|
||||
|
|
|
|||
|
|
@ -10,17 +10,9 @@ export default {
|
|||
workflowPlaceholder:
|
||||
'Suitable for advanced users to build complex logic AI assistants using low-code drag-and-drop',
|
||||
appTest: 'Debug Preview',
|
||||
searchBar: {
|
||||
placeholder: 'Search by name',
|
||||
},
|
||||
status: {
|
||||
published: 'Published',
|
||||
unpublished: 'Unpublished',
|
||||
},
|
||||
operation: {
|
||||
addModel: 'Add Model',
|
||||
toChat: 'Chat',
|
||||
publish: 'Publish',
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: 'Are you sure you want to delete this APP: ',
|
||||
|
|
@ -78,8 +70,7 @@ export default {
|
|||
placeholder:
|
||||
'User prompt, you can reference variables in the system: {data} is the segment hit in the knowledge base; {question} is the question asked by the user',
|
||||
requiredMessage: 'Please enter User prompt',
|
||||
tooltip:
|
||||
'The question or command that the user poses to the model',
|
||||
tooltip: 'The question or command that the user poses to the model',
|
||||
|
||||
noReferencesTooltip:
|
||||
'By adjusting the content of the prompt, you can guide the direction of the large model chat. This prompt will be fixed at the beginning of the context. Variables used: {question} is the question posed by the user.',
|
||||
|
|
@ -250,4 +241,5 @@ export default {
|
|||
emptyMessage2: 'No matching sections found',
|
||||
},
|
||||
publishTime: 'Publish Time',
|
||||
publishStatus: 'Publish Status',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@ export default {
|
|||
syncDocument: 'Sync Document',
|
||||
items: 'Items',
|
||||
migrateDocument: 'Migrate to',
|
||||
searchBar: {
|
||||
placeholder: 'Search by document name',
|
||||
},
|
||||
setting: {
|
||||
migration: 'Move',
|
||||
cancelGenerateQuestion: 'Cancel Generating Questions',
|
||||
|
|
|
|||
|
|
@ -10,13 +10,12 @@ import workspace from './workspace'
|
|||
import application from './application'
|
||||
import problem from './problem'
|
||||
import applicationOverview from './application-overview'
|
||||
import applicationWorkflow from './application-workflow'
|
||||
import workflow from './workflow'
|
||||
import paragraph from './paragraph'
|
||||
import chatLog from './chat-log'
|
||||
import chatUser from './chat-user'
|
||||
import operateLog from './operate-log'
|
||||
import shared from './shared'
|
||||
import knowledgeWorkflow from './knowledge-workflow'
|
||||
export default {
|
||||
login,
|
||||
model,
|
||||
|
|
@ -30,11 +29,10 @@ export default {
|
|||
application,
|
||||
problem,
|
||||
applicationOverview,
|
||||
applicationWorkflow,
|
||||
workflow,
|
||||
paragraph,
|
||||
chatLog,
|
||||
chatUser,
|
||||
operateLog,
|
||||
shared,
|
||||
knowledgeWorkflow,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,483 +0,0 @@
|
|||
export default {
|
||||
node: 'Node',
|
||||
nodeName: 'Node Name',
|
||||
baseComponent: 'Basic',
|
||||
nodeSetting: 'Node Settings',
|
||||
workflow: 'Workflow',
|
||||
searchBar: {
|
||||
placeholder: 'Search by name',
|
||||
},
|
||||
info: {
|
||||
previewVersion: 'Preview Version:',
|
||||
saveTime: 'Last Saved:',
|
||||
},
|
||||
operation: {
|
||||
publish: 'Publish',
|
||||
toImportDoc: 'Go to Import Documents',
|
||||
},
|
||||
setting: {
|
||||
restoreVersion: 'Restore Previous Version"',
|
||||
restoreCurrentVersion: 'Restore to This Version',
|
||||
addComponent: 'Add',
|
||||
releaseHistory: 'Release History',
|
||||
autoSave: 'Auto Save',
|
||||
latestRelease: 'Latest Release',
|
||||
copyParam: 'Copy Parameters',
|
||||
debug: 'Run',
|
||||
exit: 'Exit',
|
||||
exitSave: 'Save & Exit',
|
||||
},
|
||||
tip: {
|
||||
noData: 'No related results found',
|
||||
nameMessage: 'Name cannot be empty!',
|
||||
onlyRight: 'Connections can only be made from the right anchor',
|
||||
notRecyclable: 'Loop connections are not allowed',
|
||||
onlyLeft: 'Connections can only be made to the left anchor',
|
||||
applicationNodeError: 'This application is unavailable',
|
||||
toolNodeError: 'This tool node is unavailable',
|
||||
repeatedNodeError: 'A node with this name already exists',
|
||||
cannotCopy: 'Cannot be copied',
|
||||
copyError: 'Node already copied',
|
||||
paramErrorMessage: 'Parameter already exists: ',
|
||||
saveMessage: 'Current changes have not been saved. Save before exiting?',
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: 'Confirm to delete this node?',
|
||||
deleteMessage: 'This node cannot be deleted',
|
||||
},
|
||||
control: {
|
||||
zoomOut: 'Zoom Out',
|
||||
zoomIn: 'Zoom In',
|
||||
fitView: 'Fit to Screen',
|
||||
retract: 'Collapse All',
|
||||
extend: 'Expand All',
|
||||
beautify: 'Auto-Arrange',
|
||||
},
|
||||
variable: {
|
||||
global: 'Global Variable',
|
||||
Referencing: 'Referenced Variable',
|
||||
ReferencingRequired: 'Referenced variable is required',
|
||||
ReferencingError: 'Invalid referenced variable',
|
||||
NoReferencing: 'Referenced variable does not exist',
|
||||
placeholder: 'Please select a variable',
|
||||
inputPlaceholder: 'Please enter variable',
|
||||
loop: 'Loop Variable',
|
||||
},
|
||||
condition: {
|
||||
title: 'Execution Condition',
|
||||
front: 'Precondition',
|
||||
AND: 'All',
|
||||
OR: 'Any',
|
||||
text: 'After the connected node is executed, execute the current node',
|
||||
},
|
||||
validate: {
|
||||
startNodeRequired: 'Start node is required',
|
||||
startNodeOnly: 'Only one start node is allowed',
|
||||
baseNodeRequired: 'Base information node is required',
|
||||
baseNodeOnly: 'Only one base information node is allowed',
|
||||
notInWorkFlowNode: 'Node not in workflow',
|
||||
noNextNode: 'Next node does not exist',
|
||||
nodeUnavailable: 'Node unavailable',
|
||||
needConnect1: 'The branch of the node needs to be connected',
|
||||
cannotEndNode: 'This node cannot be used as an end node',
|
||||
loopNodeBreakNodeRequired: 'Wireless loop must have a Break node',
|
||||
},
|
||||
nodes: {
|
||||
classify: {
|
||||
aiCapability: 'AI capability',
|
||||
businessLogic: 'Business logic',
|
||||
other: 'Other',
|
||||
dataProcessing: 'Data Processing',
|
||||
},
|
||||
startNode: {
|
||||
label: 'Start',
|
||||
question: 'User Question',
|
||||
currentTime: 'Current Time',
|
||||
},
|
||||
baseNode: {
|
||||
label: 'Base Information',
|
||||
appName: {
|
||||
label: 'App Name',
|
||||
},
|
||||
appDescription: {
|
||||
label: 'App Description',
|
||||
},
|
||||
fileUpload: {
|
||||
label: 'File Upload',
|
||||
tooltip: 'When enabled, the Q&A page will display a file upload button.',
|
||||
},
|
||||
FileUploadSetting: {
|
||||
title: 'File Upload Settings',
|
||||
maxFiles: 'Maximum number of files per upload',
|
||||
fileLimit: 'Maximum size per file (MB)',
|
||||
fileUploadType: {
|
||||
label: 'File types allowed for upload',
|
||||
documentText: 'Requires "Document Content Extraction" node to parse document content',
|
||||
imageText: 'Requires "Image Understanding" node to parse image content',
|
||||
videoText: 'Requires "Video Understanding" node to parse video content',
|
||||
audioText: 'Requires "Speech-to-Text" node to parse audio content',
|
||||
},
|
||||
},
|
||||
},
|
||||
aiChatNode: {
|
||||
label: 'AI Chat',
|
||||
text: 'Chat with an AI model',
|
||||
answer: 'AI Content',
|
||||
returnContent: {
|
||||
label: 'Return Content',
|
||||
tooltip: `If turned off, the content of this node will not be output to the user.
|
||||
If you want the user to see the output of this node, please turn on the switch.`,
|
||||
},
|
||||
defaultPrompt: 'Known Information',
|
||||
think: 'Thinking Process',
|
||||
historyMessage: 'Historical chat records',
|
||||
},
|
||||
searchKnowledgeNode: {
|
||||
label: 'Knowledge Retrieval',
|
||||
text: 'Allows you to query text content related to user questions from the Knowledge',
|
||||
paragraph_list: 'List of retrieved segments',
|
||||
is_hit_handling_method_list: 'List of segments that meet direct response criteria',
|
||||
result: 'Search Result',
|
||||
directly_return: 'Content of segments that meet direct response criteria',
|
||||
searchParam: 'Retrieval Parameters',
|
||||
searchQuestion: {
|
||||
label: 'Question',
|
||||
placeholder: 'Please select a search question',
|
||||
requiredMessage: 'Please select a search question',
|
||||
},
|
||||
},
|
||||
searchDocumentNode: {
|
||||
label: 'Document Tag Retrieval',
|
||||
text: 'Search for documents that meet the conditions based on the document label within the specified search scope',
|
||||
selectKnowledge: 'Search Scope',
|
||||
searchSetting: 'Search Settings',
|
||||
custom: 'Manual',
|
||||
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',
|
||||
result: 'Search Results',
|
||||
searchParam: 'Search Parameters',
|
||||
select_variable: 'Select Variable',
|
||||
valueMessage: `Value or {name} `,
|
||||
showKnowledge: {
|
||||
label: 'Results are displayed in the knowledge source',
|
||||
requiredMessage: 'Please set parameters',
|
||||
},
|
||||
searchQuestion: {
|
||||
label: 'Search Question',
|
||||
placeholder: 'Please select a search question',
|
||||
requiredMessage: 'Please select a search question',
|
||||
},
|
||||
},
|
||||
questionNode: {
|
||||
label: 'Question Optimization',
|
||||
text: 'Optimize and improve the current question based on historical chat records to better match knowledge segments',
|
||||
result: 'Optimized Question Result',
|
||||
systemDefault: `#Role
|
||||
You are a master of problem optimization, adept at accurately inferring user intentions based on context and optimizing the questions raised by users.
|
||||
|
||||
##Skills
|
||||
###Skill 1: Optimizing Problems
|
||||
2. Receive user input questions.
|
||||
3. Carefully analyze the meaning of the problem based on the context.
|
||||
4. Output optimized problems.
|
||||
|
||||
##Limitations:
|
||||
-Only return the optimized problem without any additional explanation or clarification.
|
||||
-Ensure that the optimized problem accurately reflects the original problem intent and does not alter the original intention.`,
|
||||
},
|
||||
conditionNode: {
|
||||
label: 'Conditional Branch',
|
||||
text: 'Trigger different nodes based on conditions',
|
||||
branch_name: 'Branch Name',
|
||||
conditions: {
|
||||
label: 'Conditions',
|
||||
info: 'Meets the following',
|
||||
requiredMessage: 'Please select conditions',
|
||||
},
|
||||
valueMessage: 'Please enter a value',
|
||||
addCondition: 'Add Condition',
|
||||
addBranch: 'Add Branch',
|
||||
},
|
||||
replyNode: {
|
||||
label: 'Specified Reply',
|
||||
text: 'Specify reply content, referenced variables will be converted to strings for output',
|
||||
replyContent: 'Reply Content',
|
||||
},
|
||||
rerankerNode: {
|
||||
label: 'Multi-path Recall',
|
||||
text: 'Use a re-ranking model to refine retrieval results from multiple knowledge sources',
|
||||
result_list: 'Re-ranked Results List',
|
||||
result: 'Re-ranking Result',
|
||||
rerankerContent: {
|
||||
label: 'Re-ranking Content',
|
||||
requiredMessage: 'Please select re-ranking content',
|
||||
},
|
||||
higher: 'Higher',
|
||||
ScoreTooltip: 'The higher the Score, the stronger the relevance.',
|
||||
max_paragraph_char_number: 'Maximum Character',
|
||||
reranker_model: {
|
||||
label: 'Rerank',
|
||||
placeholder: 'Please select a rerank',
|
||||
},
|
||||
},
|
||||
formNode: {
|
||||
label: 'Form Input',
|
||||
text: 'Collect user input during Q&A and use it in subsequent processes',
|
||||
form_content_format1: 'Hello, please fill out the form below:',
|
||||
form_content_format2: 'Click the [Submit] button after filling it out.',
|
||||
form_data: 'All Form Content',
|
||||
formContent: {
|
||||
label: 'Form Output Content',
|
||||
requiredMessage:
|
||||
'Please set the output content of this node, { form } is a placeholder for the form.',
|
||||
tooltip: 'Define the output content of this node. { form } is a placeholder for the form',
|
||||
},
|
||||
formAllContent: 'All Form Content',
|
||||
formSetting: 'Form Configuration',
|
||||
},
|
||||
documentExtractNode: {
|
||||
label: 'Document Content Extraction',
|
||||
text: 'Extract content from documents',
|
||||
content: 'Document Content',
|
||||
},
|
||||
imageUnderstandNode: {
|
||||
label: 'Image Understanding',
|
||||
text: 'Analyze images to identify objects, scenes, and provide answers',
|
||||
answer: 'AI Content',
|
||||
model: {
|
||||
label: 'Vision Model',
|
||||
requiredMessage: 'Please select a vision model',
|
||||
},
|
||||
image: {
|
||||
label: 'Select Image',
|
||||
requiredMessage: 'Please select an image',
|
||||
},
|
||||
},
|
||||
variableAssignNode: {
|
||||
label: 'Variable Assign',
|
||||
text: 'Update the value of the global variable',
|
||||
assign: 'Set Value',
|
||||
},
|
||||
variableAggregationNode: {
|
||||
label: 'Variable Aggregation',
|
||||
text: 'Aggregate variables of each group according to the aggregation strategy',
|
||||
Strategy: 'Aggregation Strategy',
|
||||
placeholder: 'Return the first non-null value of each group',
|
||||
placeholder1: 'Return the set of variables for each group',
|
||||
group: {
|
||||
noneError: 'Name cannot be empty',
|
||||
dupError: 'Name cannot be duplicated',
|
||||
},
|
||||
addGroup: 'Add Group',
|
||||
editGroup: 'Edit Group',
|
||||
},
|
||||
mcpNode: {
|
||||
label: 'MCP Node',
|
||||
text: 'Call external MCP services to process data',
|
||||
getToolsSuccess: 'Tools fetched successfully',
|
||||
getTool: 'Fetch Tools',
|
||||
toolParam: 'Tool Parameters',
|
||||
mcpServerTip: 'Please enter MCP server configuration in JSON format',
|
||||
mcpToolTip: 'Please select a tool',
|
||||
configLabel: 'MCP Server Config (Only SSE/Streamable HTTP calls are supported)',
|
||||
reference: 'Reference MCP',
|
||||
},
|
||||
imageGenerateNode: {
|
||||
label: 'Image Generation',
|
||||
text: 'Generate images based on provided text content',
|
||||
answer: 'AI Content',
|
||||
model: {
|
||||
label: 'Image Generation Model',
|
||||
requiredMessage: 'Please select an image generation model',
|
||||
},
|
||||
prompt: {
|
||||
label: 'Positive Prompt',
|
||||
tooltip: 'Describe elements and visual features you want in the generated image',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: 'Negative Prompt',
|
||||
tooltip: 'Describe elements you want to exclude from the generated image',
|
||||
placeholder:
|
||||
'Please describe content you do not want to generate, such as color, bloody content',
|
||||
},
|
||||
},
|
||||
textToVideoGenerate: {
|
||||
label: 'Text-to-Video',
|
||||
text: 'Generate video based on provided text content',
|
||||
answer: 'AI Response Content',
|
||||
model: {
|
||||
label: 'Text-to-Video Model',
|
||||
requiredMessage: 'Please select a text-to-video model',
|
||||
},
|
||||
prompt: {
|
||||
label: 'Prompt (Positive)',
|
||||
tooltip:
|
||||
'Positive prompt, used to describe elements and visual features expected in the generated video',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: 'Prompt (Negative)',
|
||||
tooltip:
|
||||
"Negative prompt, used to describe content you don't want to see in the video, which can restrict the video generation",
|
||||
placeholder:
|
||||
"Please describe video content you don't want to generate, such as: colors, bloody content",
|
||||
},
|
||||
},
|
||||
imageToVideoGenerate: {
|
||||
label: 'Image-to-Video',
|
||||
text: 'Generate video based on provided images',
|
||||
answer: 'AI Response Content',
|
||||
model: {
|
||||
label: 'Image-to-Video Model',
|
||||
requiredMessage: 'Please select an image-to-video model',
|
||||
},
|
||||
prompt: {
|
||||
label: 'Prompt (Positive)',
|
||||
tooltip:
|
||||
'Positive prompt, used to describe elements and visual features expected in the generated video',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: 'Prompt (Negative)',
|
||||
tooltip:
|
||||
"Negative prompt, used to describe content you don't want to see in the video, which can restrict the video generation",
|
||||
placeholder:
|
||||
"Please describe video content you don't want to generate, such as: colors, bloody content",
|
||||
},
|
||||
first_frame: {
|
||||
label: 'First Frame Image',
|
||||
requiredMessage: 'Please select the first frame image',
|
||||
},
|
||||
last_frame: {
|
||||
label: 'Last Frame Image',
|
||||
requiredMessage: 'Please select the last frame image',
|
||||
},
|
||||
},
|
||||
speechToTextNode: {
|
||||
label: 'Speech2Text',
|
||||
text: 'Convert audio to text through speech recognition model',
|
||||
stt_model: {
|
||||
label: 'Speech Recognition Model',
|
||||
},
|
||||
audio: {
|
||||
label: 'Select Audio File',
|
||||
placeholder: 'Please select an audio file',
|
||||
},
|
||||
},
|
||||
textToSpeechNode: {
|
||||
label: 'TTS',
|
||||
text: 'Convert text to audio through speech synthesis model',
|
||||
tts_model: {
|
||||
label: 'Speech Synthesis Model',
|
||||
},
|
||||
content: {
|
||||
label: 'Select Text Content',
|
||||
},
|
||||
},
|
||||
toolNode: {
|
||||
label: 'Custom Tool',
|
||||
text: 'Execute custom scripts to achieve data processing',
|
||||
},
|
||||
intentNode: {
|
||||
label: 'IntentNode',
|
||||
text: 'Match user questions with user-defined intent classifications',
|
||||
other: 'other',
|
||||
error2: 'Repeated intent',
|
||||
placeholder: 'Please choose a classification option',
|
||||
classify: {
|
||||
label: 'Intent classify',
|
||||
placeholder: 'Please input',
|
||||
},
|
||||
input: {
|
||||
label: 'Input',
|
||||
},
|
||||
},
|
||||
applicationNode: {
|
||||
label: 'APP Node',
|
||||
},
|
||||
loopNode: {
|
||||
label: 'Loop Node',
|
||||
text: 'Repeat a series of tasks by setting the number of loops and logic',
|
||||
loopType: {
|
||||
label: 'Loop Type',
|
||||
requiredMessage: 'Please select a loop type',
|
||||
arrayLoop: 'Array Loop',
|
||||
numberLoop: 'Loop for Specified Times',
|
||||
infiniteLoop: 'Infinite Loop',
|
||||
},
|
||||
loopNumber: {
|
||||
label: 'Loop Number',
|
||||
requiredMessage: 'Please enter the number of loops',
|
||||
},
|
||||
loopArray: {
|
||||
label: 'Circular Array',
|
||||
requiredMessage: 'Circular Array is required',
|
||||
placeholder: 'Please select a circular array',
|
||||
},
|
||||
loopSetting: 'Loop Settings',
|
||||
loopDetail: 'Loop Details',
|
||||
},
|
||||
loopStartNode: {
|
||||
label: 'Loop Start',
|
||||
loopIndex: 'Index',
|
||||
loopItem: 'Loop Element',
|
||||
},
|
||||
loopBodyNode: {
|
||||
label: 'Loop Body',
|
||||
text: 'Loop Body',
|
||||
},
|
||||
loopContinueNode: {
|
||||
label: 'Continue',
|
||||
text: 'Used to terminate the current loop and proceed to the next one.',
|
||||
isContinue: 'Continue',
|
||||
},
|
||||
loopBreakNode: {
|
||||
label: 'Break',
|
||||
text: 'Terminate the current loop and exit the loop body',
|
||||
isBreak: 'Break',
|
||||
},
|
||||
variableSplittingNode: {
|
||||
label: 'Variable Splitting',
|
||||
text: 'By configuring JSON Path expressions, parse and split the input JSON format variable',
|
||||
result: 'Result',
|
||||
splitVariables: 'Split Variables',
|
||||
inputVariables: 'Input Variable',
|
||||
addVariables: 'Add Variables',
|
||||
editVariables: 'Edit Variables',
|
||||
variableListPlaceholder: 'Please add split variables',
|
||||
expression: {
|
||||
label: 'Expression',
|
||||
placeholder: 'Please enter expression',
|
||||
tooltip: 'Please use JSON Path expressions to split variables, e.g.: $.store.book',
|
||||
},
|
||||
},
|
||||
parameterExtractionNode: {
|
||||
label: 'Parameter Extraction',
|
||||
text: 'Use AI models to extract structured parameters',
|
||||
extractParameters: {
|
||||
label: 'Extract Parameters',
|
||||
variableListPlaceholder: 'Please add extraction parameters',
|
||||
parameterType: 'Parameter Type',
|
||||
},
|
||||
},
|
||||
},
|
||||
compare: {
|
||||
is_null: 'Is null',
|
||||
is_not_null: 'Is not null',
|
||||
contain: 'Contains',
|
||||
not_contain: 'Does not contain',
|
||||
eq: 'Equal to',
|
||||
ge: 'Greater than or equal to',
|
||||
gt: 'Greater than',
|
||||
le: 'Less than or equal to',
|
||||
lt: 'Less than',
|
||||
len_eq: 'Length equal to',
|
||||
len_ge: 'Length greater than or equal to',
|
||||
len_gt: 'Length greater than',
|
||||
len_le: 'Length less than or equal to',
|
||||
len_lt: 'Length less than',
|
||||
},
|
||||
SystemPromptPlaceholder: 'System Prompt, can reference variables in the system, such as',
|
||||
UserPromptPlaceholder: 'User Prompt, can reference variables in the system, such as',
|
||||
}
|
||||
|
|
@ -3,12 +3,6 @@ export default {
|
|||
relatedApplications: 'Linked App',
|
||||
document_count: 'docs',
|
||||
relatedApp_count: 'linked apps',
|
||||
searchBar: {
|
||||
placeholder: 'Search by name',
|
||||
},
|
||||
operation: {
|
||||
publish: 'Publish',
|
||||
},
|
||||
setting: {
|
||||
vectorization: 'Vectorization',
|
||||
sync: 'Sync',
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@ export default {
|
|||
batchDelete: 'Bulk Delete',
|
||||
cancelRelated: 'Cancel Association'
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: 'Search by name'
|
||||
},
|
||||
table: {
|
||||
paragraph_count: 'Related Segments',
|
||||
updateTime: 'Update Time'
|
||||
|
|
|
|||
|
|
@ -29,9 +29,6 @@ export default {
|
|||
confirmTip: 'Are you sure to update tool: ',
|
||||
updateStoreToolMessage: 'Updating tools may affect resources in use, so proceed with caution.',
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: 'Search by tool name',
|
||||
},
|
||||
tip: {
|
||||
saveMessage: 'Unsaved changes will be lost. Are you sure you want to exit?',
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ export default {
|
|||
baseComponent: 'Basic',
|
||||
nodeSetting: 'Node Settings',
|
||||
workflow: 'Workflow',
|
||||
searchBar: {
|
||||
placeholder: 'Search by name',
|
||||
},
|
||||
info: {
|
||||
previewVersion: 'Preview Version:',
|
||||
saveTime: 'Last Saved:',
|
||||
},
|
||||
operation: {
|
||||
toImportDoc: 'Go to Import Documents',
|
||||
},
|
||||
setting: {
|
||||
restoreVersion: 'Restore Previous Version"',
|
||||
restoreCurrentVersion: 'Restore to This Version',
|
||||
|
|
@ -4,9 +4,6 @@ export default {
|
|||
createSuccess: '创建成功',
|
||||
copy: '复制',
|
||||
copySuccess: '复制成功',
|
||||
publishStatus: '发布状态',
|
||||
published: '已发布',
|
||||
unpublished: '未发布',
|
||||
copyError: '复制失败',
|
||||
save: '保存',
|
||||
saveSuccess: '保存成功',
|
||||
|
|
@ -51,6 +48,7 @@ export default {
|
|||
classify: '分类',
|
||||
reason: '理由',
|
||||
removeSuccess: '移除成功',
|
||||
publish: '发布',
|
||||
searchBar: {
|
||||
placeholder: '按名称搜索',
|
||||
},
|
||||
|
|
@ -72,6 +70,8 @@ export default {
|
|||
disabled: '已禁用',
|
||||
enableSuccess: '启用成功',
|
||||
disableSuccess: '禁用成功',
|
||||
published: '已发布',
|
||||
unpublished: '未发布',
|
||||
},
|
||||
param: {
|
||||
outputParam: '输出参数',
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ export default {
|
|||
requiredMessage: '不能为空',
|
||||
jsonMessage: 'JSON格式不正确',
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: '请输入关键字搜索',
|
||||
},
|
||||
paramForm: {
|
||||
field: {
|
||||
label: '参数',
|
||||
|
|
|
|||
|
|
@ -11,18 +11,10 @@ export default {
|
|||
simplePlaceholder: '适用于初级用户使用表单设置构建AI对话助手',
|
||||
workflowPlaceholder: '适用于高级用户使用低代码拖拉拽方式构建复杂逻辑的AI对话助手',
|
||||
appTest: '调试预览',
|
||||
searchBar: {
|
||||
placeholder: '按名称搜索',
|
||||
},
|
||||
status: {
|
||||
published: '已发布',
|
||||
unpublished: '未发布',
|
||||
},
|
||||
|
||||
operation: {
|
||||
addModel: '添加模型',
|
||||
toChat: '去对话',
|
||||
publish: '发布',
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: '是否删除应用:',
|
||||
|
|
@ -239,4 +231,5 @@ export default {
|
|||
emptyMessage2: '没有命中的分段',
|
||||
},
|
||||
publishTime: '发布时间',
|
||||
publishStatus: '发布状态',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,7 @@ export default {
|
|||
syncDocument: '同步文档',
|
||||
items: '项',
|
||||
migrateDocument: '文档迁移到',
|
||||
searchBar: {
|
||||
placeholder: '按 文档名称 搜索',
|
||||
},
|
||||
|
||||
setting: {
|
||||
migration: '迁移',
|
||||
cancelGenerateQuestion: '取消生成问题',
|
||||
|
|
|
|||
|
|
@ -10,13 +10,12 @@ import workspace from './workspace'
|
|||
import application from './application'
|
||||
import problem from './problem'
|
||||
import applicationOverview from './application-overview'
|
||||
import applicationWorkflow from './application-workflow'
|
||||
import workflow from './workflow'
|
||||
import paragraph from './paragraph'
|
||||
import chatLog from './chat-log'
|
||||
import chatUser from './chat-user'
|
||||
import operateLog from './operate-log'
|
||||
import shared from './shared'
|
||||
import knowledgeWorkflow from './knowledge-workflow'
|
||||
export default {
|
||||
login,
|
||||
model,
|
||||
|
|
@ -30,11 +29,10 @@ export default {
|
|||
application,
|
||||
problem,
|
||||
applicationOverview,
|
||||
applicationWorkflow,
|
||||
workflow,
|
||||
paragraph,
|
||||
chatLog,
|
||||
chatUser,
|
||||
operateLog,
|
||||
shared,
|
||||
knowledgeWorkflow,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,495 +0,0 @@
|
|||
export default {
|
||||
node: '节点',
|
||||
nodeName: '节点名称',
|
||||
baseComponent: '基础组件',
|
||||
nodeSetting: '节点设置',
|
||||
workflow: '工作流',
|
||||
searchBar: {
|
||||
placeholder: '按名称搜索',
|
||||
},
|
||||
info: {
|
||||
previewVersion: '预览版本:',
|
||||
saveTime: '保存时间:',
|
||||
},
|
||||
operation: {
|
||||
publish: '发布',
|
||||
toImportDoc: '去导入文档',
|
||||
},
|
||||
setting: {
|
||||
restoreVersion: '恢复版本',
|
||||
restoreCurrentVersion: '恢复此版本',
|
||||
addComponent: '添加组件',
|
||||
releaseHistory: '发布历史',
|
||||
autoSave: '自动保存',
|
||||
latestRelease: '最近发布',
|
||||
copyParam: '复制参数',
|
||||
exit: '直接退出',
|
||||
exitSave: '保存并退出',
|
||||
},
|
||||
tip: {
|
||||
noData: '没有找到相关结果',
|
||||
nameMessage: '名字不能为空!',
|
||||
onlyRight: '只允许从右边的锚点连出',
|
||||
notRecyclable: '不可循环连线',
|
||||
onlyLeft: '只允许连接左边的锚点',
|
||||
applicationNodeError: '该应用不可用',
|
||||
toolNodeError: '该工具不可用',
|
||||
repeatedNodeError: '节点名称已存在!',
|
||||
cannotCopy: '不能被复制',
|
||||
copyError: '已复制节点',
|
||||
paramErrorMessage: '参数已存在: ',
|
||||
saveMessage: '当前的更改尚未保存,是否保存后退出?',
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: '确定删除该节点?',
|
||||
deleteMessage: '节点不允许删除',
|
||||
},
|
||||
control: {
|
||||
zoomOut: '缩小',
|
||||
zoomIn: '放大',
|
||||
fitView: '适应',
|
||||
retract: '收起全部节点',
|
||||
extend: '展开全部节点',
|
||||
beautify: '一键美化',
|
||||
},
|
||||
variable: {
|
||||
global: '全局变量',
|
||||
chat: '会话变量',
|
||||
Referencing: '引用变量',
|
||||
ReferencingRequired: '引用变量必填',
|
||||
ReferencingError: '引用变量错误',
|
||||
NoReferencing: '不存在的引用变量',
|
||||
placeholder: '请选择变量',
|
||||
inputPlaceholder: '请输入变量',
|
||||
loop: '循环变量',
|
||||
},
|
||||
condition: {
|
||||
title: '执行条件',
|
||||
front: '前置',
|
||||
AND: '所有',
|
||||
OR: '任一',
|
||||
text: '连线节点执行完,执行当前节点',
|
||||
},
|
||||
validate: {
|
||||
startNodeRequired: '开始节点必填',
|
||||
startNodeOnly: '开始节点只能有一个',
|
||||
baseNodeRequired: '基本信息节点必填',
|
||||
baseNodeOnly: '基本信息节点只能有一个',
|
||||
notInWorkFlowNode: '未在流程中的节点',
|
||||
noNextNode: '不存在的下一个节点',
|
||||
nodeUnavailable: '节点不可用',
|
||||
needConnect1: '节点的',
|
||||
needConnect2: '分支需要连接',
|
||||
cannotEndNode: '节点不能当做结束节点',
|
||||
loopNodeBreakNodeRequired: '无限循环 必须存在 Break 节点',
|
||||
},
|
||||
nodes: {
|
||||
classify: {
|
||||
aiCapability: 'AI能力',
|
||||
businessLogic: '业务逻辑',
|
||||
other: '其他',
|
||||
dataProcessing: '数据处理',
|
||||
},
|
||||
startNode: {
|
||||
label: '开始',
|
||||
question: '用户问题',
|
||||
currentTime: '当前时间',
|
||||
},
|
||||
baseNode: {
|
||||
label: '基本信息',
|
||||
appName: {
|
||||
label: '应用名称',
|
||||
},
|
||||
appDescription: {
|
||||
label: '应用描述',
|
||||
},
|
||||
fileUpload: {
|
||||
label: '文件上传',
|
||||
tooltip: '开启后,问答页面会显示上传文件的按钮。',
|
||||
},
|
||||
FileUploadSetting: {
|
||||
title: '文件上传设置',
|
||||
maxFiles: '单次上传最多文件数',
|
||||
fileLimit: '每个文件最大(MB)',
|
||||
fileUploadType: {
|
||||
label: '上传的文件类型',
|
||||
documentText: '需要使用“文档内容提取”节点解析文档内容',
|
||||
imageText: '需要使用“视觉模型”节点解析图片内容',
|
||||
audioText: '需要使用“语音转文本”节点解析音频内容',
|
||||
videoText: '需要使用“视频理解”节点解析视频内容',
|
||||
otherText: '需要自行解析该类型文件',
|
||||
},
|
||||
},
|
||||
},
|
||||
aiChatNode: {
|
||||
label: 'AI 对话',
|
||||
text: '与 AI 大模型进行对话',
|
||||
answer: 'AI 回答内容',
|
||||
returnContent: {
|
||||
label: '返回内容',
|
||||
tooltip: `关闭后该节点的内容则不输出给用户。
|
||||
如果你想让用户看到该节点的输出内容,请打开开关。`,
|
||||
},
|
||||
defaultPrompt: '已知信息',
|
||||
think: '思考过程',
|
||||
historyMessage: '历史聊天记录',
|
||||
},
|
||||
searchKnowledgeNode: {
|
||||
label: '知识库检索',
|
||||
text: '关联知识库,查找与问题相关的分段',
|
||||
paragraph_list: '检索结果的分段列表',
|
||||
is_hit_handling_method_list: '满足直接回答的分段列表',
|
||||
result: '检索结果',
|
||||
directly_return: '满足直接回答的分段内容',
|
||||
searchParam: '检索参数',
|
||||
showKnowledge: {
|
||||
label: '结果显示在知识来源中',
|
||||
requiredMessage: '请设置参数',
|
||||
},
|
||||
searchQuestion: {
|
||||
label: '检索问题',
|
||||
placeholder: '请选择检索问题',
|
||||
requiredMessage: '请选择检索问题',
|
||||
},
|
||||
},
|
||||
searchDocumentNode: {
|
||||
label: '文档标签检索',
|
||||
text: '从设定的检索范围中,根据文档标签检索出满足条件的文档',
|
||||
selectKnowledge: '检索范围',
|
||||
searchSetting: '检索设置',
|
||||
custom: '手动',
|
||||
customTooltip: '手动设置标签过滤条件',
|
||||
auto: '自动',
|
||||
autoTooltip: '根据检索问题自动匹配文档标签',
|
||||
document_list: '文档列表',
|
||||
knowledge_list: '知识库列表',
|
||||
result: '检索结果',
|
||||
searchParam: '检索参数',
|
||||
select_variable: '选择变量',
|
||||
valueMessage: `值或{name}`,
|
||||
showKnowledge: {
|
||||
label: '结果显示在知识来源中',
|
||||
requiredMessage: '请设置参数',
|
||||
},
|
||||
searchQuestion: {
|
||||
label: '检索问题',
|
||||
placeholder: '请选择检索问题',
|
||||
requiredMessage: '请选择检索问题',
|
||||
},
|
||||
},
|
||||
questionNode: {
|
||||
label: '问题优化',
|
||||
text: '根据历史聊天记录优化完善当前问题,更利于匹配知识库分段',
|
||||
result: '问题优化结果',
|
||||
systemDefault: `# 角色
|
||||
你是一位问题优化大师,擅长根据上下文精准揣测用户意图,并对用户提出的问题进行优化。
|
||||
|
||||
## 技能
|
||||
### 技能 1: 优化问题
|
||||
2. 接收用户输入的问题。
|
||||
3. 依据上下文仔细分析问题含义。
|
||||
4. 输出优化后的问题。
|
||||
|
||||
## 限制:
|
||||
- 仅返回优化后的问题,不进行额外解释或说明。
|
||||
- 确保优化后的问题准确反映原始问题意图,不得改变原意。`,
|
||||
},
|
||||
conditionNode: {
|
||||
label: '判断器',
|
||||
text: '根据不同条件执行不同的节点',
|
||||
branch_name: '分支名称',
|
||||
conditions: {
|
||||
label: '条件',
|
||||
info: '符合以下',
|
||||
requiredMessage: '请选择条件',
|
||||
},
|
||||
valueMessage: '请输入值',
|
||||
addCondition: '添加条件',
|
||||
addBranch: '添加分支',
|
||||
},
|
||||
replyNode: {
|
||||
label: '指定回复',
|
||||
text: '指定回复内容,引用变量会转换为字符串进行输出',
|
||||
replyContent: '回复内容',
|
||||
},
|
||||
rerankerNode: {
|
||||
label: '多路召回',
|
||||
text: '使用重排模型对多个知识库的检索结果进行二次召回',
|
||||
result_list: '重排结果列表',
|
||||
result: '重排结果',
|
||||
rerankerContent: {
|
||||
label: '重排内容',
|
||||
requiredMessage: '请选择重排内容',
|
||||
},
|
||||
higher: '高于',
|
||||
ScoreTooltip: 'Score越高相关性越强。',
|
||||
max_paragraph_char_number: '最大引用字符数',
|
||||
reranker_model: {
|
||||
label: '重排模型',
|
||||
placeholder: '请选择重排模型',
|
||||
},
|
||||
},
|
||||
formNode: {
|
||||
label: '表单收集',
|
||||
text: '在问答过程中用于收集用户信息,可以根据收集到表单数据执行后续流程',
|
||||
form_content_format1: '你好,请先填写下面表单内容:',
|
||||
form_content_format2: '填写后请点击【提交】按钮进行提交。',
|
||||
form_data: '表单全部内容',
|
||||
formContent: {
|
||||
label: '表单输出内容',
|
||||
requiredMessage: '请表单输出内容',
|
||||
tooltip: '设置执行该节点输出的内容,{ form } 为表单的占位符。',
|
||||
},
|
||||
formAllContent: '表单全部内容',
|
||||
formSetting: '表单配置',
|
||||
},
|
||||
documentExtractNode: {
|
||||
label: '文档内容提取',
|
||||
text: '提取文档中的内容',
|
||||
content: '文档内容',
|
||||
},
|
||||
imageUnderstandNode: {
|
||||
label: '图片理解',
|
||||
text: '识别出图片中的对象、场景等信息回答用户问题',
|
||||
answer: 'AI 回答内容',
|
||||
model: {
|
||||
label: '视觉模型',
|
||||
requiredMessage: '请选择视觉模型',
|
||||
},
|
||||
image: {
|
||||
label: '选择图片',
|
||||
requiredMessage: '请选择图片',
|
||||
},
|
||||
},
|
||||
variableAggregationNode: {
|
||||
label: '变量聚合',
|
||||
text: '按聚合策略聚合每组的变量',
|
||||
Strategy: '聚合策略',
|
||||
placeholder: '返回每组的第一个非空值',
|
||||
placeholder1: '返回每组变量的集合',
|
||||
group: {
|
||||
noneError: '名称不能为空',
|
||||
dupError: '名称不能重复',
|
||||
},
|
||||
addGroup: '添加分组',
|
||||
editGroup: '编辑分组',
|
||||
},
|
||||
variableAssignNode: {
|
||||
label: '变量赋值',
|
||||
text: '更新全局变量的值',
|
||||
assign: '赋值',
|
||||
},
|
||||
mcpNode: {
|
||||
label: 'MCP 调用',
|
||||
text: '通过SSE/Streamable HTTP方式执行MCP服务中的工具',
|
||||
getToolsSuccess: '获取工具成功',
|
||||
getTool: '获取工具',
|
||||
toolParam: '工具参数',
|
||||
mcpServerTip: '请输入JSON格式的MCP服务器配置',
|
||||
mcpToolTip: '请选择工具',
|
||||
configLabel: 'MCP Server Config (仅支持SSE/Streamable HTTP调用方式)',
|
||||
reference: '引用MCP',
|
||||
},
|
||||
imageGenerateNode: {
|
||||
label: '图片生成',
|
||||
text: '根据提供的文本内容生成图片',
|
||||
answer: 'AI 回答内容',
|
||||
model: {
|
||||
label: '图片生成模型',
|
||||
requiredMessage: '请选择图片生成模型',
|
||||
},
|
||||
prompt: {
|
||||
label: '提示词(正向)',
|
||||
tooltip: '正向提示词,用来描述生成图像中期望包含的元素和视觉特点',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: '提示词(负向)',
|
||||
tooltip: '反向提示词,用来描述不希望在画面中看到的内容,可以对画面进行限制。',
|
||||
placeholder: '请描述不想生成的图片内容,比如:颜色、血腥内容',
|
||||
},
|
||||
},
|
||||
textToVideoGenerate: {
|
||||
label: '文生视频',
|
||||
text: '根据提供的文本内容生成视频',
|
||||
answer: 'AI 回答内容',
|
||||
model: {
|
||||
label: '文生视频模型',
|
||||
requiredMessage: '请选择文生视频模型',
|
||||
},
|
||||
prompt: {
|
||||
label: '提示词(正向)',
|
||||
tooltip: '正向提示词,用来描述生成视频中期望包含的元素和视觉特点',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: '提示词(负向)',
|
||||
tooltip: '反向提示词,用来描述不希望在视频中看到的内容,可以对视频进行限制。',
|
||||
placeholder: '请描述不想生成的视频内容,比如:颜色、血腥内容',
|
||||
},
|
||||
},
|
||||
videoUnderstandNode: {
|
||||
label: '视频理解',
|
||||
text: '识别出视频中的对象、场景等信息回答用户问题',
|
||||
answer: 'AI 回答内容',
|
||||
model: {
|
||||
label: '视觉模型',
|
||||
requiredMessage: '请选择视觉模型',
|
||||
},
|
||||
image: {
|
||||
label: '选择视频',
|
||||
requiredMessage: '请选择视频',
|
||||
},
|
||||
},
|
||||
imageToVideoGenerate: {
|
||||
label: '图生视频',
|
||||
text: '根据提供的图片生成视频',
|
||||
answer: 'AI 回答内容',
|
||||
model: {
|
||||
label: '图生视频模型',
|
||||
requiredMessage: '请选择图生视频模型',
|
||||
},
|
||||
prompt: {
|
||||
label: '提示词(正向)',
|
||||
tooltip: '正向提示词,用来描述生成视频中期望包含的元素和视觉特点',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: '提示词(负向)',
|
||||
tooltip: '反向提示词,用来描述不希望在视频中看到的内容,可以对视频进行限制。',
|
||||
placeholder: '请描述不想生成的视频内容,比如:颜色、血腥内容',
|
||||
},
|
||||
first_frame: {
|
||||
label: '首帧图片',
|
||||
requiredMessage: '请选择首帧图片',
|
||||
},
|
||||
last_frame: {
|
||||
label: '尾帧图片',
|
||||
requiredMessage: '请选择尾帧图片',
|
||||
},
|
||||
},
|
||||
speechToTextNode: {
|
||||
label: '语音转文本',
|
||||
text: '将音频通过语音识别模型转换为文本',
|
||||
stt_model: {
|
||||
label: '语音识别模型',
|
||||
},
|
||||
audio: {
|
||||
label: '选择语音文件',
|
||||
placeholder: '请选择语音文件',
|
||||
},
|
||||
},
|
||||
textToSpeechNode: {
|
||||
label: '文本转语音',
|
||||
text: '将文本通过语音合成模型转换为音频',
|
||||
tts_model: {
|
||||
label: '语音合成模型',
|
||||
},
|
||||
content: {
|
||||
label: '选择文本内容',
|
||||
},
|
||||
},
|
||||
toolNode: {
|
||||
label: '自定义工具',
|
||||
text: '通过执行自定义脚本,实现数据处理',
|
||||
},
|
||||
intentNode: {
|
||||
label: '意图识别',
|
||||
text: '将用户问题与用户预设的意图分类进行匹配',
|
||||
other: '其他',
|
||||
error2: '意图重复',
|
||||
placeholder: '请选择分类项',
|
||||
classify: {
|
||||
label: '意图分类',
|
||||
placeholder: '请输入',
|
||||
},
|
||||
input: {
|
||||
label: '输入',
|
||||
},
|
||||
},
|
||||
applicationNode: {
|
||||
label: '应用节点',
|
||||
},
|
||||
loopNode: {
|
||||
label: '循环节点',
|
||||
text: '通过设置循环次数和逻辑,重复执行一系列任务',
|
||||
loopType: {
|
||||
label: '循环类型',
|
||||
requiredMessage: '请选择循环类型',
|
||||
arrayLoop: '数组循环',
|
||||
numberLoop: '指定次数循环',
|
||||
infiniteLoop: '无限循环',
|
||||
},
|
||||
loopNumber: {
|
||||
label: '循环次数',
|
||||
requiredMessage: '循环次数必填',
|
||||
},
|
||||
loopArray: {
|
||||
label: '循环数组',
|
||||
requiredMessage: '循环数组必填',
|
||||
placeholder: '请选择循环数组',
|
||||
},
|
||||
loopSetting: '循环设置',
|
||||
loopDetail: '循环详情',
|
||||
},
|
||||
loopStartNode: {
|
||||
label: '循环开始',
|
||||
loopIndex: '下标',
|
||||
loopItem: '循环元素',
|
||||
},
|
||||
loopBodyNode: {
|
||||
label: '循环体',
|
||||
text: '循环体',
|
||||
},
|
||||
loopContinueNode: {
|
||||
label: 'Continue',
|
||||
text: '用于终止当前循环,执行下次循环',
|
||||
isContinue: 'Continue',
|
||||
},
|
||||
loopBreakNode: {
|
||||
label: 'Break',
|
||||
text: '终止当前循环,跳出循环体',
|
||||
isBreak: 'Break',
|
||||
},
|
||||
variableSplittingNode: {
|
||||
label: '变量拆分',
|
||||
text: '通过配置JSON Path 表达式,对输入的 JSON 格式变量进行解析和拆分',
|
||||
splitVariables: '拆分变量',
|
||||
inputVariables: '输入变量',
|
||||
addVariables: '添加变量',
|
||||
editVariables: '编辑变量',
|
||||
variableListPlaceholder: '请添加拆分变量',
|
||||
expression: {
|
||||
label: '表达式',
|
||||
placeholder: '请输入表达式',
|
||||
tooltip: '请使用JSON Path 表达式拆分变量,例如:$.store.book',
|
||||
},
|
||||
},
|
||||
parameterExtractionNode: {
|
||||
label: '参数提取',
|
||||
text: '利用 AI 模型提取结构化参数',
|
||||
extractParameters: {
|
||||
label: '提取参数',
|
||||
variableListPlaceholder: '请添加提取参数',
|
||||
parameterType: '参数类型',
|
||||
},
|
||||
},
|
||||
},
|
||||
compare: {
|
||||
is_null: '为空',
|
||||
is_not_null: '不为空',
|
||||
contain: '包含',
|
||||
not_contain: '不包含',
|
||||
eq: '等于',
|
||||
ge: '大于等于',
|
||||
gt: '大于',
|
||||
le: '小于等于',
|
||||
lt: '小于',
|
||||
len_eq: '长度等于',
|
||||
len_ge: '长度大于等于',
|
||||
len_gt: '长度大于',
|
||||
len_le: '长度小于等于',
|
||||
len_lt: '长度小于',
|
||||
is_true: '为真',
|
||||
is_not_true: '不为真',
|
||||
},
|
||||
SystemPromptPlaceholder: '系统提示词,可以引用系统中的变量:如',
|
||||
UserPromptPlaceholder: '用户提示词,可以引用系统中的变量:如',
|
||||
}
|
||||
|
|
@ -15,9 +15,6 @@ export default {
|
|||
batchDelete: '批量删除',
|
||||
cancelRelated: '取消关联'
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: '按名称搜索'
|
||||
},
|
||||
table: {
|
||||
paragraph_count: '关联分段数',
|
||||
updateTime: '更新时间'
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ export default {
|
|||
baseComponent: '基础组件',
|
||||
nodeSetting: '节点设置',
|
||||
workflow: '工作流',
|
||||
searchBar: {
|
||||
placeholder: '按名称搜索',
|
||||
},
|
||||
info: {
|
||||
previewVersion: '预览版本:',
|
||||
saveTime: '保存时间:',
|
||||
},
|
||||
operation: {
|
||||
toImportDoc: '去导入文档',
|
||||
},
|
||||
setting: {
|
||||
restoreVersion: '恢复版本',
|
||||
restoreCurrentVersion: '恢复此版本',
|
||||
|
|
@ -4,9 +4,6 @@ export default {
|
|||
createSuccess: '創建成功',
|
||||
copy: '複製',
|
||||
copySuccess: '複製成功',
|
||||
publishStatus: '發佈狀態',
|
||||
published: '已發佈',
|
||||
unpublished: '未發佈',
|
||||
copyError: '複製失敗',
|
||||
save: '儲存',
|
||||
saveSuccess: '儲存成功',
|
||||
|
|
@ -71,6 +68,8 @@ export default {
|
|||
disabled: '已停用',
|
||||
enableSuccess: '啟用成功',
|
||||
disableSuccess: '停用成功',
|
||||
published: '已發佈',
|
||||
unpublished: '未發佈',
|
||||
},
|
||||
param: {
|
||||
outputParam: '輸出參數',
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ export default {
|
|||
requiredMessage: '不能為空',
|
||||
jsonMessage: 'JSON格式不正確',
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: '請輸入關鍵字搜索',
|
||||
},
|
||||
paramForm: {
|
||||
field: {
|
||||
label: '參數',
|
||||
|
|
|
|||
|
|
@ -9,16 +9,8 @@ export default {
|
|||
simplePlaceholder: '適用於初級用戶使用表單設定構建AI對話助手',
|
||||
workflowPlaceholder: '適用於高階用戶使用低代碼拖拉拽方式構建複雜邏輯的AI對話助手',
|
||||
appTest: '調試預覽',
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜尋',
|
||||
},
|
||||
status: {
|
||||
published: '已發布',
|
||||
unpublished: '未發布',
|
||||
},
|
||||
operation: {
|
||||
toChat: '去對話',
|
||||
publish: '發布',
|
||||
addModel: '新增模型',
|
||||
},
|
||||
delete: {
|
||||
|
|
@ -236,4 +228,5 @@ export default {
|
|||
emptyMessage2: '沒有命中的分段',
|
||||
},
|
||||
publishTime: '發佈時間',
|
||||
publishStatus: '發佈狀態',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@ export default {
|
|||
syncDocument: '同步文檔',
|
||||
items: '項',
|
||||
migrateDocument: '文檔遷移到',
|
||||
searchBar: {
|
||||
placeholder: '按 文檔名稱 搜索',
|
||||
},
|
||||
setting: {
|
||||
migration: '遷移',
|
||||
cancelGenerateQuestion: '取消生成問題',
|
||||
|
|
|
|||
|
|
@ -12,11 +12,10 @@ import paragraph from './paragraph'
|
|||
import problem from './problem'
|
||||
import chatLog from './chat-log'
|
||||
import chatUser from './chat-user'
|
||||
import applicationWorkflow from './application-workflow'
|
||||
import workflow from './workflow'
|
||||
import login from './login'
|
||||
import operateLog from './operate-log'
|
||||
import shared from './shared'
|
||||
import knowledgeWorkflow from './knowledge-workflow'
|
||||
export default {
|
||||
application,
|
||||
applicationOverview,
|
||||
|
|
@ -25,7 +24,7 @@ export default {
|
|||
userManage,
|
||||
model,
|
||||
knowledge,
|
||||
applicationWorkflow,
|
||||
workflow,
|
||||
document,
|
||||
paragraph,
|
||||
problem,
|
||||
|
|
@ -36,5 +35,4 @@ export default {
|
|||
workspace,
|
||||
chatUser,
|
||||
shared,
|
||||
knowledgeWorkflow,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,468 +0,0 @@
|
|||
export default {
|
||||
node: '節點',
|
||||
nodeName: '節點名稱',
|
||||
baseComponent: '基礎組件',
|
||||
nodeSetting: '節點設置',
|
||||
workflow: '工作流',
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜索',
|
||||
},
|
||||
info: {
|
||||
previewVersion: '預覽版本:',
|
||||
saveTime: '保存時間:',
|
||||
},
|
||||
operation: {
|
||||
publish: '發布',
|
||||
toImportDoc: '去導入文檔',
|
||||
},
|
||||
setting: {
|
||||
restoreVersion: '恢復版本',
|
||||
restoreCurrentVersion: '恢復此版本',
|
||||
addComponent: '添加組件',
|
||||
releaseHistory: '發布歷史',
|
||||
autoSave: '自動保存',
|
||||
latestRelease: '最近發布',
|
||||
copyParam: '複製參數',
|
||||
exit: '直接退出',
|
||||
exitSave: '保存並退出',
|
||||
},
|
||||
tip: {
|
||||
noData: '沒有找到相關結果',
|
||||
nameMessage: '名字不能為空!',
|
||||
onlyRight: '只允許從右邊的錨點連出',
|
||||
notRecyclable: '不可循環連線',
|
||||
onlyLeft: '只允許連接左邊的錨點',
|
||||
applicationNodeError: '該應用不可用',
|
||||
toolNodeError: '該函數不可用',
|
||||
repeatedNodeError: '節點名稱已存在!',
|
||||
cannotCopy: '不能被複製',
|
||||
copyError: '已複製節點',
|
||||
paramErrorMessage: '參數已存在: ',
|
||||
saveMessage: '當前修改未保存,是否保存後退出?',
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: '確定刪除該節點?',
|
||||
deleteMessage: '節點不允許刪除',
|
||||
},
|
||||
control: {
|
||||
zoomOut: '縮小',
|
||||
zoomIn: '放大',
|
||||
fitView: '適應',
|
||||
retract: '收起全部節點',
|
||||
extend: '展開全部節點',
|
||||
beautify: '一鍵美化',
|
||||
},
|
||||
variable: {
|
||||
global: '全局變量',
|
||||
Referencing: '引用變量',
|
||||
ReferencingRequired: '引用變量必填',
|
||||
ReferencingError: '引用變量錯誤',
|
||||
NoReferencing: '不存在的引用變量',
|
||||
placeholder: '請選擇變量',
|
||||
inputPlaceholder: '請輸入變量',
|
||||
loop: '循環變量',
|
||||
},
|
||||
condition: {
|
||||
title: '執行條件',
|
||||
front: '前置',
|
||||
AND: '所有',
|
||||
OR: '任一',
|
||||
text: '連線節點執行完,執行當前節點',
|
||||
},
|
||||
validate: {
|
||||
startNodeRequired: '開始節點必填',
|
||||
startNodeOnly: '開始節點只能有一個',
|
||||
baseNodeRequired: '基本信息節點必填',
|
||||
baseNodeOnly: '基本信息節點只能有一個',
|
||||
notInWorkFlowNode: '未在流程中的節點',
|
||||
noNextNode: '不存在的下一個節點',
|
||||
nodeUnavailable: '節點不可用',
|
||||
needConnect1: '節點的',
|
||||
needConnect2: '分支需要連接',
|
||||
cannotEndNode: '節點不能當做結束節點',
|
||||
loopNodeBreakNodeRequired: '無限循環必須存在Break節點',
|
||||
},
|
||||
nodes: {
|
||||
classify: {
|
||||
aiCapability: 'AI能力',
|
||||
businessLogic: '業務邏輯',
|
||||
other: '其他',
|
||||
dataProcessing: '數據處理',
|
||||
},
|
||||
startNode: {
|
||||
label: '開始',
|
||||
question: '用戶問題',
|
||||
currentTime: '當前時間',
|
||||
},
|
||||
baseNode: {
|
||||
label: '基本信息',
|
||||
appName: {
|
||||
label: '應用名稱',
|
||||
},
|
||||
appDescription: {
|
||||
label: '應用描述',
|
||||
},
|
||||
fileUpload: {
|
||||
label: '文件上傳',
|
||||
tooltip: '開啟後,問答頁面會顯示上傳文件的按鈕。',
|
||||
},
|
||||
FileUploadSetting: {
|
||||
title: '文件上傳設置',
|
||||
maxFiles: '單次上傳最多文件數',
|
||||
fileLimit: '每個文件最大(MB)',
|
||||
fileUploadType: {
|
||||
label: '上傳的文件類型',
|
||||
documentText: '需要使用「文檔內容提取」節點解析文檔內容',
|
||||
imageText: '需要使用「圖片理解」節點解析圖片內容',
|
||||
videoText: '需要使用「視頻理解」節點解析視頻內容',
|
||||
audioText: '需要使用「語音轉文本」節點解析音頻內容',
|
||||
},
|
||||
},
|
||||
},
|
||||
aiChatNode: {
|
||||
label: 'AI 對話',
|
||||
text: '與 AI 大模型進行對話',
|
||||
answer: 'AI 回答內容',
|
||||
returnContent: {
|
||||
label: '返回內容',
|
||||
tooltip: `關閉後該節點的內容則不輸出給用戶。
|
||||
如果你想讓用戶看到該節點的輸出內容,請打開開關。`,
|
||||
},
|
||||
defaultPrompt: '已知信息',
|
||||
think: '思考過程',
|
||||
historyMessage: '歷史聊天記錄',
|
||||
},
|
||||
searchKnowledgeNode: {
|
||||
label: '知識庫檢索',
|
||||
text: '關聯知識庫,查找與問題相關的分段',
|
||||
paragraph_list: '檢索結果的分段列表',
|
||||
is_hit_handling_method_list: '滿足直接回答的分段列表',
|
||||
result: '檢索結果',
|
||||
directly_return: '滿足直接回答的分段內容',
|
||||
searchParam: '檢索參數',
|
||||
searchQuestion: {
|
||||
label: '檢索問題',
|
||||
placeholder: '請選擇檢索問題',
|
||||
requiredMessage: '請選擇檢索問題',
|
||||
},
|
||||
},
|
||||
searchDocumentNode: {
|
||||
label: '文檔標籤檢索',
|
||||
text: '從設定的檢索範圍中,根據文檔標籤檢索出符合條件的文檔',
|
||||
selectKnowledge: '檢索範圍',
|
||||
searchSetting: '檢索設定',
|
||||
custom: '手動',
|
||||
customTooltip: '手動設置標籤過濾條件',
|
||||
auto: '自動',
|
||||
autoTooltip: '根據檢索問題自動匹配文檔標簽',
|
||||
document_list: '文件清單',
|
||||
knowledge_list: '知識庫列表',
|
||||
result: '檢索結果',
|
||||
searchParam: '檢索參數',
|
||||
select_variable: '選擇變數',
|
||||
valueMessage: `值或{name}`,
|
||||
showKnowledge: {
|
||||
label: '結果顯示在知識來源',
|
||||
requiredMessage: '請設定參數',
|
||||
},
|
||||
searchQuestion: {
|
||||
label: '檢索問題',
|
||||
placeholder: '請選擇檢索問題',
|
||||
requiredMessage: '請選擇檢索問題',
|
||||
},
|
||||
},
|
||||
questionNode: {
|
||||
label: '問題優化',
|
||||
text: '根據歷史聊天記錄優化完善當前問題,更利於匹配知識庫分段',
|
||||
result: '問題優化結果',
|
||||
systemDefault: `# 角色
|
||||
妳是壹位問題優化大師,擅長根據上下文精準揣測用戶意圖,並對用戶提出的問題進行優化。
|
||||
|
||||
## 技能
|
||||
### 技能 1: 優化問題
|
||||
2. 接收用戶輸入的問題。
|
||||
3. 依據上下文仔細分析問題含義。
|
||||
4. 輸出優化後的問題。
|
||||
|
||||
## 限制:
|
||||
- 僅返回優化後的問題,不進行額外解釋或說明。
|
||||
- 確保優化後的問題準確反映原始問題意圖,不得改變原意。`,
|
||||
},
|
||||
conditionNode: {
|
||||
label: '判斷器',
|
||||
text: '根據不同條件執行不同的節點',
|
||||
branch_name: '分支名稱',
|
||||
conditions: {
|
||||
label: '條件',
|
||||
info: '符合以下',
|
||||
requiredMessage: '請選擇條件',
|
||||
},
|
||||
valueMessage: '請輸入值',
|
||||
addCondition: '添加條件',
|
||||
addBranch: '添加分支',
|
||||
},
|
||||
replyNode: {
|
||||
label: '指定回覆',
|
||||
text: '指定回覆內容,引用變量會轉換為字符串進行輸出',
|
||||
replyContent: '回覆內容',
|
||||
},
|
||||
rerankerNode: {
|
||||
label: '多路召回',
|
||||
text: '使用重排模型對多個知識庫的檢索結果進行二次召回',
|
||||
result_list: '重排結果列表',
|
||||
result: '重排結果',
|
||||
rerankerContent: {
|
||||
label: '重排內容',
|
||||
requiredMessage: '請選擇重排內容',
|
||||
},
|
||||
higher: '高於',
|
||||
ScoreTooltip: 'Score越高相關性越強。',
|
||||
max_paragraph_char_number: '最大引用字符數',
|
||||
reranker_model: {
|
||||
label: '重排模型',
|
||||
placeholder: '請選擇重排模型',
|
||||
},
|
||||
},
|
||||
formNode: {
|
||||
label: '表單收集',
|
||||
text: '在問答過程中用於收集用戶信息,可以根據收集到表單數據執行後續流程',
|
||||
form_content_format1: '你好,請先填寫下面表單內容:',
|
||||
form_content_format2: '填寫後請點擊【提交】按鈕進行提交。',
|
||||
form_data: '表單全部內容',
|
||||
formContent: {
|
||||
label: '表單輸出內容',
|
||||
requiredMessage: '請表單輸出內容',
|
||||
tooltip: '設置執行該節點輸出的內容,{ form } 為表單的佔位符。',
|
||||
},
|
||||
formAllContent: '表單全部內容',
|
||||
formSetting: '表單配置',
|
||||
},
|
||||
documentExtractNode: {
|
||||
label: '文檔內容提取',
|
||||
text: '提取文檔中的內容',
|
||||
content: '文檔內容',
|
||||
},
|
||||
imageUnderstandNode: {
|
||||
label: '圖片理解',
|
||||
text: '識別出圖片中的物件、場景等信息回答用戶問題',
|
||||
answer: 'AI 回答內容',
|
||||
model: {
|
||||
label: '視覺模型',
|
||||
requiredMessage: '請選擇視覺模型',
|
||||
},
|
||||
image: {
|
||||
label: '選擇圖片',
|
||||
requiredMessage: '請選擇圖片',
|
||||
},
|
||||
},
|
||||
variableAssignNode: {
|
||||
label: '變數賦值',
|
||||
text: '更新全域變數的值',
|
||||
assign: '賦值',
|
||||
},
|
||||
variableAggregationNode: {
|
||||
label: '變量聚合',
|
||||
text: '按聚合策略聚合每組的變量',
|
||||
Strategy: '聚合策略',
|
||||
placeholder: '返回每組的第一個非空值',
|
||||
placeholder1: '返回每組變量的集合',
|
||||
group: {
|
||||
noneError: '名稱不能為空',
|
||||
dupError: '名稱不能重複',
|
||||
},
|
||||
addGroup: '添加分組',
|
||||
editGroup: '編輯分組',
|
||||
},
|
||||
mcpNode: {
|
||||
label: 'MCP 調用',
|
||||
text: '通過SSE/Streamable HTTP方式執行MCP服務中的工具',
|
||||
getToolsSuccess: '獲取工具成功',
|
||||
getTool: '獲取工具',
|
||||
toolParam: '工具參數',
|
||||
mcpServerTip: '請輸入JSON格式的MCP服務器配置',
|
||||
mcpToolTip: '請選擇工具',
|
||||
configLabel: 'MCP Server Config (僅支持SSE/Streamable HTTP調用方式)',
|
||||
reference: '引用MCP',
|
||||
},
|
||||
imageGenerateNode: {
|
||||
label: '圖片生成',
|
||||
text: '根據提供的文本內容生成圖片',
|
||||
answer: 'AI 回答內容',
|
||||
model: {
|
||||
label: '圖片生成模型',
|
||||
requiredMessage: '請選擇圖片生成模型',
|
||||
},
|
||||
prompt: {
|
||||
label: '提示詞(正向)',
|
||||
tooltip: '正向提示詞,用來描述生成圖像中期望包含的元素和視覺特點',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: '提示詞(負向)',
|
||||
tooltip: '反向提示詞,用來描述不希望在畫面中看到的內容,可以對畫面進行限制。',
|
||||
placeholder: '請描述不想生成的圖片內容,比如:顏色、血腥內容',
|
||||
},
|
||||
},
|
||||
textToVideoGenerate: {
|
||||
label: '文生影片',
|
||||
text: '根據提供的文字內容生成影片',
|
||||
answer: 'AI 回答內容',
|
||||
model: {
|
||||
label: '文生影片模型',
|
||||
requiredMessage: '請選擇文生影片模型',
|
||||
},
|
||||
prompt: {
|
||||
label: '提示詞(正向)',
|
||||
tooltip: '正向提示詞,用來描述生成影片中期望包含的元素和視覺特點',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: '提示詞(負向)',
|
||||
tooltip: '反向提示詞,用來描述不希望在影片中看到的內容,可以對影片進行限制。',
|
||||
placeholder: '請描述不想生成的影片內容,例如:顏色、血腥內容',
|
||||
},
|
||||
},
|
||||
imageToVideoGenerate: {
|
||||
label: '圖生影片',
|
||||
text: '根據提供的圖片生成影片',
|
||||
answer: 'AI 回答內容',
|
||||
model: {
|
||||
label: '圖生影片模型',
|
||||
requiredMessage: '請選擇圖生影片模型',
|
||||
},
|
||||
prompt: {
|
||||
label: '提示詞(正向)',
|
||||
tooltip: '正向提示詞,用來描述生成影片中期望包含的元素和視覺特點',
|
||||
},
|
||||
negative_prompt: {
|
||||
label: '提示詞(負向)',
|
||||
tooltip: '反向提示詞,用來描述不希望在影片中看到的內容,可以對影片進行限制。',
|
||||
placeholder: '請描述不想生成的影片內容,例如:顏色、血腥內容',
|
||||
},
|
||||
first_frame: {
|
||||
label: '首幀圖片',
|
||||
requiredMessage: '請選擇首幀圖片',
|
||||
},
|
||||
last_frame: {
|
||||
label: '尾幀圖片',
|
||||
requiredMessage: '請選擇尾幀圖片',
|
||||
},
|
||||
},
|
||||
speechToTextNode: {
|
||||
label: '語音轉文本',
|
||||
text: '將音頻通過語音識別模型轉換為文本',
|
||||
stt_model: {
|
||||
label: '語音識別模型',
|
||||
},
|
||||
audio: {
|
||||
label: '選擇語音文件',
|
||||
placeholder: '請選擇語音文件',
|
||||
},
|
||||
},
|
||||
textToSpeechNode: {
|
||||
label: '文本轉語音',
|
||||
text: '將文本通過語音合成模型轉換為音頻',
|
||||
tts_model: {
|
||||
label: '語音合成模型',
|
||||
},
|
||||
content: {
|
||||
label: '選擇文本內容',
|
||||
},
|
||||
},
|
||||
toolNode: {
|
||||
label: '自定義工具',
|
||||
text: '通過執行自定義腳本,實現數據處理',
|
||||
},
|
||||
intentNode: {
|
||||
label: '意圖識別',
|
||||
text: '將用戶問題與用戶預設的意圖分類進行匹配',
|
||||
other: '其他',
|
||||
error2: '意圖重複',
|
||||
placeholder: '請選擇分類項',
|
||||
classify: {
|
||||
label: '意圖分類',
|
||||
placeholder: '請輸入',
|
||||
},
|
||||
input: {
|
||||
label: '輸入',
|
||||
},
|
||||
},
|
||||
applicationNode: {
|
||||
label: '應用節點',
|
||||
},
|
||||
loopNode: {
|
||||
label: '循環節點',
|
||||
text: '通過設置循環次數和邏輯,重複執行一系列任務',
|
||||
loopType: {
|
||||
label: '循環類型',
|
||||
requiredMessage: '請選擇循環類型',
|
||||
arrayLoop: '數組循環',
|
||||
numberLoop: '指定次數循環',
|
||||
infiniteLoop: '無限循環',
|
||||
},
|
||||
loopNumber: {
|
||||
label: '循環次數',
|
||||
requiredMessage: '請填寫循環次數',
|
||||
},
|
||||
loopArray: {
|
||||
label: '循環數組',
|
||||
requiredMessage: '循環數組必填',
|
||||
placeholder: '請選擇循環數組',
|
||||
},
|
||||
loopSetting: '循環設置',
|
||||
loopDetail: '循環詳情',
|
||||
},
|
||||
loopStartNode: {
|
||||
label: '循環開始',
|
||||
loopIndex: '下標',
|
||||
loopItem: '循環元素',
|
||||
},
|
||||
loopBodyNode: { label: '循環體', text: '循環體' },
|
||||
loopContinueNode: {
|
||||
label: 'Continue',
|
||||
text: '用於終止當前循環,執行下次循環',
|
||||
isContinue: 'Continue',
|
||||
},
|
||||
loopBreakNode: { label: 'Break', text: '終止當前循環,跳出循環體', isBreak: 'Break' },
|
||||
variableSplittingNode: {
|
||||
label: '變量拆分',
|
||||
text: '通過配置 JSON Path 表達式,對輸入的 JSON 格式變量進行解析和拆分',
|
||||
result: '結果',
|
||||
splitVariables: '拆分變量',
|
||||
inputVariables: '輸入變量',
|
||||
addVariables: '添加變量',
|
||||
editVariables: '編輯變量',
|
||||
variableListPlaceholder: '請添加折開變數',
|
||||
expression: {
|
||||
label: '表達式',
|
||||
placeholder: '請輸入表達式',
|
||||
tooltip: '請使用JSON Path 表達式拆分變量,例如:$.store.book',
|
||||
},
|
||||
},
|
||||
parameterExtractionNode: {
|
||||
label: '參數提取',
|
||||
text: '利用 AI 模型提取結構化參數',
|
||||
extractParameters: {
|
||||
label: '提取參數',
|
||||
variableListPlaceholder: '請添加選取參數',
|
||||
parameterType: '參數類型',
|
||||
},
|
||||
},
|
||||
},
|
||||
compare: {
|
||||
is_null: '為空',
|
||||
is_not_null: '不為空',
|
||||
contain: '包含',
|
||||
not_contain: '不包含',
|
||||
eq: '等於',
|
||||
ge: '大於等於',
|
||||
gt: '大於',
|
||||
le: '小於等於',
|
||||
lt: '小於',
|
||||
len_eq: '長度等於',
|
||||
len_ge: '長度大於等於',
|
||||
len_gt: '長度大於',
|
||||
len_le: '長度小於等於',
|
||||
len_lt: '長度小於',
|
||||
},
|
||||
SystemPromptPlaceholder: '系統提示詞,可以引用系統中的變量:如',
|
||||
UserPromptPlaceholder: '用戶提示詞,可以引用系統中的變量:如',
|
||||
}
|
||||
|
|
@ -3,12 +3,6 @@ export default {
|
|||
relatedApplications: '關聯應用',
|
||||
document_count: '文檔數',
|
||||
relatedApp_count: '關聯應用',
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜尋',
|
||||
},
|
||||
operation: {
|
||||
publish: '發佈',
|
||||
},
|
||||
setting: {
|
||||
vectorization: '向量化',
|
||||
sync: '同步',
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@ export default {
|
|||
batchDelete: '批量刪除',
|
||||
cancelRelated: '取消關聯'
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜尋'
|
||||
},
|
||||
table: {
|
||||
paragraph_count: '關聯分段數',
|
||||
updateTime: '更新時間'
|
||||
|
|
|
|||
|
|
@ -29,9 +29,6 @@ export default {
|
|||
confirmTip: '是否更新工具:',
|
||||
updateStoreToolMessage: '更新工具可能會影響正在使用的資源,請謹慎操作。',
|
||||
},
|
||||
searchBar: {
|
||||
placeholder: '按工具名稱搜尋',
|
||||
},
|
||||
tip: {
|
||||
saveMessage: '當前的更改尚未保存,確認退出嗎?',
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ export default {
|
|||
baseComponent: '基礎組件',
|
||||
nodeSetting: '節點設置',
|
||||
workflow: '工作流',
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜索',
|
||||
},
|
||||
info: {
|
||||
previewVersion: '預覽版本:',
|
||||
saveTime: '保存時間:',
|
||||
},
|
||||
operation: {
|
||||
toImportDoc: '去導入文檔',
|
||||
},
|
||||
setting: {
|
||||
restoreVersion: '恢復版本',
|
||||
restoreCurrentVersion: '恢復此版本',
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="workflow-publish-history border-l white-bg">
|
||||
<h4 class="border-b p-16-24">{{ $t('views.applicationWorkflow.setting.releaseHistory') }}</h4>
|
||||
<h4 class="border-b p-16-24">{{ $t('views.workflow.setting.releaseHistory') }}</h4>
|
||||
<div class="list-height pt-0">
|
||||
<el-scrollbar>
|
||||
<div class="p-8 pt-0">
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
@close="closeWrite(row)"
|
||||
/>
|
||||
<el-tag v-if="index === 0" class="default-tag ml-4">{{
|
||||
$t('views.applicationWorkflow.setting.latestRelease')
|
||||
$t('views.workflow.setting.latestRelease')
|
||||
}}</el-tag>
|
||||
</h5>
|
||||
<el-text type="info" class="color-secondary flex align-center mt-8">
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="refreshVersion(row)">
|
||||
<el-icon class="color-secondary"><RefreshLeft /></el-icon>
|
||||
{{ $t('views.applicationWorkflow.setting.restoreCurrentVersion') }}
|
||||
{{ $t('views.workflow.setting.restoreCurrentVersion') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
|
|
@ -126,7 +126,7 @@ function editName(val: string, item: any) {
|
|||
getList()
|
||||
})
|
||||
} else {
|
||||
MsgError(t('views.applicationWorkflow.tip.nameMessage'))
|
||||
MsgError(t('views.workflow.tip.nameMessage'))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,18 +6,18 @@
|
|||
<h4 class="ellipsis" style="max-width: 300px" :title="detail?.name">{{ detail?.name }}</h4>
|
||||
<div v-if="showHistory && disablePublic">
|
||||
<el-text type="info" class="ml-16 color-secondary"
|
||||
>{{ $t('views.applicationWorkflow.info.previewVersion') }}
|
||||
>{{ $t('views.workflow.info.previewVersion') }}
|
||||
{{ currentVersion.name || datetimeFormat(currentVersion.update_time) }}</el-text
|
||||
>
|
||||
</div>
|
||||
<el-text type="info" class="ml-16 color-secondary" v-else-if="saveTime"
|
||||
>{{ $t('views.applicationWorkflow.info.saveTime')
|
||||
>{{ $t('views.workflow.info.saveTime')
|
||||
}}{{ datetimeFormat(saveTime) }}</el-text
|
||||
>
|
||||
</div>
|
||||
<div v-if="showHistory && disablePublic">
|
||||
<el-button type="primary" class="mr-8" @click="refreshVersion()">
|
||||
{{ $t('views.applicationWorkflow.setting.restoreVersion') }}
|
||||
{{ $t('views.workflow.setting.restoreVersion') }}
|
||||
</el-button>
|
||||
<el-divider direction="vertical" />
|
||||
<el-button text @click="closeHistory">
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
<div v-else>
|
||||
<el-button @click="showPopover = !showPopover">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4" />
|
||||
{{ $t('views.applicationWorkflow.setting.addComponent') }}
|
||||
{{ $t('views.workflow.setting.addComponent') }}
|
||||
</el-button>
|
||||
<el-button @click="clickShowDebug" :disabled="showDebug" v-if="permissionPrecise.debug(id)">
|
||||
<AppIcon iconName="app-debug-outlined" class="mr-4"></AppIcon>
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
<el-button type="primary" @click="publish" v-if="permissionPrecise.edit(id)">
|
||||
{{ $t('views.application.operation.publish') }}
|
||||
{{ $t('common.publish') }}
|
||||
</el-button>
|
||||
|
||||
<el-dropdown trigger="click">
|
||||
|
|
@ -58,11 +58,11 @@
|
|||
|
||||
<el-dropdown-item @click="openHistory">
|
||||
<AppIcon iconName="app-history-outlined" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.setting.releaseHistory') }}
|
||||
{{ $t('views.workflow.setting.releaseHistory') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<AppIcon iconName="app-save-outlined" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.setting.autoSave') }}
|
||||
{{ $t('views.workflow.setting.autoSave') }}
|
||||
<div class="ml-4">
|
||||
<el-switch size="small" v-model="isSave" @change="changeSave" />
|
||||
</div>
|
||||
|
|
@ -212,9 +212,9 @@ const shareUrl = computed(
|
|||
|
||||
function back() {
|
||||
if (JSON.stringify(cloneWorkFlow.value) !== JSON.stringify(getGraphData())) {
|
||||
MsgConfirm(t('common.tip'), t('views.applicationWorkflow.tip.saveMessage'), {
|
||||
confirmButtonText: t('views.applicationWorkflow.setting.exitSave'),
|
||||
cancelButtonText: t('views.applicationWorkflow.setting.exit'),
|
||||
MsgConfirm(t('common.tip'), t('views.workflow.tip.saveMessage'), {
|
||||
confirmButtonText: t('views.workflow.setting.exitSave'),
|
||||
cancelButtonText: t('views.workflow.setting.exit'),
|
||||
distinguishCancelAndClose: true,
|
||||
})
|
||||
.then(() => {
|
||||
|
|
@ -351,14 +351,14 @@ const publish = () => {
|
|||
if (typeof err_message == 'string') {
|
||||
MsgError(
|
||||
res.node.properties?.stepName +
|
||||
` ${t('views.applicationWorkflow.node').toLowerCase()} ` +
|
||||
` ${t('views.workflow.node').toLowerCase()} ` +
|
||||
err_message.toLowerCase(),
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(err_message)
|
||||
MsgError(
|
||||
node.properties?.stepName +
|
||||
` ${t('views.applicationWorkflow.node').toLowerCase()} ` +
|
||||
` ${t('views.workflow.node').toLowerCase()} ` +
|
||||
err_message[keys[0]]?.[0]?.message.toLowerCase(),
|
||||
)
|
||||
}
|
||||
|
|
@ -369,13 +369,13 @@ const publish = () => {
|
|||
const err_message = res.errMessage
|
||||
if (typeof err_message == 'string') {
|
||||
MsgError(
|
||||
res.node.properties?.stepName + ` ${t('views.applicationWorkflow.node')},` + err_message,
|
||||
res.node.properties?.stepName + ` ${t('views.workflow.node')},` + err_message,
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(err_message)
|
||||
MsgError(
|
||||
node.properties?.stepName +
|
||||
` ${t('views.applicationWorkflow.node')},` +
|
||||
` ${t('views.workflow.node')},` +
|
||||
err_message[keys[0]]?.[0]?.message,
|
||||
)
|
||||
}
|
||||
|
|
@ -407,13 +407,13 @@ const clickShowDebug = () => {
|
|||
const err_message = res.errMessage
|
||||
if (typeof err_message == 'string') {
|
||||
MsgError(
|
||||
res.node.properties?.stepName + ` ${t('views.applicationWorkflow.node')},` + err_message,
|
||||
res.node.properties?.stepName + ` ${t('views.workflow.node')},` + err_message,
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(err_message)
|
||||
MsgError(
|
||||
node.properties?.stepName +
|
||||
` ${t('views.applicationWorkflow.node')},` +
|
||||
` ${t('views.workflow.node')},` +
|
||||
err_message[keys[0]]?.[0]?.message,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
:disabled="loading"
|
||||
v-if="permissionPrecise.edit(id)"
|
||||
>
|
||||
{{ $t('views.application.operation.publish') }}
|
||||
{{ $t('common.publish') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<el-form-item>
|
||||
<el-radio-group v-model="form.mcp_source" @change="mcpSourceChange">
|
||||
<el-radio value="referencing">
|
||||
{{ $t('views.applicationWorkflow.nodes.mcpNode.reference') }}
|
||||
{{ $t('views.workflow.nodes.mcpNode.reference') }}
|
||||
</el-radio>
|
||||
<el-radio value="custom">{{ $t('common.custom') }}</el-radio>
|
||||
</el-radio-group>
|
||||
|
|
@ -171,7 +171,7 @@ const submit = () => {
|
|||
try {
|
||||
JSON.parse(form.value.mcp_servers || '{}')
|
||||
} catch (e) {
|
||||
MsgError(t('views.applicationWorkflow.nodes.mcpNode.mcpServerTip'))
|
||||
MsgError(t('views.workflow.nodes.mcpNode.mcpServerTip'))
|
||||
return
|
||||
}
|
||||
emit('refresh', form.value)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<el-option :label="$t('common.name')" value="name" />
|
||||
|
||||
<el-option :label="$t('common.publishStatus')" value="publish_status" />
|
||||
<el-option :label="$t('views.application.publishStatus')" value="publish_status" />
|
||||
</el-select>
|
||||
<el-input
|
||||
v-if="search_type === 'name'"
|
||||
|
|
@ -57,8 +57,8 @@
|
|||
clearable
|
||||
style="width: 220px"
|
||||
>
|
||||
<el-option :label="$t('common.published')" value="published" />
|
||||
<el-option :label="$t('common.unpublished')" value="unpublished" />
|
||||
<el-option :label="$t('common.status.published')" value="published" />
|
||||
<el-option :label="$t('common.status.unpublished')" value="unpublished" />
|
||||
</el-select>
|
||||
</div>
|
||||
<el-dropdown trigger="click" v-if="permissionPrecise.create()">
|
||||
|
|
@ -216,7 +216,7 @@
|
|||
<SuccessFilled />
|
||||
</el-icon>
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.application.status.published') }}
|
||||
{{ $t('common.status.published') }}
|
||||
</span>
|
||||
<el-divider direction="vertical" />
|
||||
<AppIcon iconName="app-clock" class="color-secondary mr-8"></AppIcon>
|
||||
|
|
@ -226,7 +226,7 @@
|
|||
<div v-else class="flex align-center">
|
||||
<AppIcon iconName="app-disabled" class="color-secondary mr-8"></AppIcon>
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.application.status.unpublished') }}
|
||||
{{ $t('common.status.unpublished') }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="workflow-publish-history border-l white-bg">
|
||||
<h4 class="border-b p-16-24">{{ $t('views.applicationWorkflow.setting.releaseHistory') }}</h4>
|
||||
<h4 class="border-b p-16-24">{{ $t('views.workflow.setting.releaseHistory') }}</h4>
|
||||
<div class="list-height pt-0">
|
||||
<el-scrollbar>
|
||||
<div class="p-8 pt-0">
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
@close="closeWrite(row)"
|
||||
/>
|
||||
<el-tag v-if="index === 0" class="default-tag ml-4">{{
|
||||
$t('views.applicationWorkflow.setting.latestRelease')
|
||||
$t('views.workflow.setting.latestRelease')
|
||||
}}</el-tag>
|
||||
</h5>
|
||||
<el-text type="info" class="color-secondary flex align-center mt-8">
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="refreshVersion(row)">
|
||||
<el-icon class="color-secondary"><RefreshLeft /></el-icon>
|
||||
{{ $t('views.applicationWorkflow.setting.restoreCurrentVersion') }}
|
||||
{{ $t('views.workflow.setting.restoreCurrentVersion') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
|
|
@ -126,7 +126,7 @@ function editName(val: string, item: any) {
|
|||
getList()
|
||||
})
|
||||
} else {
|
||||
MsgError(t('views.applicationWorkflow.tip.nameMessage'))
|
||||
MsgError(t('views.workflow.tip.nameMessage'))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,17 +6,17 @@
|
|||
<h4 class="ellipsis" style="max-width: 300px" :title="detail?.name">{{ detail?.name }}</h4>
|
||||
<div v-if="showHistory && disablePublic">
|
||||
<el-text type="info" class="ml-16 color-secondary"
|
||||
>{{ $t('views.knowledgeWorkflow.info.previewVersion') }}
|
||||
>{{ $t('views.workflow.info.previewVersion') }}
|
||||
{{ currentVersion.name || datetimeFormat(currentVersion.update_time) }}</el-text
|
||||
>
|
||||
</div>
|
||||
<el-text type="info" class="ml-16 color-secondary" v-else-if="saveTime"
|
||||
>{{ $t('views.knowledgeWorkflow.info.saveTime') }}{{ datetimeFormat(saveTime) }}</el-text
|
||||
>{{ $t('views.workflow.info.saveTime') }}{{ datetimeFormat(saveTime) }}</el-text
|
||||
>
|
||||
</div>
|
||||
<div v-if="showHistory && disablePublic">
|
||||
<el-button type="primary" class="mr-8" @click="refreshVersion()">
|
||||
{{ $t('views.knowledgeWorkflow.setting.restoreVersion') }}
|
||||
{{ $t('views.workflow.setting.restoreVersion') }}
|
||||
</el-button>
|
||||
<el-divider direction="vertical" />
|
||||
<el-button text @click="closeHistory">
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
<div v-else>
|
||||
<el-button @click="showPopover = !showPopover">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4" />
|
||||
{{ $t('views.knowledgeWorkflow.setting.addComponent') }}
|
||||
{{ $t('views.workflow.setting.addComponent') }}
|
||||
</el-button>
|
||||
<el-button @click="clickShowDebug" :disabled="showDebug" v-if="permissionPrecise.debug(id)">
|
||||
<AppIcon iconName="app-debug-outlined" class="mr-4"></AppIcon>
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
<el-button type="primary" @click="publish">
|
||||
{{ $t('views.knowledgeWorkflow.operation.publish') }}
|
||||
{{ $t('common.publish') }}
|
||||
</el-button>
|
||||
|
||||
<el-dropdown trigger="click">
|
||||
|
|
@ -51,17 +51,17 @@
|
|||
<a :href="shareUrl" target="_blank">
|
||||
<el-dropdown-item>
|
||||
<AppIcon iconName="app-create-chat" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.knowledgeWorkflow.operation.toImportDoc') }}
|
||||
{{ $t('views.workflow.operation.toImportDoc') }}
|
||||
</el-dropdown-item>
|
||||
</a>
|
||||
|
||||
<el-dropdown-item @click="openHistory">
|
||||
<AppIcon iconName="app-history-outlined" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.knowledgeWorkflow.setting.releaseHistory') }}
|
||||
{{ $t('views.workflow.setting.releaseHistory') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<AppIcon iconName="app-save-outlined" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.knowledgeWorkflow.setting.autoSave') }}
|
||||
{{ $t('views.workflow.setting.autoSave') }}
|
||||
<div class="ml-4">
|
||||
<el-switch size="small" v-model="isSave" @change="changeSave" />
|
||||
</div>
|
||||
|
|
@ -212,9 +212,9 @@ const shareUrl = computed(
|
|||
|
||||
function back() {
|
||||
if (JSON.stringify(cloneWorkFlow.value) !== JSON.stringify(getGraphData())) {
|
||||
MsgConfirm(t('common.tip'), t('views.knowledgeWorkflow.tip.saveMessage'), {
|
||||
confirmButtonText: t('views.knowledgeWorkflow.setting.exitSave'),
|
||||
cancelButtonText: t('views.knowledgeWorkflow.setting.exit'),
|
||||
MsgConfirm(t('common.tip'), t('views.workflow.tip.saveMessage'), {
|
||||
confirmButtonText: t('views.workflow.setting.exitSave'),
|
||||
cancelButtonText: t('views.workflow.setting.exit'),
|
||||
distinguishCancelAndClose: true,
|
||||
})
|
||||
.then(() => {
|
||||
|
|
@ -348,14 +348,14 @@ const publish = () => {
|
|||
if (typeof err_message == 'string') {
|
||||
MsgError(
|
||||
res.node.properties?.stepName +
|
||||
` ${t('views.knowledgeWorkflow.node').toLowerCase()} ` +
|
||||
` ${t('views.workflow.node').toLowerCase()} ` +
|
||||
err_message.toLowerCase(),
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(err_message)
|
||||
MsgError(
|
||||
node.properties?.stepName +
|
||||
` ${t('views.knowledgeWorkflow.node').toLowerCase()} ` +
|
||||
` ${t('views.workflow.node').toLowerCase()} ` +
|
||||
err_message[keys[0]]?.[0]?.message.toLowerCase(),
|
||||
)
|
||||
}
|
||||
|
|
@ -366,13 +366,13 @@ const publish = () => {
|
|||
const err_message = res.errMessage
|
||||
if (typeof err_message == 'string') {
|
||||
MsgError(
|
||||
res.node.properties?.stepName + ` ${t('views.knowledgeWorkflow.node')},` + err_message,
|
||||
res.node.properties?.stepName + ` ${t('views.workflow.node')},` + err_message,
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(err_message)
|
||||
MsgError(
|
||||
node.properties?.stepName +
|
||||
` ${t('views.knowledgeWorkflow.node')},` +
|
||||
` ${t('views.workflow.node')},` +
|
||||
err_message[keys[0]]?.[0]?.message,
|
||||
)
|
||||
}
|
||||
|
|
@ -403,13 +403,13 @@ const clickShowDebug = () => {
|
|||
const err_message = res.errMessage
|
||||
if (typeof err_message == 'string') {
|
||||
MsgError(
|
||||
res.node.properties?.stepName + ` ${t('views.knowledgeWorkflow.node')},` + err_message,
|
||||
res.node.properties?.stepName + ` ${t('views.workflow.node')},` + err_message,
|
||||
)
|
||||
} else {
|
||||
const keys = Object.keys(err_message)
|
||||
MsgError(
|
||||
node.properties?.stepName +
|
||||
` ${t('views.knowledgeWorkflow.node')},` +
|
||||
` ${t('views.workflow.node')},` +
|
||||
err_message[keys[0]]?.[0]?.message,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
:placeholder="$t('views.problem.searchBar.placeholder')"
|
||||
:placeholder="$t('common.searchBar.placeholder')"
|
||||
prefix-icon="Search"
|
||||
class="w-240"
|
||||
@change="getList"
|
||||
|
|
|
|||
|
|
@ -142,13 +142,13 @@
|
|||
<SuccessFilled/>
|
||||
</el-icon>
|
||||
<span class="color-text-primary">
|
||||
{{ $t('views.application.status.published') }}
|
||||
{{ $t('common.status.published') }}
|
||||
</span>
|
||||
</div>
|
||||
<div v-else class="flex align-center">
|
||||
<AppIcon iconName="app-disabled" class="color-secondary mr-8"></AppIcon>
|
||||
<span class="color-text-primary">
|
||||
{{ $t('views.application.status.unpublished') }}
|
||||
{{ $t('common.status.unpublished') }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -462,11 +462,11 @@ const statusVisible = ref(false)
|
|||
const statusArr = ref<any[]>([])
|
||||
const statusOptions = ref<any[]>([
|
||||
{
|
||||
label: t('views.application.status.published'),
|
||||
label: t('common.status.published'),
|
||||
value: true,
|
||||
},
|
||||
{
|
||||
label: t('views.application.status.unpublished'),
|
||||
label: t('common.status.unpublished'),
|
||||
value: false,
|
||||
},
|
||||
])
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||
throw new Error('Code must be a valid JSON object')
|
||||
}
|
||||
} catch (e) {
|
||||
MsgError(t('views.applicationWorkflow.nodes.mcpNode.mcpServerTip'))
|
||||
MsgError(t('views.workflow.nodes.mcpNode.mcpServerTip'))
|
||||
return
|
||||
}
|
||||
loading.value = true
|
||||
|
|
|
|||
|
|
@ -62,21 +62,21 @@ function visibleChange(bool: boolean) {
|
|||
const validate = () => {
|
||||
const incomingNodeValue = getOptionsValue()
|
||||
if (!data.value || data.value.length === 0) {
|
||||
return Promise.reject(t('views.applicationWorkflow.variable.ReferencingRequired'))
|
||||
return Promise.reject(t('views.workflow.variable.ReferencingRequired'))
|
||||
}
|
||||
if (data.value.length < 2) {
|
||||
return Promise.reject(t('views.applicationWorkflow.variable.ReferencingError'))
|
||||
return Promise.reject(t('views.workflow.variable.ReferencingError'))
|
||||
}
|
||||
const node_id = data.value[0]
|
||||
const node_field = data.value[1]
|
||||
const nodeParent = incomingNodeValue.find((item: any) => item.value === node_id)
|
||||
if (!nodeParent) {
|
||||
data.value = []
|
||||
return Promise.reject(t('views.applicationWorkflow.variable.NoReferencing'))
|
||||
return Promise.reject(t('views.workflow.variable.NoReferencing'))
|
||||
}
|
||||
if (!nodeParent.children.some((item: any) => item.value === node_field)) {
|
||||
data.value = []
|
||||
return Promise.reject(t('views.applicationWorkflow.variable.NoReferencing'))
|
||||
return Promise.reject(t('views.workflow.variable.NoReferencing'))
|
||||
}
|
||||
return Promise.resolve('')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,17 +42,17 @@
|
|||
</el-button>
|
||||
<template #dropdown>
|
||||
<div style="width: 280px" class="p-12-16">
|
||||
<h5>{{ $t('views.applicationWorkflow.condition.title') }}</h5>
|
||||
<h5>{{ $t('views.workflow.condition.title') }}</h5>
|
||||
<p class="mt-8 lighter">
|
||||
<span>{{ $t('views.applicationWorkflow.condition.front') }}</span>
|
||||
<span>{{ $t('views.workflow.condition.front') }}</span>
|
||||
<el-select v-model="condition" size="small" style="width: 60px; margin: 0 8px">
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.condition.AND')"
|
||||
:label="$t('views.workflow.condition.AND')"
|
||||
value="AND"
|
||||
/>
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.OR')" value="OR" />
|
||||
<el-option :label="$t('views.workflow.condition.OR')" value="OR" />
|
||||
</el-select>
|
||||
<span>{{ $t('views.applicationWorkflow.condition.text') }}</span>
|
||||
<span>{{ $t('views.workflow.condition.text') }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -84,8 +84,8 @@
|
|||
class="mb-16"
|
||||
:title="
|
||||
props.nodeModel.type === 'application-node'
|
||||
? $t('views.applicationWorkflow.tip.applicationNodeError')
|
||||
: $t('views.applicationWorkflow.tip.toolNodeError')
|
||||
? $t('views.workflow.tip.applicationNodeError')
|
||||
: $t('views.workflow.tip.toolNodeError')
|
||||
"
|
||||
type="error"
|
||||
show-icon
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
<span class="break-all">{{ item.label }} {{ '{' + item.value + '}' }}</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.setting.copyParam')"
|
||||
:content="$t('views.workflow.setting.copyParam')"
|
||||
placement="top"
|
||||
v-if="showicon === index"
|
||||
>
|
||||
|
|
@ -136,7 +136,7 @@
|
|||
</el-collapse-transition>
|
||||
|
||||
<el-dialog
|
||||
:title="$t('views.applicationWorkflow.nodeName')"
|
||||
:title="$t('views.workflow.nodeName')"
|
||||
v-model="nodeNameDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
|
|
@ -261,7 +261,7 @@ const editName = async (formEl: FormInstance | undefined) => {
|
|||
nodeNameDialogVisible.value = false
|
||||
formEl.resetFields()
|
||||
} else {
|
||||
MsgError(t('views.applicationWorkflow.tip.repeatedNodeError'))
|
||||
MsgError(t('views.workflow.tip.repeatedNodeError'))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -284,7 +284,7 @@ const copyNode = () => {
|
|||
props.nodeModel.graphModel.toFront(cloneNode.id)
|
||||
}
|
||||
const deleteNode = () => {
|
||||
MsgConfirm(t('common.tip'), t('views.applicationWorkflow.delete.confirmTitle'), {
|
||||
MsgConfirm(t('common.tip'), t('views.workflow.delete.confirmTitle'), {
|
||||
confirmButtonText: t('common.confirm'),
|
||||
confirmButtonClass: 'danger',
|
||||
}).then(() => {
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@
|
|||
<el-button link @click="zoomOut" style="border: none">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.control.zoomOut')"
|
||||
:content="$t('views.workflow.control.zoomOut')"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon :size="16" :title="$t('views.applicationWorkflow.control.zoomOut')"
|
||||
<el-icon :size="16" :title="$t('views.workflow.control.zoomOut')"
|
||||
><ZoomOut
|
||||
/></el-icon>
|
||||
</el-tooltip>
|
||||
|
|
@ -29,10 +29,10 @@
|
|||
<el-button link @click="zoomIn" style="border: none">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.control.zoomIn')"
|
||||
:content="$t('views.workflow.control.zoomIn')"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon :size="16" :title="$t('views.applicationWorkflow.control.zoomIn')"
|
||||
<el-icon :size="16" :title="$t('views.workflow.control.zoomIn')"
|
||||
><ZoomIn
|
||||
/></el-icon>
|
||||
</el-tooltip>
|
||||
|
|
@ -40,12 +40,12 @@
|
|||
<el-button link @click="fitView" style="border: none">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.control.fitView')"
|
||||
:content="$t('views.workflow.control.fitView')"
|
||||
placement="top"
|
||||
>
|
||||
<AppIcon
|
||||
iconName="app-fitview"
|
||||
:title="$t('views.applicationWorkflow.control.fitView')"
|
||||
:title="$t('views.workflow.control.fitView')"
|
||||
></AppIcon>
|
||||
</el-tooltip>
|
||||
</el-button>
|
||||
|
|
@ -53,39 +53,39 @@
|
|||
<el-button link @click="retract" style="border: none">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.control.retract')"
|
||||
:content="$t('views.workflow.control.retract')"
|
||||
placement="top"
|
||||
>
|
||||
<AppIcon
|
||||
style="font-size: 16px"
|
||||
iconName="app-retract"
|
||||
:title="$t('views.applicationWorkflow.control.retract')"
|
||||
:title="$t('views.workflow.control.retract')"
|
||||
></AppIcon>
|
||||
</el-tooltip>
|
||||
</el-button>
|
||||
<el-button link @click="extend" style="border: none">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.control.extend')"
|
||||
:content="$t('views.workflow.control.extend')"
|
||||
placement="top"
|
||||
>
|
||||
<AppIcon
|
||||
style="font-size: 16px"
|
||||
iconName="app-extend"
|
||||
:title="$t('views.applicationWorkflow.control.extend')"
|
||||
:title="$t('views.workflow.control.extend')"
|
||||
></AppIcon>
|
||||
</el-tooltip>
|
||||
</el-button>
|
||||
<el-button link @click="layout" style="border: none">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.control.beautify')"
|
||||
:content="$t('views.workflow.control.beautify')"
|
||||
placement="top"
|
||||
>
|
||||
<AppIcon
|
||||
style="font-size: 16px"
|
||||
iconName="app-beautify"
|
||||
:title="$t('views.applicationWorkflow.control.beautify')"
|
||||
:title="$t('views.workflow.control.beautify')"
|
||||
></AppIcon>
|
||||
</el-tooltip>
|
||||
</el-button>
|
||||
|
|
|
|||
|
|
@ -66,13 +66,13 @@ class AppNode extends HtmlResize.view {
|
|||
if (this.props.model.type === 'start-node') {
|
||||
result.push({
|
||||
value: 'global',
|
||||
label: t('views.applicationWorkflow.variable.global'),
|
||||
label: t('views.workflow.variable.global'),
|
||||
type: 'global',
|
||||
children: this.props.model.properties?.config?.globalFields || [],
|
||||
})
|
||||
result.push({
|
||||
value: 'chat',
|
||||
label: t('views.applicationWorkflow.variable.chat'),
|
||||
label: t('views.workflow.variable.chat'),
|
||||
type: 'chat',
|
||||
children: this.props.model.properties?.config?.chatFields || [],
|
||||
})
|
||||
|
|
@ -383,13 +383,13 @@ class AppNodeModel extends HtmlResize.model {
|
|||
return false
|
||||
}
|
||||
const circleOnlyAsTarget = {
|
||||
message: t('views.applicationWorkflow.tip.onlyRight'),
|
||||
message: t('views.workflow.tip.onlyRight'),
|
||||
validate: (sourceNode: any, targetNode: any, sourceAnchor: any) => {
|
||||
return sourceAnchor.type === 'right'
|
||||
},
|
||||
}
|
||||
this.sourceRules.push({
|
||||
message: t('views.applicationWorkflow.tip.notRecyclable'),
|
||||
message: t('views.workflow.tip.notRecyclable'),
|
||||
validate: (sourceNode: any, targetNode: any, sourceAnchor: any, targetAnchor: any) => {
|
||||
if (targetNode.id == sourceNode.id) {
|
||||
return false
|
||||
|
|
@ -405,7 +405,7 @@ class AppNodeModel extends HtmlResize.model {
|
|||
|
||||
this.sourceRules.push(circleOnlyAsTarget)
|
||||
this.targetRules.push({
|
||||
message: t('views.applicationWorkflow.tip.onlyLeft'),
|
||||
message: t('views.workflow.tip.onlyLeft'),
|
||||
validate: (sourceNode: any, targetNode: any, sourceAnchor: any, targetAnchor: any) => {
|
||||
return targetAnchor.type === 'left'
|
||||
},
|
||||
|
|
|
|||
|
|
@ -9,16 +9,16 @@ export const startNode = {
|
|||
y: 3340,
|
||||
properties: {
|
||||
height: 364,
|
||||
stepName: t('views.applicationWorkflow.nodes.startNode.label'),
|
||||
stepName: t('views.workflow.nodes.startNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.startNode.question'),
|
||||
label: t('views.workflow.nodes.startNode.question'),
|
||||
value: 'question',
|
||||
},
|
||||
],
|
||||
globalFields: [
|
||||
{ label: t('views.applicationWorkflow.nodes.startNode.currentTime'), value: 'time' },
|
||||
{ label: t('views.workflow.nodes.startNode.currentTime'), value: 'time' },
|
||||
{
|
||||
label: t('views.application.form.historyRecord.label'),
|
||||
value: 'history_context',
|
||||
|
|
@ -29,9 +29,9 @@ export const startNode = {
|
|||
},
|
||||
],
|
||||
},
|
||||
fields: [{ label: t('views.applicationWorkflow.nodes.startNode.question'), value: 'question' }],
|
||||
fields: [{ label: t('views.workflow.nodes.startNode.question'), value: 'question' }],
|
||||
globalFields: [
|
||||
{ label: t('views.applicationWorkflow.nodes.startNode.currentTime'), value: 'time' },
|
||||
{ label: t('views.workflow.nodes.startNode.currentTime'), value: 'time' },
|
||||
],
|
||||
showNode: true,
|
||||
},
|
||||
|
|
@ -44,7 +44,7 @@ export const baseNode = {
|
|||
text: '',
|
||||
properties: {
|
||||
height: 728.375,
|
||||
stepName: t('views.applicationWorkflow.nodes.baseNode.label'),
|
||||
stepName: t('views.workflow.nodes.baseNode.label'),
|
||||
input_field_list: [],
|
||||
node_data: {
|
||||
name: '',
|
||||
|
|
@ -66,7 +66,7 @@ export const knowledgeBaseNode = {
|
|||
text: '',
|
||||
properties: {
|
||||
height: 728.375,
|
||||
stepName: t('views.applicationWorkflow.nodes.baseNode.label'),
|
||||
stepName: t('views.workflow.nodes.baseNode.label'),
|
||||
input_field_list: [],
|
||||
node_data: {
|
||||
name: '',
|
||||
|
|
@ -84,18 +84,18 @@ export const dataSourceLocalNode = {
|
|||
type: WorkflowType.DataSourceLocalNode,
|
||||
x: 360,
|
||||
y: 2761.3875,
|
||||
text: t('views.applicationWorkflow.nodes.dataSourceLocalNode.text', '本地文件'),
|
||||
label: t('views.applicationWorkflow.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.applicationWorkflow.nodes.dataSourceLocalNode.label', '本地文件'),
|
||||
stepName: t('views.workflow.nodes.dataSourceLocalNode.label', '本地文件'),
|
||||
input_field_list: [],
|
||||
node_data: {},
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.dataSourceLocalNode.field_label', '文件列表'),
|
||||
label: t('views.workflow.nodes.dataSourceLocalNode.field_label', '文件列表'),
|
||||
value: 'file_list',
|
||||
},
|
||||
],
|
||||
|
|
@ -111,16 +111,16 @@ export const dataSourceWebNode = {
|
|||
type: WorkflowType.DataSourceWebNode,
|
||||
x: 360,
|
||||
y: 2761.3875,
|
||||
text: t('views.applicationWorkflow.nodes.dataSourceWebNode.text', 'Web站点'),
|
||||
label: t('views.applicationWorkflow.nodes.dataSourceWebNode.label', 'Web站点'),
|
||||
text: t('views.workflow.nodes.dataSourceWebNode.text', 'Web站点'),
|
||||
label: t('views.workflow.nodes.dataSourceWebNode.label', 'Web站点'),
|
||||
properties: {
|
||||
kind: WorkflowKind.DataSource,
|
||||
height: 180,
|
||||
stepName: t('views.applicationWorkflow.nodes.dataSourceWebNode.label', 'Web站点'),
|
||||
stepName: t('views.workflow.nodes.dataSourceWebNode.label', 'Web站点'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.dataSourceWebNode.field_label'),
|
||||
label: t('views.workflow.nodes.dataSourceWebNode.field_label'),
|
||||
value: 'document_list',
|
||||
},
|
||||
],
|
||||
|
|
@ -130,11 +130,11 @@ export const dataSourceWebNode = {
|
|||
|
||||
export const knowledgeWriteNode = {
|
||||
type: WorkflowType.KnowledgeWriteNode,
|
||||
text: t('views.applicationWorkflow.nodes.knowledgeWriteNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.knowledgeWriteNode.label'),
|
||||
text: t('views.workflow.nodes.knowledgeWriteNode.text'),
|
||||
label: t('views.workflow.nodes.knowledgeWriteNode.label'),
|
||||
properties: {
|
||||
height: 252,
|
||||
stepName: t('views.applicationWorkflow.nodes.knowledgeWriteNode.label'),
|
||||
stepName: t('views.workflow.nodes.knowledgeWriteNode.label'),
|
||||
config: {
|
||||
fields: [],
|
||||
},
|
||||
|
|
@ -151,23 +151,23 @@ export const baseNodes = [baseNode, startNode]
|
|||
*/
|
||||
export const aiChatNode = {
|
||||
type: WorkflowType.AiChat,
|
||||
text: t('views.applicationWorkflow.nodes.aiChatNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.aiChatNode.label'),
|
||||
text: t('views.workflow.nodes.aiChatNode.text'),
|
||||
label: t('views.workflow.nodes.aiChatNode.label'),
|
||||
height: 340,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.aiChatNode.label'),
|
||||
stepName: t('views.workflow.nodes.aiChatNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.aiChatNode.answer'),
|
||||
label: t('views.workflow.nodes.aiChatNode.answer'),
|
||||
value: 'answer',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.aiChatNode.think'),
|
||||
label: t('views.workflow.nodes.aiChatNode.think'),
|
||||
value: 'reasoning_content',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.aiChatNode.historyMessage'),
|
||||
label: t('views.workflow.nodes.aiChatNode.historyMessage'),
|
||||
value: 'history_message',
|
||||
},
|
||||
],
|
||||
|
|
@ -179,29 +179,29 @@ export const aiChatNode = {
|
|||
*/
|
||||
export const searchKnowledgeNode = {
|
||||
type: WorkflowType.SearchKnowledge,
|
||||
text: t('views.applicationWorkflow.nodes.searchKnowledgeNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.searchKnowledgeNode.label'),
|
||||
text: t('views.workflow.nodes.searchKnowledgeNode.text'),
|
||||
label: t('views.workflow.nodes.searchKnowledgeNode.label'),
|
||||
height: 355,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.searchKnowledgeNode.label'),
|
||||
stepName: t('views.workflow.nodes.searchKnowledgeNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.searchKnowledgeNode.paragraph_list'),
|
||||
label: t('views.workflow.nodes.searchKnowledgeNode.paragraph_list'),
|
||||
value: 'paragraph_list',
|
||||
},
|
||||
{
|
||||
label: t(
|
||||
'views.applicationWorkflow.nodes.searchKnowledgeNode.is_hit_handling_method_list',
|
||||
'views.workflow.nodes.searchKnowledgeNode.is_hit_handling_method_list',
|
||||
),
|
||||
value: 'is_hit_handling_method_list',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.searchKnowledgeNode.result'),
|
||||
label: t('views.workflow.nodes.searchKnowledgeNode.result'),
|
||||
value: 'data',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.searchKnowledgeNode.directly_return'),
|
||||
label: t('views.workflow.nodes.searchKnowledgeNode.directly_return'),
|
||||
value: 'directly_return',
|
||||
},
|
||||
],
|
||||
|
|
@ -214,20 +214,20 @@ export const searchKnowledgeNode = {
|
|||
*/
|
||||
export const searchDocumentNode = {
|
||||
type: WorkflowType.SearchDocument,
|
||||
text: t('views.applicationWorkflow.nodes.searchDocumentNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.searchDocumentNode.label'),
|
||||
text: t('views.workflow.nodes.searchDocumentNode.text'),
|
||||
label: t('views.workflow.nodes.searchDocumentNode.label'),
|
||||
height: 355,
|
||||
properties: {
|
||||
width: 600,
|
||||
stepName: t('views.applicationWorkflow.nodes.searchDocumentNode.label'),
|
||||
stepName: t('views.workflow.nodes.searchDocumentNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.searchDocumentNode.knowledge_list'),
|
||||
label: t('views.workflow.nodes.searchDocumentNode.knowledge_list'),
|
||||
value: 'knowledge_list',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.searchDocumentNode.document_list'),
|
||||
label: t('views.workflow.nodes.searchDocumentNode.document_list'),
|
||||
value: 'document_list',
|
||||
},
|
||||
],
|
||||
|
|
@ -237,15 +237,15 @@ export const searchDocumentNode = {
|
|||
|
||||
export const questionNode = {
|
||||
type: WorkflowType.Question,
|
||||
text: t('views.applicationWorkflow.nodes.questionNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.questionNode.label'),
|
||||
text: t('views.workflow.nodes.questionNode.text'),
|
||||
label: t('views.workflow.nodes.questionNode.label'),
|
||||
height: 345,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.questionNode.label'),
|
||||
stepName: t('views.workflow.nodes.questionNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.questionNode.result'),
|
||||
label: t('views.workflow.nodes.questionNode.result'),
|
||||
value: 'answer',
|
||||
},
|
||||
],
|
||||
|
|
@ -254,11 +254,11 @@ export const questionNode = {
|
|||
}
|
||||
export const variableSplittingNode = {
|
||||
type: WorkflowType.VariableSplittingNode,
|
||||
text: t('views.applicationWorkflow.nodes.variableSplittingNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.variableSplittingNode.label'),
|
||||
text: t('views.workflow.nodes.variableSplittingNode.text'),
|
||||
label: t('views.workflow.nodes.variableSplittingNode.label'),
|
||||
height: 345,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.variableSplittingNode.label'),
|
||||
stepName: t('views.workflow.nodes.variableSplittingNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -272,12 +272,12 @@ export const variableSplittingNode = {
|
|||
|
||||
export const parameterExtractionNode = {
|
||||
type: WorkflowType.ParameterExtractionNode,
|
||||
text: t('views.applicationWorkflow.nodes.parameterExtractionNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.parameterExtractionNode.label'),
|
||||
text: t('views.workflow.nodes.parameterExtractionNode.text'),
|
||||
label: t('views.workflow.nodes.parameterExtractionNode.label'),
|
||||
height: 345,
|
||||
properties: {
|
||||
width: 430,
|
||||
stepName: t('views.applicationWorkflow.nodes.parameterExtractionNode.label'),
|
||||
stepName: t('views.workflow.nodes.parameterExtractionNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -291,16 +291,16 @@ export const parameterExtractionNode = {
|
|||
|
||||
export const conditionNode = {
|
||||
type: WorkflowType.Condition,
|
||||
text: t('views.applicationWorkflow.nodes.conditionNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.conditionNode.label'),
|
||||
text: t('views.workflow.nodes.conditionNode.text'),
|
||||
label: t('views.workflow.nodes.conditionNode.label'),
|
||||
height: 175,
|
||||
properties: {
|
||||
width: 600,
|
||||
stepName: t('views.applicationWorkflow.nodes.conditionNode.label'),
|
||||
stepName: t('views.workflow.nodes.conditionNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.conditionNode.branch_name'),
|
||||
label: t('views.workflow.nodes.conditionNode.branch_name'),
|
||||
value: 'branch_name',
|
||||
},
|
||||
],
|
||||
|
|
@ -309,11 +309,11 @@ export const conditionNode = {
|
|||
}
|
||||
export const replyNode = {
|
||||
type: WorkflowType.Reply,
|
||||
text: t('views.applicationWorkflow.nodes.replyNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.replyNode.label'),
|
||||
text: t('views.workflow.nodes.replyNode.text'),
|
||||
label: t('views.workflow.nodes.replyNode.label'),
|
||||
height: 210,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.replyNode.label'),
|
||||
stepName: t('views.workflow.nodes.replyNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -326,19 +326,19 @@ export const replyNode = {
|
|||
}
|
||||
export const rerankerNode = {
|
||||
type: WorkflowType.RerankerNode,
|
||||
text: t('views.applicationWorkflow.nodes.rerankerNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.rerankerNode.label'),
|
||||
text: t('views.workflow.nodes.rerankerNode.text'),
|
||||
label: t('views.workflow.nodes.rerankerNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.rerankerNode.label'),
|
||||
stepName: t('views.workflow.nodes.rerankerNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.rerankerNode.result_list'),
|
||||
label: t('views.workflow.nodes.rerankerNode.result_list'),
|
||||
value: 'result_list',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.rerankerNode.result'),
|
||||
label: t('views.workflow.nodes.rerankerNode.result'),
|
||||
value: 'result',
|
||||
},
|
||||
],
|
||||
|
|
@ -347,23 +347,23 @@ export const rerankerNode = {
|
|||
}
|
||||
export const formNode = {
|
||||
type: WorkflowType.FormNode,
|
||||
text: t('views.applicationWorkflow.nodes.formNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.formNode.label'),
|
||||
text: t('views.workflow.nodes.formNode.text'),
|
||||
label: t('views.workflow.nodes.formNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
width: 600,
|
||||
stepName: t('views.applicationWorkflow.nodes.formNode.label'),
|
||||
stepName: t('views.workflow.nodes.formNode.label'),
|
||||
node_data: {
|
||||
is_result: true,
|
||||
form_field_list: [],
|
||||
form_content_format: `${t('views.applicationWorkflow.nodes.formNode.form_content_format1')}
|
||||
form_content_format: `${t('views.workflow.nodes.formNode.form_content_format1')}
|
||||
{{form}}
|
||||
${t('views.applicationWorkflow.nodes.formNode.form_content_format2')}`,
|
||||
${t('views.workflow.nodes.formNode.form_content_format2')}`,
|
||||
},
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.formNode.form_data'),
|
||||
label: t('views.workflow.nodes.formNode.form_data'),
|
||||
value: 'form_data',
|
||||
},
|
||||
],
|
||||
|
|
@ -372,19 +372,19 @@ ${t('views.applicationWorkflow.nodes.formNode.form_content_format2')}`,
|
|||
}
|
||||
export const documentExtractNode = {
|
||||
type: WorkflowType.DocumentExtractNode,
|
||||
text: t('views.applicationWorkflow.nodes.documentExtractNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.documentExtractNode.label'),
|
||||
text: t('views.workflow.nodes.documentExtractNode.text'),
|
||||
label: t('views.workflow.nodes.documentExtractNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.documentExtractNode.label'),
|
||||
stepName: t('views.workflow.nodes.documentExtractNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.documentExtractNode.content'),
|
||||
label: t('views.workflow.nodes.documentExtractNode.content'),
|
||||
value: 'content',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.dataSourceWebNode.field_label'),
|
||||
label: t('views.workflow.nodes.dataSourceWebNode.field_label'),
|
||||
value: 'document_list',
|
||||
},
|
||||
],
|
||||
|
|
@ -393,16 +393,16 @@ export const documentExtractNode = {
|
|||
}
|
||||
export const documentSplitNode = {
|
||||
type: WorkflowType.DocumentSplitNode,
|
||||
text: t('views.applicationWorkflow.nodes.documentSplitNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.documentSplitNode.label'),
|
||||
text: t('views.workflow.nodes.documentSplitNode.text'),
|
||||
label: t('views.workflow.nodes.documentSplitNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
width: 500,
|
||||
stepName: t('views.applicationWorkflow.nodes.documentSplitNode.label'),
|
||||
stepName: t('views.workflow.nodes.documentSplitNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.documentSplitNode.paragraph_list'),
|
||||
label: t('views.workflow.nodes.documentSplitNode.paragraph_list'),
|
||||
value: 'paragraph_list',
|
||||
},
|
||||
],
|
||||
|
|
@ -411,15 +411,15 @@ export const documentSplitNode = {
|
|||
}
|
||||
export const imageUnderstandNode = {
|
||||
type: WorkflowType.ImageUnderstandNode,
|
||||
text: t('views.applicationWorkflow.nodes.imageUnderstandNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.imageUnderstandNode.label'),
|
||||
text: t('views.workflow.nodes.imageUnderstandNode.text'),
|
||||
label: t('views.workflow.nodes.imageUnderstandNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.imageUnderstandNode.label'),
|
||||
stepName: t('views.workflow.nodes.imageUnderstandNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.imageUnderstandNode.answer'),
|
||||
label: t('views.workflow.nodes.imageUnderstandNode.answer'),
|
||||
value: 'answer',
|
||||
},
|
||||
],
|
||||
|
|
@ -429,15 +429,15 @@ export const imageUnderstandNode = {
|
|||
|
||||
export const videoUnderstandNode = {
|
||||
type: WorkflowType.VideoUnderstandNode,
|
||||
text: t('views.applicationWorkflow.nodes.videoUnderstandNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.videoUnderstandNode.label'),
|
||||
text: t('views.workflow.nodes.videoUnderstandNode.text'),
|
||||
label: t('views.workflow.nodes.videoUnderstandNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.videoUnderstandNode.label'),
|
||||
stepName: t('views.workflow.nodes.videoUnderstandNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.videoUnderstandNode.answer'),
|
||||
label: t('views.workflow.nodes.videoUnderstandNode.answer'),
|
||||
value: 'answer',
|
||||
},
|
||||
],
|
||||
|
|
@ -446,11 +446,11 @@ export const videoUnderstandNode = {
|
|||
}
|
||||
export const variableAggregationNode = {
|
||||
type: WorkflowType.VariableAggregationNode,
|
||||
text: t('views.applicationWorkflow.nodes.variableAggregationNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.variableAggregationNode.label'),
|
||||
text: t('views.workflow.nodes.variableAggregationNode.text'),
|
||||
label: t('views.workflow.nodes.variableAggregationNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.variableAggregationNode.label'),
|
||||
stepName: t('views.workflow.nodes.variableAggregationNode.label'),
|
||||
config: {
|
||||
fields: [],
|
||||
},
|
||||
|
|
@ -459,22 +459,22 @@ export const variableAggregationNode = {
|
|||
|
||||
export const variableAssignNode = {
|
||||
type: WorkflowType.VariableAssignNode,
|
||||
text: t('views.applicationWorkflow.nodes.variableAssignNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.variableAssignNode.label'),
|
||||
text: t('views.workflow.nodes.variableAssignNode.text'),
|
||||
label: t('views.workflow.nodes.variableAssignNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.variableAssignNode.label'),
|
||||
stepName: t('views.workflow.nodes.variableAssignNode.label'),
|
||||
config: {},
|
||||
},
|
||||
}
|
||||
|
||||
export const mcpNode = {
|
||||
type: WorkflowType.McpNode,
|
||||
text: t('views.applicationWorkflow.nodes.mcpNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.mcpNode.label'),
|
||||
text: t('views.workflow.nodes.mcpNode.text'),
|
||||
label: t('views.workflow.nodes.mcpNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.mcpNode.label'),
|
||||
stepName: t('views.workflow.nodes.mcpNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -488,15 +488,15 @@ export const mcpNode = {
|
|||
|
||||
export const imageGenerateNode = {
|
||||
type: WorkflowType.ImageGenerateNode,
|
||||
text: t('views.applicationWorkflow.nodes.imageGenerateNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.imageGenerateNode.label'),
|
||||
text: t('views.workflow.nodes.imageGenerateNode.text'),
|
||||
label: t('views.workflow.nodes.imageGenerateNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.imageGenerateNode.label'),
|
||||
stepName: t('views.workflow.nodes.imageGenerateNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.imageGenerateNode.answer'),
|
||||
label: t('views.workflow.nodes.imageGenerateNode.answer'),
|
||||
value: 'answer',
|
||||
},
|
||||
{
|
||||
|
|
@ -510,11 +510,11 @@ export const imageGenerateNode = {
|
|||
|
||||
export const speechToTextNode = {
|
||||
type: WorkflowType.SpeechToTextNode,
|
||||
text: t('views.applicationWorkflow.nodes.speechToTextNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.speechToTextNode.label'),
|
||||
text: t('views.workflow.nodes.speechToTextNode.text'),
|
||||
label: t('views.workflow.nodes.speechToTextNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.speechToTextNode.label'),
|
||||
stepName: t('views.workflow.nodes.speechToTextNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -527,11 +527,11 @@ export const speechToTextNode = {
|
|||
}
|
||||
export const textToSpeechNode = {
|
||||
type: WorkflowType.TextToSpeechNode,
|
||||
text: t('views.applicationWorkflow.nodes.textToSpeechNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.textToSpeechNode.label'),
|
||||
text: t('views.workflow.nodes.textToSpeechNode.text'),
|
||||
label: t('views.workflow.nodes.textToSpeechNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.textToSpeechNode.label'),
|
||||
stepName: t('views.workflow.nodes.textToSpeechNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -548,11 +548,11 @@ export const textToSpeechNode = {
|
|||
*/
|
||||
export const toolNode = {
|
||||
type: WorkflowType.ToolLibCustom,
|
||||
text: t('views.applicationWorkflow.nodes.toolNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.toolNode.label'),
|
||||
text: t('views.workflow.nodes.toolNode.text'),
|
||||
label: t('views.workflow.nodes.toolNode.label'),
|
||||
height: 260,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.toolNode.label'),
|
||||
stepName: t('views.workflow.nodes.toolNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -566,11 +566,11 @@ export const toolNode = {
|
|||
|
||||
export const intentNode = {
|
||||
type: WorkflowType.IntentNode,
|
||||
text: t('views.applicationWorkflow.nodes.intentNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.intentNode.label'),
|
||||
text: t('views.workflow.nodes.intentNode.text'),
|
||||
label: t('views.workflow.nodes.intentNode.label'),
|
||||
height: 260,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.intentNode.label'),
|
||||
stepName: t('views.workflow.nodes.intentNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -593,15 +593,15 @@ export const loopStartNode = {
|
|||
y: 3340,
|
||||
properties: {
|
||||
height: 364,
|
||||
stepName: t('views.applicationWorkflow.nodes.loopStartNode.label'),
|
||||
stepName: t('views.workflow.nodes.loopStartNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.loopStartNode.loopIndex'),
|
||||
label: t('views.workflow.nodes.loopStartNode.loopIndex'),
|
||||
value: 'index',
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.loopStartNode.loopItem'),
|
||||
label: t('views.workflow.nodes.loopStartNode.loopItem'),
|
||||
value: 'item',
|
||||
},
|
||||
],
|
||||
|
|
@ -614,11 +614,11 @@ export const loopStartNode = {
|
|||
export const loopNode = {
|
||||
type: WorkflowType.LoopNode,
|
||||
visible: false,
|
||||
text: t('views.applicationWorkflow.nodes.loopNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.loopNode.label'),
|
||||
text: t('views.workflow.nodes.loopNode.text'),
|
||||
label: t('views.workflow.nodes.loopNode.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.loopNode.label'),
|
||||
stepName: t('views.workflow.nodes.loopNode.label'),
|
||||
workflow: {
|
||||
edges: [],
|
||||
nodes: [
|
||||
|
|
@ -649,11 +649,11 @@ export const loopNode = {
|
|||
|
||||
export const imageToVideoNode = {
|
||||
type: WorkflowType.ImageToVideoGenerateNode,
|
||||
text: t('views.applicationWorkflow.nodes.imageToVideoGenerate.text'),
|
||||
label: t('views.applicationWorkflow.nodes.imageToVideoGenerate.label'),
|
||||
text: t('views.workflow.nodes.imageToVideoGenerate.text'),
|
||||
label: t('views.workflow.nodes.imageToVideoGenerate.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.imageToVideoGenerate.label'),
|
||||
stepName: t('views.workflow.nodes.imageToVideoGenerate.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -667,12 +667,12 @@ export const imageToVideoNode = {
|
|||
|
||||
export const loopBodyNode = {
|
||||
type: WorkflowType.LoopBodyNode,
|
||||
text: t('views.applicationWorkflow.nodes.loopBodyNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.loopBodyNode.label'),
|
||||
text: t('views.workflow.nodes.loopBodyNode.text'),
|
||||
label: t('views.workflow.nodes.loopBodyNode.label'),
|
||||
height: 1080,
|
||||
properties: {
|
||||
width: 1920,
|
||||
stepName: t('views.applicationWorkflow.nodes.loopBodyNode.label'),
|
||||
stepName: t('views.workflow.nodes.loopBodyNode.label'),
|
||||
config: {
|
||||
fields: [],
|
||||
},
|
||||
|
|
@ -680,12 +680,12 @@ export const loopBodyNode = {
|
|||
}
|
||||
export const loopContinueNode = {
|
||||
type: WorkflowType.LoopContinueNode,
|
||||
text: t('views.applicationWorkflow.nodes.loopContinueNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.loopContinueNode.label'),
|
||||
text: t('views.workflow.nodes.loopContinueNode.text'),
|
||||
label: t('views.workflow.nodes.loopContinueNode.label'),
|
||||
height: 100,
|
||||
properties: {
|
||||
width: 600,
|
||||
stepName: t('views.applicationWorkflow.nodes.loopContinueNode.label'),
|
||||
stepName: t('views.workflow.nodes.loopContinueNode.label'),
|
||||
config: {
|
||||
fields: [],
|
||||
},
|
||||
|
|
@ -694,11 +694,11 @@ export const loopContinueNode = {
|
|||
|
||||
export const textToVideoNode = {
|
||||
type: WorkflowType.TextToVideoGenerateNode,
|
||||
text: t('views.applicationWorkflow.nodes.textToVideoGenerate.text'),
|
||||
label: t('views.applicationWorkflow.nodes.textToVideoGenerate.label'),
|
||||
text: t('views.workflow.nodes.textToVideoGenerate.text'),
|
||||
label: t('views.workflow.nodes.textToVideoGenerate.label'),
|
||||
height: 252,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.textToVideoGenerate.label'),
|
||||
stepName: t('views.workflow.nodes.textToVideoGenerate.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -712,12 +712,12 @@ export const textToVideoNode = {
|
|||
|
||||
export const loopBreakNode = {
|
||||
type: WorkflowType.LoopBreakNode,
|
||||
text: t('views.applicationWorkflow.nodes.loopBreakNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.loopBreakNode.label'),
|
||||
text: t('views.workflow.nodes.loopBreakNode.text'),
|
||||
label: t('views.workflow.nodes.loopBreakNode.label'),
|
||||
height: 100,
|
||||
properties: {
|
||||
width: 600,
|
||||
stepName: t('views.applicationWorkflow.nodes.loopBreakNode.label'),
|
||||
stepName: t('views.workflow.nodes.loopBreakNode.label'),
|
||||
config: {
|
||||
fields: [],
|
||||
},
|
||||
|
|
@ -726,11 +726,11 @@ export const loopBreakNode = {
|
|||
|
||||
export const knowledgeMenuNodes = [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.dataSource', '数据源'),
|
||||
label: t('views.workflow.nodes.classify.dataSource', '数据源'),
|
||||
list: [dataSourceLocalNode, dataSourceWebNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.aiCapability'),
|
||||
label: t('views.workflow.nodes.classify.aiCapability'),
|
||||
list: [
|
||||
aiChatNode,
|
||||
intentNode,
|
||||
|
|
@ -749,11 +749,11 @@ export const knowledgeMenuNodes = [
|
|||
list: [documentExtractNode, documentSplitNode, knowledgeWriteNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.businessLogic'),
|
||||
label: t('views.workflow.nodes.classify.businessLogic'),
|
||||
list: [conditionNode, replyNode, loopNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.dataProcessing'),
|
||||
label: t('views.workflow.nodes.classify.dataProcessing'),
|
||||
list: [
|
||||
variableAssignNode,
|
||||
variableAggregationNode,
|
||||
|
|
@ -762,14 +762,14 @@ export const knowledgeMenuNodes = [
|
|||
],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.other'),
|
||||
label: t('views.workflow.nodes.classify.other'),
|
||||
list: [mcpNode, toolNode],
|
||||
},
|
||||
]
|
||||
|
||||
export const menuNodes = [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.aiCapability'),
|
||||
label: t('views.workflow.nodes.classify.aiCapability'),
|
||||
list: [
|
||||
aiChatNode,
|
||||
intentNode,
|
||||
|
|
@ -795,11 +795,11 @@ export const menuNodes = [
|
|||
],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.businessLogic'),
|
||||
label: t('views.workflow.nodes.classify.businessLogic'),
|
||||
list: [conditionNode, formNode, replyNode, loopNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.dataProcessing'),
|
||||
label: t('views.workflow.nodes.classify.dataProcessing'),
|
||||
list: [
|
||||
variableAssignNode,
|
||||
variableAggregationNode,
|
||||
|
|
@ -808,13 +808,13 @@ export const menuNodes = [
|
|||
],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.other'),
|
||||
label: t('views.workflow.nodes.classify.other'),
|
||||
list: [mcpNode, toolNode],
|
||||
},
|
||||
]
|
||||
export const applicationLoopMenuNodes = [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.aiCapability'),
|
||||
label: t('views.workflow.nodes.classify.aiCapability'),
|
||||
list: [
|
||||
aiChatNode,
|
||||
intentNode,
|
||||
|
|
@ -833,11 +833,11 @@ export const applicationLoopMenuNodes = [
|
|||
list: [searchKnowledgeNode, searchDocumentNode, rerankerNode, documentExtractNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.businessLogic'),
|
||||
label: t('views.workflow.nodes.classify.businessLogic'),
|
||||
list: [conditionNode, formNode, replyNode, loopContinueNode, loopBreakNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.dataProcessing', '数据处理'),
|
||||
label: t('views.workflow.nodes.classify.dataProcessing', '数据处理'),
|
||||
list: [
|
||||
variableAssignNode,
|
||||
variableSplittingNode,
|
||||
|
|
@ -846,13 +846,13 @@ export const applicationLoopMenuNodes = [
|
|||
],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.other'),
|
||||
label: t('views.workflow.nodes.classify.other'),
|
||||
list: [mcpNode, toolNode],
|
||||
},
|
||||
]
|
||||
export const knowledgeLoopMenuNodes = [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.aiCapability'),
|
||||
label: t('views.workflow.nodes.classify.aiCapability'),
|
||||
list: [
|
||||
aiChatNode,
|
||||
intentNode,
|
||||
|
|
@ -871,11 +871,11 @@ export const knowledgeLoopMenuNodes = [
|
|||
list: [rerankerNode, documentExtractNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.businessLogic'),
|
||||
label: t('views.workflow.nodes.classify.businessLogic'),
|
||||
list: [conditionNode, replyNode, loopContinueNode, loopBreakNode],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.dataProcessing', '数据处理'),
|
||||
label: t('views.workflow.nodes.classify.dataProcessing', '数据处理'),
|
||||
list: [
|
||||
variableAssignNode,
|
||||
variableSplittingNode,
|
||||
|
|
@ -884,7 +884,7 @@ export const knowledgeLoopMenuNodes = [
|
|||
],
|
||||
},
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.classify.other'),
|
||||
label: t('views.workflow.nodes.classify.other'),
|
||||
list: [mcpNode, toolNode],
|
||||
},
|
||||
]
|
||||
|
|
@ -909,11 +909,11 @@ export const getMenuNodes = (workflowMode: WorkflowMode) => {
|
|||
*/
|
||||
export const toolLibNode = {
|
||||
type: WorkflowType.ToolLib,
|
||||
text: t('views.applicationWorkflow.nodes.toolNode.text'),
|
||||
label: t('views.applicationWorkflow.nodes.toolNode.label'),
|
||||
text: t('views.workflow.nodes.toolNode.text'),
|
||||
label: t('views.workflow.nodes.toolNode.label'),
|
||||
height: 170,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.toolNode.label'),
|
||||
stepName: t('views.workflow.nodes.toolNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -927,11 +927,11 @@ export const toolLibNode = {
|
|||
|
||||
export const applicationNode = {
|
||||
type: WorkflowType.Application,
|
||||
text: t('views.applicationWorkflow.nodes.applicationNode.label'),
|
||||
label: t('views.applicationWorkflow.nodes.applicationNode.label'),
|
||||
text: t('views.workflow.nodes.applicationNode.label'),
|
||||
label: t('views.workflow.nodes.applicationNode.label'),
|
||||
height: 260,
|
||||
properties: {
|
||||
stepName: t('views.applicationWorkflow.nodes.applicationNode.label'),
|
||||
stepName: t('views.workflow.nodes.applicationNode.label'),
|
||||
config: {
|
||||
fields: [
|
||||
{
|
||||
|
|
@ -944,22 +944,22 @@ export const applicationNode = {
|
|||
}
|
||||
|
||||
export const compareList = [
|
||||
{ value: 'is_null', label: t('views.applicationWorkflow.compare.is_null') },
|
||||
{ value: 'is_not_null', label: t('views.applicationWorkflow.compare.is_not_null') },
|
||||
{ value: 'contain', label: t('views.applicationWorkflow.compare.contain') },
|
||||
{ value: 'not_contain', label: t('views.applicationWorkflow.compare.not_contain') },
|
||||
{ value: 'eq', label: t('views.applicationWorkflow.compare.eq') },
|
||||
{ value: 'ge', label: t('views.applicationWorkflow.compare.ge') },
|
||||
{ value: 'gt', label: t('views.applicationWorkflow.compare.gt') },
|
||||
{ value: 'le', label: t('views.applicationWorkflow.compare.le') },
|
||||
{ value: 'lt', label: t('views.applicationWorkflow.compare.lt') },
|
||||
{ value: 'len_eq', label: t('views.applicationWorkflow.compare.len_eq') },
|
||||
{ value: 'len_ge', label: t('views.applicationWorkflow.compare.len_ge') },
|
||||
{ value: 'len_gt', label: t('views.applicationWorkflow.compare.len_gt') },
|
||||
{ value: 'len_le', label: t('views.applicationWorkflow.compare.len_le') },
|
||||
{ value: 'len_lt', label: t('views.applicationWorkflow.compare.len_lt') },
|
||||
{ value: 'is_true', label: t('views.applicationWorkflow.compare.is_true') },
|
||||
{ value: 'is_not_true', label: t('views.applicationWorkflow.compare.is_not_true') },
|
||||
{ value: 'is_null', label: t('views.workflow.compare.is_null') },
|
||||
{ value: 'is_not_null', label: t('views.workflow.compare.is_not_null') },
|
||||
{ value: 'contain', label: t('views.workflow.compare.contain') },
|
||||
{ value: 'not_contain', label: t('views.workflow.compare.not_contain') },
|
||||
{ value: 'eq', label: t('views.workflow.compare.eq') },
|
||||
{ value: 'ge', label: t('views.workflow.compare.ge') },
|
||||
{ value: 'gt', label: t('views.workflow.compare.gt') },
|
||||
{ value: 'le', label: t('views.workflow.compare.le') },
|
||||
{ value: 'lt', label: t('views.workflow.compare.lt') },
|
||||
{ value: 'len_eq', label: t('views.workflow.compare.len_eq') },
|
||||
{ value: 'len_ge', label: t('views.workflow.compare.len_ge') },
|
||||
{ value: 'len_gt', label: t('views.workflow.compare.len_gt') },
|
||||
{ value: 'len_le', label: t('views.workflow.compare.len_le') },
|
||||
{ value: 'len_lt', label: t('views.workflow.compare.len_lt') },
|
||||
{ value: 'is_true', label: t('views.workflow.compare.is_true') },
|
||||
{ value: 'is_not_true', label: t('views.workflow.compare.is_not_true') },
|
||||
{ value: 'start_with', label: 'startWith' },
|
||||
{ value: 'end_with', label: 'endWith' },
|
||||
]
|
||||
|
|
|
|||
|
|
@ -61,13 +61,13 @@ export function initDefaultShortcut(lf: LogicFlow, graph: GraphModel) {
|
|||
(node: any) => node.type === WorkflowType.Start || node.type === WorkflowType.Base,
|
||||
)
|
||||
if (base_nodes.length > 0) {
|
||||
MsgError(base_nodes[0]?.properties?.stepName + t('views.applicationWorkflow.tip.cannotCopy'))
|
||||
MsgError(base_nodes[0]?.properties?.stepName + t('views.workflow.tip.cannotCopy'))
|
||||
return
|
||||
}
|
||||
selected = cloneDeep(elements)
|
||||
selected.nodes.forEach((node: any) => translationNodeData(node, TRANSLATION_DISTANCE))
|
||||
selected.edges.forEach((edge: any) => translationEdgeData(edge, TRANSLATION_DISTANCE))
|
||||
MsgSuccess(t('views.applicationWorkflow.tip.copyError'))
|
||||
MsgSuccess(t('views.workflow.tip.copyError'))
|
||||
return false
|
||||
}
|
||||
const paste_node = () => {
|
||||
|
|
@ -102,11 +102,11 @@ export function initDefaultShortcut(lf: LogicFlow, graph: GraphModel) {
|
|||
)
|
||||
if (nodes.length > 0) {
|
||||
MsgError(
|
||||
`${nodes[0].properties?.stepName}${t('views.applicationWorkflow.delete.deleteMessage')}`,
|
||||
`${nodes[0].properties?.stepName}${t('views.workflow.delete.deleteMessage')}`,
|
||||
)
|
||||
return
|
||||
}
|
||||
MsgConfirm(t('common.tip'), t('views.applicationWorkflow.delete.confirmTitle'), {
|
||||
MsgConfirm(t('common.tip'), t('views.workflow.delete.confirmTitle'), {
|
||||
confirmButtonText: t('common.confirm'),
|
||||
confirmButtonClass: 'danger',
|
||||
}).then(() => {
|
||||
|
|
|
|||
|
|
@ -69,9 +69,9 @@ export class WorkFlowInstance {
|
|||
[WorkflowType.Start, WorkflowType.LoopStartNode].includes(item.id),
|
||||
)
|
||||
if (start_node_list.length == 0) {
|
||||
throw t('views.applicationWorkflow.validate.startNodeRequired')
|
||||
throw t('views.workflow.validate.startNodeRequired')
|
||||
} else if (start_node_list.length > 1) {
|
||||
throw t('views.applicationWorkflow.validate.startNodeOnly')
|
||||
throw t('views.workflow.validate.startNodeOnly')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -81,9 +81,9 @@ export class WorkFlowInstance {
|
|||
is_valid_base_node() {
|
||||
const start_node_list = this.nodes.filter((item) => item.id === WorkflowType.Base)
|
||||
if (start_node_list.length == 0) {
|
||||
throw t('views.applicationWorkflow.validate.baseNodeRequired')
|
||||
throw t('views.workflow.validate.baseNodeRequired')
|
||||
} else if (start_node_list.length > 1) {
|
||||
throw t('views.applicationWorkflow.validate.baseNodeOnly')
|
||||
throw t('views.workflow.validate.baseNodeOnly')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -150,7 +150,7 @@ export class WorkFlowInstance {
|
|||
.filter((node: any) => node.id !== WorkflowType.Start && node.id !== WorkflowType.Base)
|
||||
.filter((node) => !this.workFlowNodes.includes(node))
|
||||
if (notInWorkFlowNodes.length > 0) {
|
||||
throw `${t('views.applicationWorkflow.validate.notInWorkFlowNode')}:${notInWorkFlowNodes.map((node) => node.properties.stepName).join(',')}`
|
||||
throw `${t('views.workflow.validate.notInWorkFlowNode')}:${notInWorkFlowNodes.map((node) => node.properties.stepName).join(',')}`
|
||||
}
|
||||
this.workFlowNodes = []
|
||||
}
|
||||
|
|
@ -167,7 +167,7 @@ export class WorkFlowInstance {
|
|||
.reduce((x, y) => [...x, ...y], [])
|
||||
const end = end_nodes_dict[this.workflowModel]
|
||||
if (node_list.length == 0 && !end.includes(node.type)) {
|
||||
throw t('views.applicationWorkflow.validate.noNextNode')
|
||||
throw t('views.workflow.validate.noNextNode')
|
||||
}
|
||||
return node_list
|
||||
}
|
||||
|
|
@ -180,7 +180,7 @@ export class WorkFlowInstance {
|
|||
node.type !== WorkflowType.LoopStartNode
|
||||
) {
|
||||
if (!this.edges.some((edge) => edge.targetNodeId === node.id)) {
|
||||
throw `${t('views.applicationWorkflow.validate.notInWorkFlowNode')}:${node.properties.stepName}`
|
||||
throw `${t('views.workflow.validate.notInWorkFlowNode')}:${node.properties.stepName}`
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -192,7 +192,7 @@ export class WorkFlowInstance {
|
|||
*/
|
||||
is_valid_node(node: any) {
|
||||
if (node.properties.status && node.properties.status === 500) {
|
||||
throw `${node.properties.stepName} ${t('views.applicationWorkflow.validate.nodeUnavailable')}`
|
||||
throw `${node.properties.stepName} ${t('views.workflow.validate.nodeUnavailable')}`
|
||||
}
|
||||
if (node.type === WorkflowType.Condition) {
|
||||
const branch_list = node.properties.node_data.branch
|
||||
|
|
@ -200,18 +200,18 @@ export class WorkFlowInstance {
|
|||
const source_anchor_id = `${node.id}_${branch.id}_right`
|
||||
const edge_list = this.edges.filter((edge) => edge.sourceAnchorId == source_anchor_id)
|
||||
if (edge_list.length == 0) {
|
||||
throw `${node.properties.stepName} ${t('views.applicationWorkflow.validate.needConnect1')}${branch.type}${t('views.applicationWorkflow.validate.needConnect2')}`
|
||||
throw `${node.properties.stepName} ${t('views.workflow.validate.needConnect1')}${branch.type}${t('views.workflow.validate.needConnect2')}`
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const edge_list = this.edges.filter((edge) => edge.sourceNodeId == node.id)
|
||||
const end = end_nodes_dict[this.workflowModel]
|
||||
if (edge_list.length == 0 && !end.includes(node.type)) {
|
||||
throw `${node.properties.stepName} ${t('views.applicationWorkflow.validate.cannotEndNode')}`
|
||||
throw `${node.properties.stepName} ${t('views.workflow.validate.cannotEndNode')}`
|
||||
}
|
||||
}
|
||||
if (node.properties.status && node.properties.status !== 200) {
|
||||
throw `${node.properties.stepName} ${t('views.applicationWorkflow.validate.nodeUnavailable')}`
|
||||
throw `${node.properties.stepName} ${t('views.workflow.validate.nodeUnavailable')}`
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -222,7 +222,7 @@ export class KnowledgeWorkFlowInstance extends WorkFlowInstance {
|
|||
(item) => item.properties.kind === WorkflowKind.DataSource,
|
||||
)
|
||||
if (start_node_list.length == 0) {
|
||||
throw t('views.applicationWorkflow.validate.startNodeRequired')
|
||||
throw t('views.workflow.validate.startNodeRequired')
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
|
@ -231,9 +231,9 @@ export class KnowledgeWorkFlowInstance extends WorkFlowInstance {
|
|||
is_valid_base_node() {
|
||||
const base_node_list = this.nodes.filter((item) => item.id === WorkflowType.KnowledgeBase)
|
||||
if (base_node_list.length == 0) {
|
||||
throw t('views.applicationWorkflow.validate.baseNodeRequired')
|
||||
throw t('views.workflow.validate.baseNodeRequired')
|
||||
} else if (base_node_list.length > 1) {
|
||||
throw t('views.applicationWorkflow.validate.baseNodeOnly')
|
||||
throw t('views.workflow.validate.baseNodeOnly')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -254,7 +254,7 @@ export class KnowledgeWorkFlowInstance extends WorkFlowInstance {
|
|||
)
|
||||
.filter((node) => !this.workFlowNodes.includes(node))
|
||||
if (notInWorkFlowNodes.length > 0) {
|
||||
throw `${t('views.applicationWorkflow.validate.notInWorkFlowNode')}:${notInWorkFlowNodes.map((node) => node.properties.stepName).join(',')}`
|
||||
throw `${t('views.workflow.validate.notInWorkFlowNode')}:${notInWorkFlowNodes.map((node) => node.properties.stepName).join(',')}`
|
||||
}
|
||||
this.workFlowNodes = []
|
||||
}
|
||||
|
|
@ -266,7 +266,7 @@ export class KnowledgeWorkFlowInstance extends WorkFlowInstance {
|
|||
node.properties.kind !== WorkflowKind.DataSource
|
||||
) {
|
||||
if (!this.edges.some((edge) => edge.targetNodeId === node.id)) {
|
||||
throw `${t('views.applicationWorkflow.validate.notInWorkFlowNode')}:${node.properties.stepName}`
|
||||
throw `${t('views.workflow.validate.notInWorkFlowNode')}:${node.properties.stepName}`
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never" style="--el-card-padding: 12px">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
v-model="chat_data.system"
|
||||
style="height: 100px"
|
||||
@submitDialog="submitSystemDialog"
|
||||
:placeholder="`${t('views.applicationWorkflow.SystemPromptPlaceholder')}{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`"
|
||||
:placeholder="`${t('views.workflow.SystemPromptPlaceholder')}{{${t('views.workflow.nodes.startNode.label')}.question}}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
v-model="chat_data.prompt"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
:placeholder="`${t('views.applicationWorkflow.UserPromptPlaceholder')}{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`"
|
||||
:placeholder="`${t('views.workflow.UserPromptPlaceholder')}{{${t('views.workflow.nodes.startNode.label')}.question}}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('views.application.form.historyRecord.label')">
|
||||
|
|
@ -122,8 +122,8 @@
|
|||
<div class="flex-between">
|
||||
<div>{{ $t('views.application.form.historyRecord.label') }}</div>
|
||||
<el-select v-model="chat_data.dialogue_type" type="small" style="width: 100px">
|
||||
<el-option :label="$t('views.applicationWorkflow.node')" value="NODE" />
|
||||
<el-option :label="$t('views.applicationWorkflow.workflow')" value="WORKFLOW" />
|
||||
<el-option :label="$t('views.workflow.node')" value="NODE" />
|
||||
<el-option :label="$t('views.workflow.workflow')" value="WORKFLOW" />
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -292,12 +292,12 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -376,10 +376,10 @@ const model_change = (model_id?: string) => {
|
|||
}
|
||||
}
|
||||
|
||||
const defaultPrompt = `${t('views.applicationWorkflow.nodes.aiChatNode.defaultPrompt')}:
|
||||
{{${t('views.applicationWorkflow.nodes.searchKnowledgeNode.label')}.data}}
|
||||
const defaultPrompt = `${t('views.workflow.nodes.aiChatNode.defaultPrompt')}:
|
||||
{{${t('views.workflow.nodes.searchKnowledgeNode.label')}.data}}
|
||||
${t('views.problem.title')}:
|
||||
{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`
|
||||
{{${t('views.workflow.nodes.startNode.label')}.question}}`
|
||||
|
||||
const form = {
|
||||
model_id: '',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -11,11 +11,11 @@
|
|||
ref="applicationNodeFormRef"
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.startNode.question')"
|
||||
:label="$t('views.workflow.nodes.startNode.question')"
|
||||
prop="question_reference_address"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
'views.workflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
"
|
||||
v-model="form_data.question_reference_address"
|
||||
/>
|
||||
|
|
@ -53,11 +53,11 @@
|
|||
|
||||
<el-form-item
|
||||
v-if="form_data.hasOwnProperty('image_list') || 'image_list' in form_data"
|
||||
:label="$t('views.applicationWorkflow.nodes.imageUnderstandNode.image.label')"
|
||||
:label="$t('views.workflow.nodes.imageUnderstandNode.image.label')"
|
||||
prop="image_list"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.imageUnderstandNode.image.requiredMessage',
|
||||
'views.workflow.nodes.imageUnderstandNode.image.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: false,
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageUnderstandNode.image.requiredMessage')
|
||||
$t('views.workflow.nodes.imageUnderstandNode.image.requiredMessage')
|
||||
"
|
||||
v-model="form_data.image_list"
|
||||
/>
|
||||
|
|
@ -76,10 +76,10 @@
|
|||
|
||||
<el-form-item
|
||||
v-if="form_data.hasOwnProperty('audio_list') || 'audio_list' in form_data"
|
||||
:label="$t('views.applicationWorkflow.nodes.speechToTextNode.audio.label')"
|
||||
:label="$t('views.workflow.nodes.speechToTextNode.audio.label')"
|
||||
prop="audio_list"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.speechToTextNode.audio.placeholder'),
|
||||
message: $t('views.workflow.nodes.speechToTextNode.audio.placeholder'),
|
||||
trigger: 'blur',
|
||||
required: false,
|
||||
}"
|
||||
|
|
@ -88,17 +88,17 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.speechToTextNode.audio.placeholder')"
|
||||
:placeholder="$t('views.workflow.nodes.speechToTextNode.audio.placeholder')"
|
||||
v-model="form_data.audio_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="form_data.hasOwnProperty('video_list') || 'video_list' in form_data"
|
||||
:label="$t('views.applicationWorkflow.nodes.videoUnderstandNode.video.label')"
|
||||
:label="$t('views.workflow.nodes.videoUnderstandNode.video.label')"
|
||||
prop="video_list"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.videoUnderstandNode.video.requiredMessage',
|
||||
'views.workflow.nodes.videoUnderstandNode.video.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: false,
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.videoUnderstandNode.video.requiredMessage')
|
||||
$t('views.workflow.nodes.videoUnderstandNode.video.requiredMessage')
|
||||
"
|
||||
v-model="form_data.video_list"
|
||||
/>
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
"
|
||||
v-model="form_data.api_input_field_list[index].value"
|
||||
/>
|
||||
|
|
@ -155,26 +155,26 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
"
|
||||
v-model="form_data.user_input_field_list[index].value"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ function deleteField(index: any) {
|
|||
function refreshFieldList(data: any) {
|
||||
for (let i = 0; i < inputFieldList.value.length; i++) {
|
||||
if (inputFieldList.value[i].variable === data.variable && currentIndex.value !== i) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.variable)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.variable)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ function refreshFieldList(data: any) {
|
|||
const arr = props.nodeModel.properties.user_input_field_list
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if (arr[i].field === data.variable) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.variable)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.variable)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="flex-between mb-16">
|
||||
<h5 class="break-all ellipsis lighter" style="max-width: 80%">
|
||||
{{ $t('views.applicationWorkflow.variable.chat') }}
|
||||
{{ $t('views.workflow.variable.chat') }}
|
||||
</h5>
|
||||
<div>
|
||||
<span class="ml-4">
|
||||
|
|
@ -80,7 +80,7 @@ function deleteField(index: any) {
|
|||
function refreshFieldList(data: any, index: any) {
|
||||
for (let i = 0; i < inputFieldList.value.length; i++) {
|
||||
if (inputFieldList.value[i].field === data.field && index !== i) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.field)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
:title="$t('views.applicationWorkflow.nodes.baseNode.FileUploadSetting.title')"
|
||||
:title="$t('views.workflow.nodes.baseNode.FileUploadSetting.title')"
|
||||
v-model="dialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
require-asterisk-position="right"
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.baseNode.FileUploadSetting.maxFiles')"
|
||||
:label="$t('views.workflow.nodes.baseNode.FileUploadSetting.maxFiles')"
|
||||
>
|
||||
<el-slider
|
||||
v-model="form_data.maxFiles"
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileLimit')"
|
||||
:label="$t('views.workflow.nodes.baseNode.FileUploadSetting.fileLimit')"
|
||||
>
|
||||
<el-slider
|
||||
v-model="form_data.fileLimit"
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="
|
||||
$t('views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileUploadType.label')
|
||||
$t('views.workflow.nodes.baseNode.FileUploadSetting.fileUploadType.label')
|
||||
"
|
||||
>
|
||||
<el-card
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
<el-text class="color-secondary"
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileUploadType.documentText',
|
||||
'views.workflow.nodes.baseNode.FileUploadSetting.fileUploadType.documentText',
|
||||
)
|
||||
}}
|
||||
</el-text>
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
<el-text class="color-secondary"
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileUploadType.imageText',
|
||||
'views.workflow.nodes.baseNode.FileUploadSetting.fileUploadType.imageText',
|
||||
)
|
||||
}}
|
||||
</el-text>
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
<el-text class="color-secondary"
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileUploadType.audioText',
|
||||
'views.workflow.nodes.baseNode.FileUploadSetting.fileUploadType.audioText',
|
||||
)
|
||||
}}
|
||||
</el-text>
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
<el-text class="color-secondary"
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileUploadType.videoText',
|
||||
'views.workflow.nodes.baseNode.FileUploadSetting.fileUploadType.videoText',
|
||||
)
|
||||
}}
|
||||
</el-text>
|
||||
|
|
@ -188,7 +188,7 @@
|
|||
<el-text class="color-secondary"
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.baseNode.FileUploadSetting.fileUploadType.otherText',
|
||||
'views.workflow.nodes.baseNode.FileUploadSetting.fileUploadType.otherText',
|
||||
)
|
||||
}}
|
||||
</el-text>
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ function deleteField(index: any) {
|
|||
function refreshFieldList(data: any, index: any) {
|
||||
for (let i = 0; i < inputFieldList.value.length; i++) {
|
||||
if (inputFieldList.value[i].field === data.field && index !== i) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.field)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
@ -146,7 +146,7 @@ function refreshFieldList(data: any, index: any) {
|
|||
const arr = props.nodeModel.properties.api_input_field_list
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if (arr[i].variable === data.field) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.field)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
ref="baseNodeFormRef"
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.baseNode.appName.label')"
|
||||
:label="$t('views.workflow.nodes.baseNode.appName.label')"
|
||||
prop="name"
|
||||
:rules="{
|
||||
message: t('views.application.form.appName.requiredMessage'),
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
@blur="form_data.name = form_data.name?.trim()"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('views.applicationWorkflow.nodes.baseNode.appDescription.label')">
|
||||
<el-form-item :label="$t('views.workflow.nodes.baseNode.appDescription.label')">
|
||||
<el-input
|
||||
v-model="form_data.desc"
|
||||
:placeholder="$t('views.application.form.appDescription.placeholder')"
|
||||
|
|
@ -50,11 +50,11 @@
|
|||
<div class="flex-between">
|
||||
<div class="flex align-center">
|
||||
<span class="mr-4">{{
|
||||
$t('views.applicationWorkflow.nodes.baseNode.fileUpload.label')
|
||||
$t('views.workflow.nodes.baseNode.fileUpload.label')
|
||||
}}</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.nodes.baseNode.fileUpload.tooltip')"
|
||||
:content="$t('views.workflow.nodes.baseNode.fileUpload.tooltip')"
|
||||
placement="right"
|
||||
>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
</span>
|
||||
<div class="info" v-if="item.conditions.length > 1">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.conditionNode.conditions.info')
|
||||
$t('views.workflow.nodes.conditionNode.conditions.info')
|
||||
}}</span>
|
||||
<el-select
|
||||
:teleported="false"
|
||||
|
|
@ -42,11 +42,11 @@
|
|||
size="small"
|
||||
style="width: 60px; margin: 0 8px"
|
||||
>
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.AND')" value="and" />
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.OR')" value="or" />
|
||||
<el-option :label="$t('views.workflow.condition.AND')" value="and" />
|
||||
<el-option :label="$t('views.workflow.condition.OR')" value="or" />
|
||||
</el-select>
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.conditionNode.conditions.label')
|
||||
$t('views.workflow.nodes.conditionNode.conditions.label')
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
:rules="{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="condition.field"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
:rules="{
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
'views.workflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
v-model="condition.compare"
|
||||
:placeholder="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
'views.workflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
)
|
||||
"
|
||||
clearable
|
||||
|
|
@ -111,14 +111,14 @@
|
|||
:prop="'branch.' + index + '.conditions.' + cIndex + '.value'"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.conditionNode.valueMessage'),
|
||||
message: $t('views.workflow.nodes.conditionNode.valueMessage'),
|
||||
trigger: 'blur',
|
||||
}"
|
||||
>
|
||||
<el-input
|
||||
v-model="condition.value"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.conditionNode.valueMessage')
|
||||
$t('views.workflow.nodes.conditionNode.valueMessage')
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -145,14 +145,14 @@
|
|||
v-if="index !== form_data.branch.length - 1"
|
||||
>
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.addCondition') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.addCondition') }}
|
||||
</el-button>
|
||||
</el-card>
|
||||
</template>
|
||||
</VueDraggable>
|
||||
<el-button link type="primary" @click="addBranch">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.addBranch') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.addBranch') }}
|
||||
</el-button>
|
||||
</el-form>
|
||||
</NodeContainer>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<el-form-item
|
||||
:label="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.fileFormat.label',
|
||||
'views.workflow.nodes.dataSourceLocalNode.fileFormat.label',
|
||||
'支持的文件格式',
|
||||
)
|
||||
"
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
type: 'array',
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.fileFormat.message',
|
||||
'views.workflow.nodes.dataSourceLocalNode.fileFormat.message',
|
||||
'请选择文件格式',
|
||||
),
|
||||
trigger: 'change',
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
v-model="form_data.file_type_list"
|
||||
:placeholder="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.fileFormat.placeholder',
|
||||
'views.workflow.nodes.dataSourceLocalNode.fileFormat.placeholder',
|
||||
'请选择文件格式',
|
||||
)
|
||||
"
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
<el-form-item
|
||||
:label="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.maxFileNumber.label',
|
||||
'views.workflow.nodes.dataSourceLocalNode.maxFileNumber.label',
|
||||
'每次上传最大文件数',
|
||||
)
|
||||
"
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
type: 'array',
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.maxFileNumber.placeholder',
|
||||
'views.workflow.nodes.dataSourceLocalNode.maxFileNumber.placeholder',
|
||||
'请输入最大文件数',
|
||||
),
|
||||
trigger: 'change',
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
<el-form-item
|
||||
:label="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.maxFileNumber.label',
|
||||
'views.workflow.nodes.dataSourceLocalNode.maxFileNumber.label',
|
||||
'上传的每个文档最大(MB)',
|
||||
)
|
||||
"
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
type: 'array',
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.dataSourceLocalNode.maxFileNumber.placeholder',
|
||||
'views.workflow.nodes.dataSourceLocalNode.maxFileNumber.placeholder',
|
||||
'上传的每个文档最大(MB) 必填',
|
||||
),
|
||||
trigger: 'change',
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<h4>{{ $t('views.applicationWorkflow.nodes.dataSourceWebNode.display') }}</h4>
|
||||
<h4>{{ $t('views.workflow.nodes.dataSourceWebNode.display') }}</h4>
|
||||
</el-card>
|
||||
</NodeContainer>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
ref="aiChatNodeFormRef"
|
||||
|
|
@ -26,16 +26,16 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.documentSplitNode.splitStrategy.label')"
|
||||
:label="$t('views.workflow.nodes.documentSplitNode.splitStrategy.label')"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.documentSplitNode.splitStrategy.required'),
|
||||
message: $t('views.workflow.nodes.documentSplitNode.splitStrategy.required'),
|
||||
trigger: 'change'
|
||||
}"
|
||||
>
|
||||
<el-select
|
||||
v-model="form_data.split_strategy"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.documentSplitNode.splitStrategy.placeholder')">
|
||||
:placeholder="$t('views.workflow.nodes.documentSplitNode.splitStrategy.placeholder')">
|
||||
<el-option
|
||||
:label="$t('views.document.setRules.intelligent.label')"
|
||||
value="auto"
|
||||
|
|
@ -118,11 +118,11 @@
|
|||
<el-select v-model="form_data.paragraph_title_relate_problem_type" size="small"
|
||||
style="width: 100px">
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.searchDocumentNode.custom')"
|
||||
:label="$t('views.workflow.nodes.searchDocumentNode.custom')"
|
||||
value="custom"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
</el-select>
|
||||
|
|
@ -149,11 +149,11 @@
|
|||
<el-select v-model="form_data.document_name_relate_problem_type" size="small"
|
||||
style="width: 100px">
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.searchDocumentNode.custom')"
|
||||
:label="$t('views.workflow.nodes.searchDocumentNode.custom')"
|
||||
value="custom"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
</el-select>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never" style="--el-card-padding: 12px">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,11 +12,11 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.formNode.formContent.label')"
|
||||
:label="$t('views.workflow.nodes.formNode.formContent.label')"
|
||||
prop="form_content_format"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.formNode.formContent.requiredMessage'),
|
||||
message: $t('views.workflow.nodes.formNode.formContent.requiredMessage'),
|
||||
trigger: 'blur',
|
||||
}"
|
||||
>
|
||||
|
|
@ -24,14 +24,14 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.formNode.formContent.label')
|
||||
>{{ $t('views.workflow.nodes.formNode.formContent.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{
|
||||
$t('views.applicationWorkflow.nodes.formNode.formContent.tooltip', {
|
||||
$t('views.workflow.nodes.formNode.formContent.tooltip', {
|
||||
form: '{ form }',
|
||||
})
|
||||
}}
|
||||
|
|
@ -41,20 +41,20 @@
|
|||
</div>
|
||||
</template>
|
||||
<MdEditorMagnify
|
||||
:title="$t('views.applicationWorkflow.nodes.formNode.formContent.label')"
|
||||
:title="$t('views.workflow.nodes.formNode.formContent.label')"
|
||||
v-model="form_data.form_content_format"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.formNode.formSetting')"
|
||||
:label="$t('views.workflow.nodes.formNode.formSetting')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex-between">
|
||||
<h5 class="lighter">
|
||||
{{ $t('views.applicationWorkflow.nodes.formNode.formSetting') }}
|
||||
{{ $t('views.workflow.nodes.formNode.formSetting') }}
|
||||
</h5>
|
||||
<el-button link type="primary" @click="openAddFormCollect()">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
|
|
@ -167,7 +167,7 @@ const editFormField = (form_field_data: any, field_index: number) => {
|
|||
}
|
||||
const addFormField = (form_field_data: any) => {
|
||||
if (form_data.value.form_field_list.some((field: any) => field.field === form_field_data.field)) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + form_field_data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + form_field_data.field)
|
||||
return
|
||||
}
|
||||
form_data.value.form_field_list = cloneDeep([...form_data.value.form_field_list, form_field_data])
|
||||
|
|
@ -176,7 +176,7 @@ const addFormField = (form_field_data: any) => {
|
|||
const sync_form_field_list = () => {
|
||||
const fields = [
|
||||
{
|
||||
label: t('views.applicationWorkflow.nodes.formNode.formAllContent'),
|
||||
label: t('views.workflow.nodes.formNode.formAllContent'),
|
||||
value: 'form_data',
|
||||
},
|
||||
...form_data.value.form_field_list.map((item: any) => ({
|
||||
|
|
@ -204,9 +204,9 @@ const deleteField = (form_field_data: any) => {
|
|||
}
|
||||
const form = ref<any>({
|
||||
is_result: true,
|
||||
form_content_format: `${t('views.applicationWorkflow.nodes.formNode.form_content_format1')}
|
||||
form_content_format: `${t('views.workflow.nodes.formNode.form_content_format1')}
|
||||
{{form}}
|
||||
${t('views.applicationWorkflow.nodes.formNode.form_content_format2')}`,
|
||||
${t('views.workflow.nodes.formNode.form_content_format2')}`,
|
||||
form_field_list: [],
|
||||
})
|
||||
const form_data = computed({
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :node-model="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,11 +12,11 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageGenerateNode.model.label')"
|
||||
:label="$t('views.workflow.nodes.imageGenerateNode.model.label')"
|
||||
prop="model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.imageGenerateNode.model.requiredMessage'),
|
||||
message: $t('views.workflow.nodes.imageGenerateNode.model.requiredMessage'),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageGenerateNode.model.label')
|
||||
>{{ $t('views.workflow.nodes.imageGenerateNode.model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
:teleported="false"
|
||||
v-model="form_data.model_id"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageGenerateNode.model.requiredMessage')
|
||||
$t('views.workflow.nodes.imageGenerateNode.model.requiredMessage')
|
||||
"
|
||||
:options="modelOptions"
|
||||
showFooter
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageGenerateNode.prompt.label')"
|
||||
:label="$t('views.workflow.nodes.imageGenerateNode.prompt.label')"
|
||||
prop="prompt"
|
||||
:rules="{
|
||||
required: true,
|
||||
|
|
@ -68,13 +68,13 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageGenerateNode.prompt.label')
|
||||
>{{ $t('views.workflow.nodes.imageGenerateNode.prompt.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageGenerateNode.prompt.tooltip') }}
|
||||
>{{ $t('views.workflow.nodes.imageGenerateNode.prompt.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -82,14 +82,14 @@
|
|||
</template>
|
||||
<MdEditorMagnify
|
||||
@wheel="wheel"
|
||||
:title="$t('views.applicationWorkflow.nodes.imageGenerateNode.prompt.label')"
|
||||
:title="$t('views.workflow.nodes.imageGenerateNode.prompt.label')"
|
||||
v-model="form_data.prompt"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.label')"
|
||||
:label="$t('views.workflow.nodes.imageGenerateNode.negative_prompt.label')"
|
||||
prop="prompt"
|
||||
:rules="{
|
||||
required: false,
|
||||
|
|
@ -101,13 +101,13 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.label')
|
||||
$t('views.workflow.nodes.imageGenerateNode.negative_prompt.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content
|
||||
>{{
|
||||
$t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.tooltip')
|
||||
$t('views.workflow.nodes.imageGenerateNode.negative_prompt.tooltip')
|
||||
}}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
|
|
@ -116,29 +116,29 @@
|
|||
</template>
|
||||
<MdEditorMagnify
|
||||
@wheel="wheel"
|
||||
:title="$t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.label')"
|
||||
:title="$t('views.workflow.nodes.imageGenerateNode.negative_prompt.label')"
|
||||
v-model="form_data.negative_prompt"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageGenerateNode.negative_prompt.placeholder')
|
||||
$t('views.workflow.nodes.imageGenerateNode.negative_prompt.placeholder')
|
||||
"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitNegativeDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -197,7 +197,7 @@ const wheel = (e: any) => {
|
|||
}
|
||||
}
|
||||
|
||||
const defaultPrompt = `{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`
|
||||
const defaultPrompt = `{{${t('views.workflow.nodes.startNode.label')}.question}}`
|
||||
|
||||
const form = {
|
||||
model_id: '',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :node-model="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,12 +12,12 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageToVideoGenerate.model.label')"
|
||||
:label="$t('views.workflow.nodes.imageToVideoGenerate.model.label')"
|
||||
prop="model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.imageToVideoGenerate.model.requiredMessage',
|
||||
'views.workflow.nodes.imageToVideoGenerate.model.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.model.label')
|
||||
>{{ $t('views.workflow.nodes.imageToVideoGenerate.model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
v-model="form_data.model_id"
|
||||
@focus="getSelectModel"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageToVideoGenerate.model.requiredMessage')
|
||||
$t('views.workflow.nodes.imageToVideoGenerate.model.requiredMessage')
|
||||
"
|
||||
:options="modelOptions"
|
||||
showFooter
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageToVideoGenerate.prompt.label')"
|
||||
:label="$t('views.workflow.nodes.imageToVideoGenerate.prompt.label')"
|
||||
prop="prompt"
|
||||
:rules="{
|
||||
required: true,
|
||||
|
|
@ -70,13 +70,13 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.prompt.label')
|
||||
>{{ $t('views.workflow.nodes.imageToVideoGenerate.prompt.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.prompt.tooltip') }}
|
||||
>{{ $t('views.workflow.nodes.imageToVideoGenerate.prompt.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -84,14 +84,14 @@
|
|||
</template>
|
||||
<MdEditorMagnify
|
||||
@wheel="wheel"
|
||||
:title="$t('views.applicationWorkflow.nodes.imageToVideoGenerate.prompt.label')"
|
||||
:title="$t('views.workflow.nodes.imageToVideoGenerate.prompt.label')"
|
||||
v-model="form_data.prompt"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageToVideoGenerate.negative_prompt.label')"
|
||||
:label="$t('views.workflow.nodes.imageToVideoGenerate.negative_prompt.label')"
|
||||
prop="prompt"
|
||||
:rules="{
|
||||
required: false,
|
||||
|
|
@ -103,14 +103,14 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.imageToVideoGenerate.negative_prompt.label')
|
||||
$t('views.workflow.nodes.imageToVideoGenerate.negative_prompt.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.imageToVideoGenerate.negative_prompt.tooltip',
|
||||
'views.workflow.nodes.imageToVideoGenerate.negative_prompt.tooltip',
|
||||
)
|
||||
}}
|
||||
</template>
|
||||
|
|
@ -121,29 +121,29 @@
|
|||
<MdEditorMagnify
|
||||
@wheel="wheel"
|
||||
:title="
|
||||
$t('views.applicationWorkflow.nodes.imageToVideoGenerate.negative_prompt.label')
|
||||
$t('views.workflow.nodes.imageToVideoGenerate.negative_prompt.label')
|
||||
"
|
||||
v-model="form_data.negative_prompt"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageToVideoGenerate.negative_prompt.placeholder')
|
||||
$t('views.workflow.nodes.imageToVideoGenerate.negative_prompt.placeholder')
|
||||
"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitNegativeDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageToVideoGenerate.first_frame.label')"
|
||||
:label="$t('views.workflow.nodes.imageToVideoGenerate.first_frame.label')"
|
||||
:rules="{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.imageToVideoGenerate.first_frame.requiredMessage',
|
||||
'views.workflow.nodes.imageToVideoGenerate.first_frame.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
<template #label
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.first_frame.label')
|
||||
>{{ $t('views.workflow.nodes.imageToVideoGenerate.first_frame.label')
|
||||
}}<span class="color-danger">*</span></template
|
||||
>
|
||||
<NodeCascader
|
||||
|
|
@ -151,50 +151,50 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageToVideoGenerate.first_frame.requiredMessage')
|
||||
$t('views.workflow.nodes.imageToVideoGenerate.first_frame.requiredMessage')
|
||||
"
|
||||
v-model="form_data.first_frame_url"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageToVideoGenerate.last_frame.label')"
|
||||
:label="$t('views.workflow.nodes.imageToVideoGenerate.last_frame.label')"
|
||||
:rules="{
|
||||
type: 'array',
|
||||
required: false,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.imageToVideoGenerate.last_frame.requiredMessage',
|
||||
'views.workflow.nodes.imageToVideoGenerate.last_frame.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
<template #label
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageToVideoGenerate.last_frame.label') }}
|
||||
>{{ $t('views.workflow.nodes.imageToVideoGenerate.last_frame.label') }}
|
||||
</template>
|
||||
<NodeCascader
|
||||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageToVideoGenerate.last_frame.requiredMessage')
|
||||
$t('views.workflow.nodes.imageToVideoGenerate.last_frame.requiredMessage')
|
||||
"
|
||||
clearable
|
||||
v-model="form_data.last_frame_url"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -255,7 +255,7 @@ const wheel = (e: any) => {
|
|||
}
|
||||
}
|
||||
|
||||
const defaultPrompt = `{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`
|
||||
const defaultPrompt = `{{${t('views.workflow.nodes.startNode.label')}.question}}`
|
||||
|
||||
const form = {
|
||||
model_id: '',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :node-model="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,12 +12,12 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageUnderstandNode.model.label')"
|
||||
:label="$t('views.workflow.nodes.imageUnderstandNode.model.label')"
|
||||
prop="model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.imageUnderstandNode.model.requiredMessage',
|
||||
'views.workflow.nodes.imageUnderstandNode.model.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ t('views.applicationWorkflow.nodes.imageUnderstandNode.model.label')
|
||||
>{{ t('views.workflow.nodes.imageUnderstandNode.model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
:teleported="false"
|
||||
v-model="form_data.model_id"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageUnderstandNode.model.requiredMessage')
|
||||
$t('views.workflow.nodes.imageUnderstandNode.model.requiredMessage')
|
||||
"
|
||||
:options="modelOptions"
|
||||
showFooter
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
v-model="form_data.system"
|
||||
style="height: 100px"
|
||||
@submitDialog="submitSystemDialog"
|
||||
:placeholder="`${t('views.applicationWorkflow.SystemPromptPlaceholder')}{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`"
|
||||
:placeholder="`${t('views.workflow.SystemPromptPlaceholder')}{{${t('views.workflow.nodes.startNode.label')}.question}}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
v-model="form_data.prompt"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
:placeholder="`${t('views.applicationWorkflow.UserPromptPlaceholder')}{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`"
|
||||
:placeholder="`${t('views.workflow.UserPromptPlaceholder')}{{${t('views.workflow.nodes.startNode.label')}.question}}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
@ -123,8 +123,8 @@
|
|||
<div class="flex-between">
|
||||
<div>{{ $t('views.application.form.historyRecord.label') }}</div>
|
||||
<el-select v-model="form_data.dialogue_type" type="small" style="width: 100px">
|
||||
<el-option :label="$t('views.applicationWorkflow.node')" value="NODE" />
|
||||
<el-option :label="$t('views.applicationWorkflow.workflow')" value="WORKFLOW" />
|
||||
<el-option :label="$t('views.workflow.node')" value="NODE" />
|
||||
<el-option :label="$t('views.workflow.workflow')" value="WORKFLOW" />
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -139,18 +139,18 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.imageUnderstandNode.image.label')"
|
||||
:label="$t('views.workflow.nodes.imageUnderstandNode.image.label')"
|
||||
:rules="{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.imageUnderstandNode.image.requiredMessage',
|
||||
'views.workflow.nodes.imageUnderstandNode.image.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
<template #label
|
||||
>{{ $t('views.applicationWorkflow.nodes.imageUnderstandNode.image.label')
|
||||
>{{ $t('views.workflow.nodes.imageUnderstandNode.image.label')
|
||||
}}<span class="color-danger">*</span></template
|
||||
>
|
||||
<NodeCascader
|
||||
|
|
@ -158,25 +158,25 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.imageUnderstandNode.image.requiredMessage')
|
||||
$t('views.workflow.nodes.imageUnderstandNode.image.requiredMessage')
|
||||
"
|
||||
v-model="form_data.image_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -243,7 +243,7 @@ const wheel = (e: any) => {
|
|||
}
|
||||
}
|
||||
|
||||
const defaultPrompt = `{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`
|
||||
const defaultPrompt = `{{${t('views.workflow.nodes.startNode.label')}.question}}`
|
||||
|
||||
const form = {
|
||||
model_id: '',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never" style="--el-card-padding: 12px">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -53,9 +53,9 @@
|
|||
</el-form-item>
|
||||
<el-form-item
|
||||
prop="content_list"
|
||||
:label="$t('views.applicationWorkflow.nodes.intentNode.input.label')"
|
||||
:label="$t('views.workflow.nodes.intentNode.input.label')"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.textToSpeechNode.content.label'),
|
||||
message: $t('views.workflow.nodes.textToSpeechNode.content.label'),
|
||||
trigger: 'change',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
<div class="flex-between">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.intentNode.input.label')
|
||||
>{{ $t('views.workflow.nodes.intentNode.input.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.textToSpeechNode.content.label')"
|
||||
:placeholder="$t('views.workflow.nodes.textToSpeechNode.content.label')"
|
||||
v-model="form_data.content_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
<div class="flex-between">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.intentNode.classify.label')
|
||||
>{{ $t('views.workflow.nodes.intentNode.classify.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
<el-form-item
|
||||
:prop="`branch.${index}.content`"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.intentNode.classify.placeholder'),
|
||||
message: $t('views.workflow.nodes.intentNode.classify.placeholder'),
|
||||
trigger: 'change',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
style="width: 210px"
|
||||
:disabled="item.isOther"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.intentNode.classify.placeholder')
|
||||
$t('views.workflow.nodes.intentNode.classify.placeholder')
|
||||
"
|
||||
/>
|
||||
</el-col>
|
||||
|
|
@ -289,7 +289,7 @@ const form = {
|
|||
},
|
||||
{
|
||||
id: randomId(),
|
||||
content: t('views.applicationWorkflow.nodes.intentNode.other'),
|
||||
content: t('views.workflow.nodes.intentNode.other'),
|
||||
isOther: true,
|
||||
},
|
||||
],
|
||||
|
|
@ -335,7 +335,7 @@ const validate = () => {
|
|||
form_data.value.branch.length !=
|
||||
new Set(form_data.value.branch.map((item: any) => item.content)).size
|
||||
) {
|
||||
throw t('views.applicationWorkflow.nodes.intentNode.error2')
|
||||
throw t('views.workflow.nodes.intentNode.error2')
|
||||
}
|
||||
})
|
||||
.catch((err: any) => {
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ function deleteField(index: any) {
|
|||
function refreshFieldList(data: any, index: any) {
|
||||
for (let i = 0; i < inputFieldList.value.length; i++) {
|
||||
if (inputFieldList.value[i].field === data.field && index !== i) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.field)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -15,10 +15,10 @@
|
|||
prop="document_list"
|
||||
:label="$t('common.inputContent')"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.textToSpeechNode.content.label'),
|
||||
message: $t('views.workflow.nodes.textToSpeechNode.content.label'),
|
||||
trigger: 'change',
|
||||
required: true,
|
||||
}"
|
||||
}"
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex-between">
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.textToSpeechNode.content.label')"
|
||||
:placeholder="$t('views.workflow.nodes.textToSpeechNode.content.label')"
|
||||
v-model="form_data.document_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@
|
|||
class="mb-16"
|
||||
:title="
|
||||
props.nodeModel.type === 'application-node'
|
||||
? $t('views.applicationWorkflow.tip.applicationNodeError')
|
||||
: $t('views.applicationWorkflow.tip.functionNodeError')
|
||||
? $t('views.workflow.tip.applicationNodeError')
|
||||
: $t('views.workflow.tip.functionNodeError')
|
||||
"
|
||||
type="error"
|
||||
show-icon
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
<span class="break-all">{{ item.label }} {{ '{' + item.value + '}' }}</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.setting.copyParam')"
|
||||
:content="$t('views.workflow.setting.copyParam')"
|
||||
placement="top"
|
||||
v-if="showicon === index"
|
||||
>
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
</div>
|
||||
|
||||
<el-dialog
|
||||
:title="$t('views.applicationWorkflow.nodeName')"
|
||||
:title="$t('views.workflow.nodeName')"
|
||||
v-model="nodeNameDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
|
|
@ -163,7 +163,7 @@ const editName = async (formEl: FormInstance | undefined) => {
|
|||
nodeNameDialogVisible.value = false
|
||||
formEl.resetFields()
|
||||
} else {
|
||||
ElMessage.error(t('views.applicationWorkflow.tip.repeatedNodeError'))
|
||||
ElMessage.error(t('views.workflow.tip.repeatedNodeError'))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ class LoopBodyNodeView extends AppNode {
|
|||
super(props, LoopNode)
|
||||
}
|
||||
getNodeName() {
|
||||
return t('views.applicationWorkflow.nodes.loopBodyNode.label')
|
||||
return t('views.workflow.nodes.loopBodyNode.label')
|
||||
}
|
||||
get_up_node_field_list(contain_self: boolean, use_cache: boolean) {
|
||||
const loop_node_id = this.props.model.properties.loop_node_id
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ const validate = () => {
|
|||
if (loop_node.properties.node_data.loop_type == 'LOOP' && !workflow.exist_break_node()) {
|
||||
return Promise.reject({
|
||||
node: loop_node,
|
||||
errMessage: t('views.applicationWorkflow.validate.loopNodeBreakNodeRequired'),
|
||||
errMessage: t('views.workflow.validate.loopNodeBreakNodeRequired'),
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,17 +11,17 @@
|
|||
>
|
||||
<div class="handle flex-between lighter mb-8">
|
||||
<div class="info" v-if="form_data.condition_list.length > 1">
|
||||
<span>{{ $t('views.applicationWorkflow.nodes.conditionNode.conditions.info') }}</span>
|
||||
<span>{{ $t('views.workflow.nodes.conditionNode.conditions.info') }}</span>
|
||||
<el-select
|
||||
:teleported="false"
|
||||
v-model="form_data.condition"
|
||||
size="small"
|
||||
style="width: 60px; margin: 0 8px"
|
||||
>
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.AND')" value="and" />
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.OR')" value="or" />
|
||||
<el-option :label="$t('views.workflow.condition.AND')" value="and" />
|
||||
<el-option :label="$t('views.workflow.condition.OR')" value="or" />
|
||||
</el-select>
|
||||
<span>{{ $t('views.applicationWorkflow.nodes.conditionNode.conditions.label') }}</span>
|
||||
<span>{{ $t('views.workflow.nodes.conditionNode.conditions.label') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<template v-for="(condition, index) in form_data.condition_list" :key="index">
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
:rules="{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="condition.field"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
:rules="{
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
'views.workflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
:teleported="false"
|
||||
v-model="condition.compare"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.conditionNode.conditions.requiredMessage')
|
||||
$t('views.workflow.nodes.conditionNode.conditions.requiredMessage')
|
||||
"
|
||||
clearable
|
||||
>
|
||||
|
|
@ -79,13 +79,13 @@
|
|||
:prop="'condition_list.' + index + '.value'"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.conditionNode.valueMessage'),
|
||||
message: $t('views.workflow.nodes.conditionNode.valueMessage'),
|
||||
trigger: 'blur',
|
||||
}"
|
||||
>
|
||||
<el-input
|
||||
v-model="condition.value"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.conditionNode.valueMessage')"
|
||||
:placeholder="$t('views.workflow.nodes.conditionNode.valueMessage')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
|
||||
<el-button link type="primary" @click="addCondition()">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.addCondition') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.addCondition') }}
|
||||
</el-button>
|
||||
</el-card>
|
||||
</NodeContainer>
|
||||
|
|
|
|||
|
|
@ -11,17 +11,17 @@
|
|||
>
|
||||
<div class="handle flex-between lighter mb-8">
|
||||
<div class="info" v-if="form_data.condition_list.length > 1">
|
||||
<span>{{ $t('views.applicationWorkflow.nodes.conditionNode.conditions.info') }}</span>
|
||||
<span>{{ $t('views.workflow.nodes.conditionNode.conditions.info') }}</span>
|
||||
<el-select
|
||||
:teleported="false"
|
||||
v-model="form_data.condition"
|
||||
size="small"
|
||||
style="width: 60px; margin: 0 8px"
|
||||
>
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.AND')" value="and" />
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.OR')" value="or" />
|
||||
<el-option :label="$t('views.workflow.condition.AND')" value="and" />
|
||||
<el-option :label="$t('views.workflow.condition.OR')" value="or" />
|
||||
</el-select>
|
||||
<span>{{ $t('views.applicationWorkflow.nodes.conditionNode.conditions.label') }}</span>
|
||||
<span>{{ $t('views.workflow.nodes.conditionNode.conditions.label') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<template v-for="(condition, index) in form_data.condition_list" :key="index">
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
:rules="{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="condition.field"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
:rules="{
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
'views.workflow.nodes.conditionNode.conditions.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
:teleported="false"
|
||||
v-model="condition.compare"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.conditionNode.conditions.requiredMessage')
|
||||
$t('views.workflow.nodes.conditionNode.conditions.requiredMessage')
|
||||
"
|
||||
clearable
|
||||
>
|
||||
|
|
@ -79,13 +79,13 @@
|
|||
:prop="'condition_list.' + index + '.value'"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.conditionNode.valueMessage'),
|
||||
message: $t('views.workflow.nodes.conditionNode.valueMessage'),
|
||||
trigger: 'blur',
|
||||
}"
|
||||
>
|
||||
<el-input
|
||||
v-model="condition.value"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.conditionNode.valueMessage')"
|
||||
:placeholder="$t('views.workflow.nodes.conditionNode.valueMessage')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
|
||||
<el-button link type="primary" @click="addCondition()">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.addCondition') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.addCondition') }}
|
||||
</el-button>
|
||||
</el-card>
|
||||
</NodeContainer>
|
||||
|
|
|
|||
|
|
@ -10,37 +10,37 @@
|
|||
ref="replyNodeFormRef"
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.loopNode.loopType.label')"
|
||||
:label="$t('views.workflow.nodes.loopNode.loopType.label')"
|
||||
@click.prevent
|
||||
prop="loop_type"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.loopNode.loopType.requiredMessage'),
|
||||
message: $t('views.workflow.nodes.loopNode.loopType.requiredMessage'),
|
||||
trigger: 'change',
|
||||
required: true,
|
||||
}"
|
||||
>
|
||||
<el-select v-model="form_data.loop_type" type="small">
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.loopNode.loopType.arrayLoop')"
|
||||
:label="$t('views.workflow.nodes.loopNode.loopType.arrayLoop')"
|
||||
value="ARRAY"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.loopNode.loopType.numberLoop')"
|
||||
:label="$t('views.workflow.nodes.loopNode.loopType.numberLoop')"
|
||||
value="NUMBER"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.loopNode.loopType.infiniteLoop')"
|
||||
:label="$t('views.workflow.nodes.loopNode.loopType.infiniteLoop')"
|
||||
value="LOOP"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="form_data.loop_type == 'ARRAY'"
|
||||
:label="$t('views.applicationWorkflow.nodes.loopNode.loopArray.label')"
|
||||
:label="$t('views.workflow.nodes.loopNode.loopArray.label')"
|
||||
@click.prevent
|
||||
prop="array"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.loopNode.loopArray.requiredMessage'),
|
||||
message: $t('views.workflow.nodes.loopNode.loopArray.requiredMessage'),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -49,17 +49,17 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.loopNode.loopArray.placeholder')"
|
||||
:placeholder="$t('views.workflow.nodes.loopNode.loopArray.placeholder')"
|
||||
v-model="form_data.array"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-else-if="form_data.loop_type == 'NUMBER'"
|
||||
:label="$t('views.applicationWorkflow.nodes.loopNode.loopNumber.label')"
|
||||
:label="$t('views.workflow.nodes.loopNode.loopNumber.label')"
|
||||
@click.prevent
|
||||
prop="number"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.loopNode.loopNumber.requiredMessage'),
|
||||
message: $t('views.workflow.nodes.loopNode.loopNumber.requiredMessage'),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
}"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="flex-between mb-16">
|
||||
<h5 class="break-all ellipsis lighter" style="max-width: 80%">
|
||||
{{ $t('views.applicationWorkflow.variable.loop') }}
|
||||
{{ $t('views.workflow.variable.loop') }}
|
||||
</h5>
|
||||
<div>
|
||||
<span class="ml-4">
|
||||
|
|
@ -79,7 +79,7 @@ function deleteField(index: any) {
|
|||
function refreshFieldList(data: any, index: any) {
|
||||
for (let i = 0; i < inputFieldList.value.length; i++) {
|
||||
if (inputFieldList.value[i].field === data.field && index !== i) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.field)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class LoopStartNode extends AppNode {
|
|||
if (this.props.model.type === 'loop-start-node') {
|
||||
result.push({
|
||||
value: 'loop',
|
||||
label: t('views.applicationWorkflow.variable.loop'),
|
||||
label: t('views.workflow.variable.loop'),
|
||||
type: 'loop',
|
||||
children:
|
||||
(this.props.model.properties.loop_input_field_list
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<LoopFieldTable :nodeModel="nodeModel"></LoopFieldTable>
|
||||
<template v-if="loop_input_fields?.length">
|
||||
<h5 class="title-decoration-1 mb-8">
|
||||
{{ $t('views.applicationWorkflow.variable.loop') }}
|
||||
{{ $t('views.workflow.variable.loop') }}
|
||||
</h5>
|
||||
<div
|
||||
v-for="(item, index) in loop_input_fields || []"
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
<span class="break-all">{{ item.label }} {{ '{' + item.value + '}' }}</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.setting.copyParam')"
|
||||
:content="$t('views.workflow.setting.copyParam')"
|
||||
placement="top"
|
||||
v-if="showicon === true"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<div class="border-r-6 p-8-12 mb-8 layout-bg lighter">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
style="width: 85px"
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.mcpNode.reference')"
|
||||
:label="$t('views.workflow.nodes.mcpNode.reference')"
|
||||
value="referencing"
|
||||
/>
|
||||
<el-option :label="$t('common.custom')" value="custom" />
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
<span>{{ $t('views.tool.title') }}</span>
|
||||
<el-button type="primary" link @click="getTools()">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.nodes.mcpNode.getTool') }}
|
||||
{{ $t('views.workflow.nodes.mcpNode.getTool') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
</el-form>
|
||||
</div>
|
||||
<h5 class="title-decoration-1 mb-8">
|
||||
{{ $t('views.applicationWorkflow.nodes.mcpNode.toolParam') }}
|
||||
{{ $t('views.workflow.nodes.mcpNode.toolParam') }}
|
||||
</h5>
|
||||
<template v-if="form_data.tool_params[form_data.params_nested]">
|
||||
<div class="p-8-12" v-if="!form_data.mcp_tool">
|
||||
|
|
@ -146,7 +146,7 @@
|
|||
@change="form_data.tool_params[form_data.params_nested][item.label.label] = ''"
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
<el-option :label="$t('common.custom')" value="custom" />
|
||||
|
|
@ -175,7 +175,7 @@
|
|||
ref="nodeCascaderRef2"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="form_data.tool_params[form_data.params_nested][item.label.label]"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -220,7 +220,7 @@
|
|||
@change="form_data.tool_params[item.label.label] = ''"
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
<el-option :label="$t('common.custom')" value="custom" />
|
||||
|
|
@ -249,7 +249,7 @@
|
|||
ref="nodeCascaderRef2"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="form_data.tool_params[item.label.label]"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -337,17 +337,17 @@ async function mcpToolSelectChange() {
|
|||
|
||||
function getTools() {
|
||||
if (form_data.value.mcp_source === 'referencing' && !form_data.value.mcp_tool_id) {
|
||||
MsgError(t('views.applicationWorkflow.nodes.mcpNode.mcpToolTip'))
|
||||
MsgError(t('views.workflow.nodes.mcpNode.mcpToolTip'))
|
||||
return
|
||||
}
|
||||
if (form_data.value.mcp_source === 'referencing' && form_data.value.mcp_tool_id) {
|
||||
if (!mcpToolSelectOptions.value.find((item) => item.id === form_data.value.mcp_tool_id)) {
|
||||
MsgError(t('views.applicationWorkflow.nodes.mcpNode.mcpToolTip'))
|
||||
MsgError(t('views.workflow.nodes.mcpNode.mcpToolTip'))
|
||||
return
|
||||
}
|
||||
}
|
||||
if (form_data.value.mcp_source === 'custom' && !form_data.value.mcp_servers) {
|
||||
MsgError(t('views.applicationWorkflow.nodes.mcpNode.mcpServerTip'))
|
||||
MsgError(t('views.workflow.nodes.mcpNode.mcpServerTip'))
|
||||
return
|
||||
}
|
||||
try {
|
||||
|
|
@ -358,7 +358,7 @@ function getTools() {
|
|||
return
|
||||
}
|
||||
} catch (e) {
|
||||
MsgError(t('views.applicationWorkflow.nodes.mcpNode.mcpServerTip'))
|
||||
MsgError(t('views.workflow.nodes.mcpNode.mcpServerTip'))
|
||||
return
|
||||
}
|
||||
// 一切正常,获取tool
|
||||
|
|
@ -370,7 +370,7 @@ function _getTools(mcp_servers: any) {
|
|||
.getMcpTools(id, mcp_servers, loading)
|
||||
.then((res: any) => {
|
||||
form_data.value.mcp_tools = res.data
|
||||
MsgSuccess(t('views.applicationWorkflow.nodes.mcpNode.getToolsSuccess'))
|
||||
MsgSuccess(t('views.workflow.nodes.mcpNode.getToolsSuccess'))
|
||||
// 修改了json,刷新mcp_server
|
||||
form_data.value.mcp_server = form_data.value.mcp_tools.find(
|
||||
(item: any) => item.name === form_data.value.mcp_tool,
|
||||
|
|
@ -561,13 +561,13 @@ const validate = async () => {
|
|||
if (!form.mcp_servers) {
|
||||
return Promise.reject({
|
||||
node: props.nodeModel,
|
||||
errMessage: t('views.applicationWorkflow.nodes.mcpNode.mcpServerTip'),
|
||||
errMessage: t('views.workflow.nodes.mcpNode.mcpServerTip'),
|
||||
})
|
||||
}
|
||||
if (!form.mcp_tool) {
|
||||
return Promise.reject({
|
||||
node: props.nodeModel,
|
||||
errMessage: t('views.applicationWorkflow.nodes.mcpNode.mcpToolTip'),
|
||||
errMessage: t('views.workflow.nodes.mcpNode.mcpToolTip'),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
<el-form-item
|
||||
:label="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.parameterExtractionNode.extractParameters.parameterType',
|
||||
'views.workflow.nodes.parameterExtractionNode.extractParameters.parameterType',
|
||||
)
|
||||
"
|
||||
:required="true"
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
:placeholder="
|
||||
$t('common.selectPlaceholder') +
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.parameterExtractionNode.extractParameters.parameterType',
|
||||
'views.workflow.nodes.parameterExtractionNode.extractParameters.parameterType',
|
||||
)
|
||||
"
|
||||
style="width: 100%"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="flex-between w-full">
|
||||
<h5 class="break-all lighter">
|
||||
{{ $t('views.applicationWorkflow.nodes.parameterExtractionNode.extractParameters.label') }}
|
||||
{{ $t('views.workflow.nodes.parameterExtractionNode.extractParameters.label') }}
|
||||
<span class="color-danger">*</span>
|
||||
</h5>
|
||||
<span class="ml-4" style="margin-top: -4px">
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
prop="label"
|
||||
:label="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.parameterExtractionNode.extractParameters.parameterType',
|
||||
'views.workflow.nodes.parameterExtractionNode.extractParameters.parameterType',
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -100,7 +100,7 @@ function deleteField(index: any) {
|
|||
function refreshFieldList(data: any, index: any) {
|
||||
for (let i = 0; i < inputFieldList.value.length; i++) {
|
||||
if (inputFieldList.value[i].field === data.field && index !== i) {
|
||||
MsgError(t('views.applicationWorkflow.tip.paramErrorMessage') + data.field)
|
||||
MsgError(t('views.workflow.tip.paramErrorMessage') + data.field)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never" style="--el-card-padding: 12px">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
<el-form-item
|
||||
prop="input_variable"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<div>
|
||||
{{ $t('views.applicationWorkflow.nodes.variableSplittingNode.inputVariables') }}
|
||||
{{ $t('views.workflow.nodes.variableSplittingNode.inputVariables') }}
|
||||
<span class="color-danger">*</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="form_data.input_variable"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
prop="variable_list"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.parameterExtractionNode.extractParameters.variableListPlaceholder',
|
||||
'views.workflow.nodes.parameterExtractionNode.extractParameters.variableListPlaceholder',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never" style="--el-card-padding: 12px">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
v-model="form_data.system"
|
||||
style="height: 100px"
|
||||
@submitDialog="submitSystemDialog"
|
||||
:placeholder="`${t('views.applicationWorkflow.SystemPromptPlaceholder')}{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`"
|
||||
:placeholder="`${t('views.workflow.SystemPromptPlaceholder')}{{${t('views.workflow.nodes.startNode.label')}.question}}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
v-model="form_data.prompt"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
:placeholder="`${t('views.applicationWorkflow.UserPromptPlaceholder')}{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`"
|
||||
:placeholder="`${t('views.workflow.UserPromptPlaceholder')}{{${t('views.workflow.nodes.startNode.label')}.question}}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('views.application.form.historyRecord.label')">
|
||||
|
|
@ -118,19 +118,19 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -197,11 +197,11 @@ function submitSystemDialog(val: string) {
|
|||
set(props.nodeModel.properties.node_data, 'system', val)
|
||||
}
|
||||
|
||||
const defaultPrompt = `{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`
|
||||
const defaultPrompt = `{{${t('views.workflow.nodes.startNode.label')}.question}}`
|
||||
|
||||
const form = {
|
||||
model_id: '',
|
||||
system: t('views.applicationWorkflow.nodes.questionNode.systemDefault'),
|
||||
system: t('views.workflow.nodes.questionNode.systemDefault'),
|
||||
prompt: defaultPrompt,
|
||||
dialogue_number: 1,
|
||||
is_result: false,
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@
|
|||
label-width="auto"
|
||||
ref="replyNodeFormRef"
|
||||
>
|
||||
<el-form-item :label="$t('views.applicationWorkflow.nodes.replyNode.replyContent')">
|
||||
<el-form-item :label="$t('views.workflow.nodes.replyNode.replyContent')">
|
||||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>{{ $t('views.applicationWorkflow.nodes.replyNode.replyContent') }}</span>
|
||||
<span>{{ $t('views.workflow.nodes.replyNode.replyContent') }}</span>
|
||||
<el-select
|
||||
:teleported="false"
|
||||
v-model="form_data.reply_type"
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
style="width: 85px"
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
<el-option
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<MdEditorMagnify
|
||||
v-if="form_data.reply_type === 'content'"
|
||||
@wheel="wheel"
|
||||
:title="$t('views.applicationWorkflow.nodes.replyNode.replyContent')"
|
||||
:title="$t('views.workflow.nodes.replyNode.replyContent')"
|
||||
v-model="form_data.content"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
|
|
@ -45,25 +45,25 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
"
|
||||
v-model="form_data.fields"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@
|
|||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<span class="mr-4"
|
||||
>Score {{ $t('views.applicationWorkflow.nodes.rerankerNode.higher') }}</span
|
||||
>Score {{ $t('views.workflow.nodes.rerankerNode.higher') }}</span
|
||||
>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.nodes.rerankerNode.ScoreTooltip')"
|
||||
:content="$t('views.workflow.nodes.rerankerNode.ScoreTooltip')"
|
||||
placement="right"
|
||||
>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.rerankerNode.rerankerContent.label')"
|
||||
:label="$t('views.workflow.nodes.rerankerNode.rerankerContent.label')"
|
||||
prop="reranker_reference_list"
|
||||
:rules="{
|
||||
type: 'array',
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.rerankerNode.rerankerContent.requiredMessage',
|
||||
'views.workflow.nodes.rerankerNode.rerankerContent.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
required: true,
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.rerankerNode.rerankerContent.label')
|
||||
>{{ $t('views.workflow.nodes.rerankerNode.rerankerContent.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
<el-button @click="add_reranker_reference" link type="primary">
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
:rules="{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
class="w-full"
|
||||
:placeholder="
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.rerankerNode.rerankerContent.requiredMessage',
|
||||
'views.workflow.nodes.rerankerNode.rerankerContent.requiredMessage',
|
||||
)
|
||||
"
|
||||
v-model="form_data.reranker_reference_list[index]"
|
||||
|
|
@ -71,12 +71,12 @@
|
|||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchParam')"
|
||||
:label="$t('views.workflow.nodes.searchKnowledgeNode.searchParam')"
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchParam')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchParam')
|
||||
}}</span>
|
||||
<el-button type="primary" link @click="openParamSettingDialog">
|
||||
<AppIcon iconName="app-setting"></AppIcon>
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
<el-row>
|
||||
<el-col :span="12" class="color-secondary lighter">
|
||||
Score
|
||||
{{ $t('views.applicationWorkflow.nodes.rerankerNode.higher') }}</el-col
|
||||
{{ $t('views.workflow.nodes.rerankerNode.higher') }}</el-col
|
||||
>
|
||||
<el-col :span="12" class="lighter">
|
||||
{{ form_data.reranker_setting.similarity?.toFixed(3) }}</el-col
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
<el-col :span="12" class="lighter"> {{ form_data.reranker_setting.top_n }}</el-col>
|
||||
<el-col :span="12" class="color-secondary lighter">
|
||||
{{
|
||||
$t('views.applicationWorkflow.nodes.rerankerNode.max_paragraph_char_number')
|
||||
$t('views.workflow.nodes.rerankerNode.max_paragraph_char_number')
|
||||
}}</el-col
|
||||
>
|
||||
<el-col :span="12" class="lighter">
|
||||
|
|
@ -108,11 +108,11 @@
|
|||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.label')"
|
||||
:label="$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.label')"
|
||||
prop="question_reference_address"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
'views.workflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.label')
|
||||
>{{ $t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -131,24 +131,24 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.label')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.label')
|
||||
"
|
||||
v-model="form_data.question_reference_address"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.rerankerNode.reranker_model.label')"
|
||||
:label="$t('views.workflow.nodes.rerankerNode.reranker_model.label')"
|
||||
prop="reranker_model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t('views.applicationWorkflow.nodes.rerankerNode.reranker_model.placeholder'),
|
||||
message: $t('views.workflow.nodes.rerankerNode.reranker_model.placeholder'),
|
||||
trigger: 'change',
|
||||
}"
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.rerankerNode.reranker_model.label')
|
||||
>{{ $t('views.workflow.nodes.rerankerNode.reranker_model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
:teleported="false"
|
||||
v-model="form_data.reranker_model_id"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.rerankerNode.reranker_model.placeholder')
|
||||
$t('views.workflow.nodes.rerankerNode.reranker_model.placeholder')
|
||||
"
|
||||
:options="modelOptions"
|
||||
@submitModel="getSelectModel"
|
||||
|
|
@ -167,7 +167,7 @@
|
|||
></ModelSelect>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.searchKnowledgeNode.showKnowledge.label')"
|
||||
:label="$t('views.workflow.nodes.searchKnowledgeNode.showKnowledge.label')"
|
||||
prop="show_knowledge"
|
||||
required
|
||||
@click.prevent
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchDocumentNode.selectKnowledge') }}
|
||||
{{ $t('views.workflow.nodes.searchDocumentNode.selectKnowledge') }}
|
||||
</span>
|
||||
<span>
|
||||
<el-button
|
||||
|
|
@ -32,11 +32,11 @@
|
|||
style="width: 85px"
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.searchDocumentNode.custom')"
|
||||
:label="$t('views.workflow.nodes.searchDocumentNode.custom')"
|
||||
value="custom"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
</el-select>
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
<el-form-item
|
||||
prop="search_scope_reference"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchDocumentNode.select_variable') }}
|
||||
{{ $t('views.workflow.nodes.searchDocumentNode.select_variable') }}
|
||||
<span class="color-danger">*</span></span
|
||||
>
|
||||
<span>
|
||||
|
|
@ -93,13 +93,13 @@
|
|||
>
|
||||
<el-option
|
||||
:label="
|
||||
$t('views.applicationWorkflow.nodes.searchDocumentNode.knowledge_list')
|
||||
$t('views.workflow.nodes.searchDocumentNode.knowledge_list')
|
||||
"
|
||||
value="knowledge"
|
||||
/>
|
||||
<el-option
|
||||
:label="
|
||||
$t('views.applicationWorkflow.nodes.searchDocumentNode.document_list')
|
||||
$t('views.workflow.nodes.searchDocumentNode.document_list')
|
||||
"
|
||||
value="document"
|
||||
/>
|
||||
|
|
@ -111,21 +111,21 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="form_data.search_scope_reference"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.searchDocumentNode.searchSetting')"
|
||||
:label="$t('views.workflow.nodes.searchDocumentNode.searchSetting')"
|
||||
>
|
||||
<el-radio-group v-model="form_data.search_mode">
|
||||
<el-radio value="auto">
|
||||
<span class="flex align-center">
|
||||
{{ $t('views.applicationWorkflow.nodes.searchDocumentNode.auto') }}
|
||||
{{ $t('views.workflow.nodes.searchDocumentNode.auto') }}
|
||||
<el-tooltip
|
||||
:content="$t('views.applicationWorkflow.nodes.searchDocumentNode.autoTooltip')"
|
||||
:content="$t('views.workflow.nodes.searchDocumentNode.autoTooltip')"
|
||||
placement="top"
|
||||
>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon ml-4"></AppIcon>
|
||||
|
|
@ -134,10 +134,10 @@
|
|||
</el-radio>
|
||||
<el-radio value="custom" v-if="form_data.search_scope_type === 'custom'">
|
||||
<span class="flex align-center">
|
||||
{{ $t('views.applicationWorkflow.nodes.searchDocumentNode.custom') }}
|
||||
{{ $t('views.workflow.nodes.searchDocumentNode.custom') }}
|
||||
<el-tooltip
|
||||
c
|
||||
:content="$t('views.applicationWorkflow.nodes.searchDocumentNode.customTooltip')"
|
||||
:content="$t('views.workflow.nodes.searchDocumentNode.customTooltip')"
|
||||
placement="top"
|
||||
>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon ml-4"></AppIcon>
|
||||
|
|
@ -152,7 +152,7 @@
|
|||
prop="question_reference"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
'views.workflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
|
|
@ -160,7 +160,7 @@
|
|||
>
|
||||
<template #label>
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.label') }}
|
||||
{{ $t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.label') }}
|
||||
<span class="color-danger">*</span></span
|
||||
>
|
||||
</template>
|
||||
|
|
@ -169,7 +169,7 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
"
|
||||
v-model="form_data.question_reference"
|
||||
/>
|
||||
|
|
@ -177,18 +177,18 @@
|
|||
<div v-else>
|
||||
<div class="flex align-center mb-8">
|
||||
<el-text type="info" class="lighter" size="small">
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.conditions.info') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.conditions.info') }}
|
||||
</el-text>
|
||||
<el-select
|
||||
v-model="form_data.search_condition_type"
|
||||
size="small"
|
||||
style="width: 60px; margin: 0 8px"
|
||||
>
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.AND')" value="AND" />
|
||||
<el-option :label="$t('views.applicationWorkflow.condition.OR')" value="OR" />
|
||||
<el-option :label="$t('views.workflow.condition.AND')" value="AND" />
|
||||
<el-option :label="$t('views.workflow.condition.OR')" value="OR" />
|
||||
</el-select>
|
||||
<el-text type="info" class="lighter" size="small">
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.conditions.label') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.conditions.label') }}
|
||||
</el-text>
|
||||
</div>
|
||||
<div v-for="(c, index) in form_data.search_condition_list" :key="index">
|
||||
|
|
@ -217,7 +217,7 @@
|
|||
<el-input
|
||||
v-model="c.value"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchDocumentNode.valueMessage')
|
||||
$t('views.workflow.nodes.searchDocumentNode.valueMessage')
|
||||
"
|
||||
></el-input>
|
||||
</el-col>
|
||||
|
|
@ -230,7 +230,7 @@
|
|||
</div>
|
||||
<el-button link type="primary" @click="addCondition" class="mt-8">
|
||||
<AppIcon iconName="app-add-outlined" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationWorkflow.nodes.conditionNode.addCondition') }}
|
||||
{{ $t('views.workflow.nodes.conditionNode.addCondition') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -264,9 +264,9 @@ const props = defineProps<{ nodeModel: any }>()
|
|||
const nodeCascaderRef = ref()
|
||||
const nodeCascaderRef2 = ref()
|
||||
const compareList = [
|
||||
{ value: 'contain', label: t('views.applicationWorkflow.compare.contain') },
|
||||
{ value: 'not_contain', label: t('views.applicationWorkflow.compare.not_contain') },
|
||||
{ value: 'eq', label: t('views.applicationWorkflow.compare.eq') },
|
||||
{ value: 'contain', label: t('views.workflow.compare.contain') },
|
||||
{ value: 'not_contain', label: t('views.workflow.compare.not_contain') },
|
||||
{ value: 'eq', label: t('views.workflow.compare.eq') },
|
||||
]
|
||||
|
||||
const apiType = computed(() => {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchDocumentNode.selectKnowledge') }}</span
|
||||
{{ $t('views.workflow.nodes.searchDocumentNode.selectKnowledge') }}</span
|
||||
>
|
||||
<span>
|
||||
<el-button
|
||||
|
|
@ -33,11 +33,11 @@
|
|||
style="width: 85px"
|
||||
>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.nodes.searchDocumentNode.custom')"
|
||||
:label="$t('views.workflow.nodes.searchDocumentNode.custom')"
|
||||
value="custom"
|
||||
/>
|
||||
<el-option
|
||||
:label="$t('views.applicationWorkflow.variable.Referencing')"
|
||||
:label="$t('views.workflow.variable.Referencing')"
|
||||
value="referencing"
|
||||
/>
|
||||
</el-select>
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
<el-form-item
|
||||
prop="search_scope_reference"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.variable.placeholder'),
|
||||
message: $t('views.workflow.variable.placeholder'),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchDocumentNode.select_variable') }}
|
||||
{{ $t('views.workflow.nodes.searchDocumentNode.select_variable') }}
|
||||
<span class="color-danger">*</span>
|
||||
</span>
|
||||
<span>
|
||||
|
|
@ -92,13 +92,13 @@
|
|||
>
|
||||
<el-option
|
||||
:label="
|
||||
$t('views.applicationWorkflow.nodes.searchDocumentNode.knowledge_list')
|
||||
$t('views.workflow.nodes.searchDocumentNode.knowledge_list')
|
||||
"
|
||||
value="knowledge"
|
||||
/>
|
||||
<el-option
|
||||
:label="
|
||||
$t('views.applicationWorkflow.nodes.searchDocumentNode.document_list')
|
||||
$t('views.workflow.nodes.searchDocumentNode.document_list')
|
||||
"
|
||||
value="document"
|
||||
/>
|
||||
|
|
@ -110,19 +110,19 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.variable.placeholder')"
|
||||
:placeholder="$t('views.workflow.variable.placeholder')"
|
||||
v-model="form_data.search_scope_reference"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchParam')"
|
||||
:label="$t('views.workflow.nodes.searchKnowledgeNode.searchParam')"
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchParam') }}
|
||||
>{{ $t('views.workflow.nodes.searchKnowledgeNode.searchParam') }}
|
||||
</span>
|
||||
<el-button type="primary" link @click="openParamSettingDialog">
|
||||
<AppIcon iconName="app-setting"></AppIcon>
|
||||
|
|
@ -162,7 +162,7 @@
|
|||
prop="question_reference_address"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
'views.workflow.nodes.searchKnowledgeNode.searchQuestion.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
|
|
@ -171,7 +171,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.label') }}
|
||||
{{ $t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.label') }}
|
||||
<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -181,7 +181,7 @@
|
|||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
$t('views.workflow.nodes.searchKnowledgeNode.searchQuestion.placeholder')
|
||||
"
|
||||
v-model="form_data.question_reference_address"
|
||||
/>
|
||||
|
|
@ -190,7 +190,7 @@
|
|||
prop="show_knowledge"
|
||||
:rules="{
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.searchKnowledgeNode.showKnowledge.requiredMessage',
|
||||
'views.workflow.nodes.searchKnowledgeNode.showKnowledge.requiredMessage',
|
||||
),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
|
|
@ -200,7 +200,7 @@
|
|||
<template #label>
|
||||
<div class="flex-between">
|
||||
<span>
|
||||
{{ $t('views.applicationWorkflow.nodes.searchKnowledgeNode.showKnowledge.label') }}
|
||||
{{ $t('views.workflow.nodes.searchKnowledgeNode.showKnowledge.label') }}
|
||||
<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :node-model="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.speechToTextNode.stt_model.label')"
|
||||
:label="$t('views.workflow.nodes.speechToTextNode.stt_model.label')"
|
||||
prop="stt_model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.speechToTextNode.stt_model.label')
|
||||
>{{ $t('views.workflow.nodes.speechToTextNode.stt_model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -51,10 +51,10 @@
|
|||
></ModelSelect>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.speechToTextNode.audio.label')"
|
||||
:label="$t('views.workflow.nodes.speechToTextNode.audio.label')"
|
||||
prop="audio_list"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.speechToTextNode.audio.label'),
|
||||
message: $t('views.workflow.nodes.speechToTextNode.audio.label'),
|
||||
trigger: 'change',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.speechToTextNode.audio.label')
|
||||
>{{ $t('views.workflow.nodes.speechToTextNode.audio.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -73,25 +73,25 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.speechToTextNode.audio.placeholder')"
|
||||
:placeholder="$t('views.workflow.nodes.speechToTextNode.audio.placeholder')"
|
||||
v-model="form_data.audio_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.variable.global') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.variable.global') }}</h5>
|
||||
<div
|
||||
v-for="(item, index) in nodeModel.properties.config.globalFields"
|
||||
:key="index"
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<span class="break-all">{{ item.label }} {{ '{' + item.value + '}' }}</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.setting.copyParam')"
|
||||
:content="$t('views.workflow.setting.copyParam')"
|
||||
placement="top"
|
||||
v-if="showicon === true"
|
||||
>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
</el-tooltip>
|
||||
</div>
|
||||
<template v-if="nodeModel.properties.config.chatFields?.length">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.variable.chat') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.variable.chat') }}</h5>
|
||||
<div
|
||||
v-for="(item, index) in nodeModel.properties.config.chatFields || []"
|
||||
:key="index"
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
<span class="break-all">{{ item.label }} {{ '{' + item.value + '}' }}</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('views.applicationWorkflow.setting.copyParam')"
|
||||
:content="$t('views.workflow.setting.copyParam')"
|
||||
placement="top"
|
||||
v-if="showicon === true"
|
||||
>
|
||||
|
|
@ -54,7 +54,7 @@ const props = defineProps<{ nodeModel: any }>()
|
|||
|
||||
const showicon = ref(false)
|
||||
const globalFields = [
|
||||
{ label: t('views.applicationWorkflow.nodes.startNode.currentTime'), value: 'time' },
|
||||
{ label: t('views.workflow.nodes.startNode.currentTime'), value: 'time' },
|
||||
{
|
||||
label: t('views.application.form.historyRecord.label'),
|
||||
value: 'history_context',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :node-model="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.textToSpeechNode.tts_model.label')"
|
||||
:label="$t('views.workflow.nodes.textToSpeechNode.tts_model.label')"
|
||||
prop="tts_model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.textToSpeechNode.tts_model.label')
|
||||
>{{ $t('views.workflow.nodes.textToSpeechNode.tts_model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -51,9 +51,9 @@
|
|||
</el-form-item>
|
||||
<el-form-item
|
||||
prop="content_list"
|
||||
:label="$t('views.applicationWorkflow.nodes.textToSpeechNode.content.label')"
|
||||
:label="$t('views.workflow.nodes.textToSpeechNode.content.label')"
|
||||
:rules="{
|
||||
message: $t('views.applicationWorkflow.nodes.textToSpeechNode.content.label'),
|
||||
message: $t('views.workflow.nodes.textToSpeechNode.content.label'),
|
||||
trigger: 'blur',
|
||||
required: true,
|
||||
}"
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.textToSpeechNode.content.label')
|
||||
>{{ $t('views.workflow.nodes.textToSpeechNode.content.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -72,25 +72,25 @@
|
|||
ref="nodeCascaderRef"
|
||||
:nodeModel="nodeModel"
|
||||
class="w-full"
|
||||
:placeholder="$t('views.applicationWorkflow.nodes.textToSpeechNode.content.label')"
|
||||
:placeholder="$t('views.workflow.nodes.textToSpeechNode.content.label')"
|
||||
v-model="form_data.content_list"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :node-model="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-8">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<el-card shadow="never" class="card-never">
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -12,12 +12,12 @@
|
|||
hide-required-asterisk
|
||||
>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.textToVideoGenerate.model.label')"
|
||||
:label="$t('views.workflow.nodes.textToVideoGenerate.model.label')"
|
||||
prop="model_id"
|
||||
:rules="{
|
||||
required: true,
|
||||
message: $t(
|
||||
'views.applicationWorkflow.nodes.textToVideoGenerate.model.requiredMessage',
|
||||
'views.workflow.nodes.textToVideoGenerate.model.requiredMessage',
|
||||
),
|
||||
trigger: 'change',
|
||||
}"
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<div class="flex-between w-full">
|
||||
<div>
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.textToVideoGenerate.model.label')
|
||||
>{{ $t('views.workflow.nodes.textToVideoGenerate.model.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
:teleported="false"
|
||||
v-model="form_data.model_id"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.textToVideoGenerate.model.requiredMessage')
|
||||
$t('views.workflow.nodes.textToVideoGenerate.model.requiredMessage')
|
||||
"
|
||||
:options="modelOptions"
|
||||
showFooter
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.textToVideoGenerate.prompt.label')"
|
||||
:label="$t('views.workflow.nodes.textToVideoGenerate.prompt.label')"
|
||||
prop="prompt"
|
||||
:rules="{
|
||||
required: true,
|
||||
|
|
@ -70,13 +70,13 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span
|
||||
>{{ $t('views.applicationWorkflow.nodes.textToVideoGenerate.prompt.label')
|
||||
>{{ $t('views.workflow.nodes.textToVideoGenerate.prompt.label')
|
||||
}}<span class="color-danger">*</span></span
|
||||
>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content
|
||||
>{{ $t('views.applicationWorkflow.nodes.textToVideoGenerate.prompt.tooltip') }}
|
||||
>{{ $t('views.workflow.nodes.textToVideoGenerate.prompt.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -84,14 +84,14 @@
|
|||
</template>
|
||||
<MdEditorMagnify
|
||||
@wheel="wheel"
|
||||
:title="$t('views.applicationWorkflow.nodes.textToVideoGenerate.prompt.label')"
|
||||
:title="$t('views.workflow.nodes.textToVideoGenerate.prompt.label')"
|
||||
v-model="form_data.prompt"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.textToVideoGenerate.negative_prompt.label')"
|
||||
:label="$t('views.workflow.nodes.textToVideoGenerate.negative_prompt.label')"
|
||||
prop="prompt"
|
||||
:rules="{
|
||||
required: false,
|
||||
|
|
@ -103,14 +103,14 @@
|
|||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.textToVideoGenerate.negative_prompt.label')
|
||||
$t('views.workflow.nodes.textToVideoGenerate.negative_prompt.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content
|
||||
>{{
|
||||
$t(
|
||||
'views.applicationWorkflow.nodes.textToVideoGenerate.negative_prompt.tooltip',
|
||||
'views.workflow.nodes.textToVideoGenerate.negative_prompt.tooltip',
|
||||
)
|
||||
}}
|
||||
</template>
|
||||
|
|
@ -120,29 +120,29 @@
|
|||
</template>
|
||||
<MdEditorMagnify
|
||||
@wheel="wheel"
|
||||
:title="$t('views.applicationWorkflow.nodes.textToVideoGenerate.negative_prompt.label')"
|
||||
:title="$t('views.workflow.nodes.textToVideoGenerate.negative_prompt.label')"
|
||||
v-model="form_data.negative_prompt"
|
||||
:placeholder="
|
||||
$t('views.applicationWorkflow.nodes.textToVideoGenerate.negative_prompt.placeholder')
|
||||
$t('views.workflow.nodes.textToVideoGenerate.negative_prompt.placeholder')
|
||||
"
|
||||
style="height: 150px"
|
||||
@submitDialog="submitNegativeDialog"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
@ -201,7 +201,7 @@ const wheel = (e: any) => {
|
|||
}
|
||||
}
|
||||
|
||||
const defaultPrompt = `{{${t('views.applicationWorkflow.nodes.startNode.label')}.question}}`
|
||||
const defaultPrompt = `{{${t('views.workflow.nodes.startNode.label')}.question}}`
|
||||
|
||||
const form = {
|
||||
model_id: '',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<NodeContainer :nodeModel="nodeModel">
|
||||
<h5 class="title-decoration-1 mb-16">{{ $t('views.applicationWorkflow.nodeSetting') }}</h5>
|
||||
<h5 class="title-decoration-1 mb-16">{{ $t('views.workflow.nodeSetting') }}</h5>
|
||||
<h5 class="lighter mb-8">{{ $t('common.param.inputParam') }}</h5>
|
||||
<el-form
|
||||
@submit.prevent
|
||||
|
|
@ -71,19 +71,19 @@
|
|||
<el-text type="info" v-else> {{ $t('common.noData') }} </el-text>
|
||||
</el-card>
|
||||
<el-form-item
|
||||
:label="$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')"
|
||||
:label="$t('views.workflow.nodes.aiChatNode.returnContent.label')"
|
||||
@click.prevent
|
||||
>
|
||||
<template #label>
|
||||
<div class="flex align-center">
|
||||
<div class="mr-4">
|
||||
<span>{{
|
||||
$t('views.applicationWorkflow.nodes.aiChatNode.returnContent.label')
|
||||
$t('views.workflow.nodes.aiChatNode.returnContent.label')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-tooltip effect="dark" placement="right" popper-class="max-w-200">
|
||||
<template #content>
|
||||
{{ $t('views.applicationWorkflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
{{ $t('views.workflow.nodes.aiChatNode.returnContent.tooltip') }}
|
||||
</template>
|
||||
<AppIcon iconName="app-warning" class="app-warning-icon"></AppIcon>
|
||||
</el-tooltip>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue