feat: workflow new nodes (#4683)

Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: Patryk Garstecki <patryk20120@yahoo.pl>
Co-authored-by: Sebastian.W <thiner@gmail.com>
Co-authored-by: 呆萌闷油瓶 <253605712@qq.com>
Co-authored-by: takatost <takatost@users.noreply.github.com>
Co-authored-by: rechardwang <wh_goodjob@163.com>
Co-authored-by: Nite Knite <nkCoding@gmail.com>
Co-authored-by: Chenhe Gu <guchenhe@gmail.com>
Co-authored-by: Joshua <138381132+joshua20231026@users.noreply.github.com>
Co-authored-by: Weaxs <459312872@qq.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Co-authored-by: leejoo0 <81673835+leejoo0@users.noreply.github.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: sino <sino2322@gmail.com>
Co-authored-by: Vikey Chen <vikeytk@gmail.com>
Co-authored-by: wanghl <Wang-HL@users.noreply.github.com>
Co-authored-by: Haolin Wang-汪皓临 <haolin.wang@atlaslovestravel.com>
Co-authored-by: Zixuan Cheng <61724187+Theysua@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Bowen Liang <bowenliang@apache.org>
Co-authored-by: Bowen Liang <liangbowen@gf.com.cn>
Co-authored-by: fanghongtai <42790567+fanghongtai@users.noreply.github.com>
Co-authored-by: wxfanghongtai <wxfanghongtai@gf.com.cn>
Co-authored-by: Matri <qjp@bithuman.io>
Co-authored-by: Benjamin <benjaminx@gmail.com>
This commit is contained in:
zxhlyh 2024-05-27 21:57:08 +08:00 • committed by GitHub
commit 45deaee762
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
210 changed files with 9951 additions and 2223 deletions

View file

@ -284,6 +284,7 @@ const translation = {
'varName': 'Variable Name',
'labelName': 'Label Name',
'inputPlaceholder': 'Please input',
'content': 'Content',
'required': 'Required',
'errorMsg': {
varNameRequired: 'Variable name is required',

View file

@ -1,10 +1,12 @@
const translation = {
title: 'Tools',
createCustomTool: 'Create Custom Tool',
customToolTip: 'Learn more about Dify custom tools',
type: {
all: 'All',
builtIn: 'Built-in',
custom: 'Custom',
workflow: 'Workflow',
},
contribute: {
line1: 'I\'m interested in ',
@ -21,12 +23,26 @@ const translation = {
},
includeToolNum: '{{num}} tools included',
addTool: 'Add Tool',
addToolModal: {
type: 'type',
category: 'category',
add: 'add',
added: 'added',
manageInTools: 'Manage in Tools',
emptyTitle: 'No workflow tool available',
emptyTip: 'Go to "Workflow -> Publish as Tool"',
},
createTool: {
title: 'Create Custom Tool',
editAction: 'Configure',
editTitle: 'Edit Custom Tool',
name: 'Name',
toolNamePlaceHolder: 'Enter the tool name',
nameForToolCall: 'Tool call name',
nameForToolCallPlaceHolder: 'Used for machine recognition, such as getCurrentWeather, list_pets',
nameForToolCallTip: 'Only supports numbers, letters, and underscores.',
description: 'Description',
descriptionPlaceholder: 'Brief description of the tool\'s purpose, e.g., get the temperature for a specific location.',
schema: 'Schema',
schemaPlaceHolder: 'Enter your OpenAPI schema here',
viewSchemaSpec: 'View the OpenAPI-Swagger Specification',
@ -71,8 +87,24 @@ const translation = {
},
privacyPolicy: 'Privacy policy',
privacyPolicyPlaceholder: 'Please enter privacy policy',
toolInput: {
title: 'Tool Input',
name: 'Name',
required: 'Required',
method: 'Method',
methodSetting: 'Setting',
methodSettingTip: 'User fills in the tool configuration',
methodParameter: 'Parameter',
methodParameterTip: 'LLM fills during inference',
label: 'Tags',
labelPlaceholder: 'Choose tags(optional)',
description: 'Description',
descriptionPlaceholder: 'Description of the parameter\'s meaning',
},
customDisclaimer: 'Custom disclaimer',
customDisclaimerPlaceholder: 'Please enter custom disclaimer',
confirmTitle: 'Confirm to save ?',
confirmTip: 'Apps using this tool will be affected',
},
test: {
title: 'Test',
@ -112,6 +144,8 @@ const translation = {
toolRemoved: 'Tool removed',
notAuthorized: 'Tool not authorized',
howToGet: 'How to get',
openInStudio: 'Open in Studio',
toolNameUsageTip: 'Tool call name for agent reasoning and prompting',
}
export default translation

View file

@ -60,6 +60,13 @@ const translation = {
pasteHere: 'Paste Here',
pointerMode: 'Pointer Mode',
handMode: 'Hand Mode',
model: 'Model',
workflowAsTool: 'Workflow as Tool',
configureRequired: 'Configure Required',
configure: 'Configure',
manageInTools: 'Manage in Tools',
workflowAsToolTip: 'Tool reconfiguration is required after the workflow update.',
viewDetailInTracingPanel: 'View details',
},
errorMsg: {
fieldRequired: '{{field}} is required',
@ -78,12 +85,18 @@ const translation = {
testRun: 'Test Run ',
startRun: 'Start Run',
running: 'Running',
testRunIteration: 'Test Run Iteration',
back: 'Back',
iteration: 'Iteration',
},
tabs: {
'searchBlock': 'Search block',
'blocks': 'Blocks',
'builtInTool': 'Built-in Tool',
'customTool': 'Custom Tool',
'tools': 'Tools',
'allTool': 'All',
'builtInTool': 'Built-in',
'customTool': 'Custom',
'workflowTool': 'Workflow',
'question-understand': 'Question Understand',
'logic': 'Logic',
'transform': 'Transform',
@ -101,7 +114,11 @@ const translation = {
'code': 'Code',
'template-transform': 'Template',
'http-request': 'HTTP Request',
'variable-assigner': 'Variable Assigner',
'variable-assigner': 'Variable Aggregator',
'variable-aggregator': 'Variable Aggregator',
'iteration-start': 'Iteration Start',
'iteration': 'Iteration',
'parameter-extractor': 'Parameter Extractor',
},
blocksAbout: {
'start': 'Define the initial parameters for launching a workflow',
@ -114,7 +131,10 @@ const translation = {
'code': 'Execute a piece of Python or NodeJS code to implement custom logic',
'template-transform': 'Convert data to string using Jinja template syntax',
'http-request': 'Allow server requests to be sent over the HTTP protocol',
'variable-assigner': 'Assign variables in different branches to the same variable to achieve unified configuration of post-nodes',
'variable-assigner': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.',
'variable-aggregator': 'Aggregate multi-branch variables into a single variable for unified configuration of downstream nodes.',
'iteration': 'Perform multiple steps on a list object until all results are outputted.',
'parameter-extractor': 'Use LLM to extract structured parameters from natural language for tool invocations or HTTP requests.',
},
operator: {
zoomIn: 'Zoom In',
@ -312,7 +332,6 @@ const translation = {
variableAssigner: {
title: 'Assign variables',
outputType: 'Output Type',
outputVarType: 'Output Variable Type',
varNotSet: 'Variable not set',
noVarTip: 'Add the variables to be assigned',
type: {
@ -321,9 +340,13 @@ const translation = {
object: 'Object',
array: 'Array',
},
aggregationGroup: 'Aggregation Group',
aggregationGroupTip: 'Enabling this feature allows the variable aggregator to aggregate multiple sets of variables.',
addGroup: 'Add Group',
outputVars: {
output: 'Assigned variable value',
varDescribe: '{{groupName}} output',
},
setAssignVariable: 'Set assign variable',
},
tool: {
toAuthorize: 'To authorize',
@ -352,8 +375,42 @@ const translation = {
topicPlaceholder: 'Write your topic name',
addClass: 'Add Class',
instruction: 'Instruction',
instructionTip: 'Input additional instructions to help the question classifier better understand how to categorize questions.',
instructionPlaceholder: 'Write your instruction',
},
parameterExtractor: {
inputVar: 'Input Variable',
extractParameters: 'Extract Parameters',
importFromTool: 'Import from tools',
addExtractParameter: 'Add Extract Parameter',
addExtractParameterContent: {
name: 'Name',
namePlaceholder: 'Extract Parameter Name',
type: 'Type',
typePlaceholder: 'Extract Parameter Type',
description: 'Description',
descriptionPlaceholder: 'Extract Parameter Description',
required: 'Required',
requiredContent: 'Required is only used as a reference for model inference, and not for mandatory validation of parameter output.',
},
extractParametersNotSet: 'Extract Parameters not setup',
instruction: 'Instruction',
instructionTip: 'Input additional instructions to help the parameter extractor understand how to extract parameters.',
advancedSetting: 'Advanced Setting',
reasoningMode: 'Reasoning Mode',
reasoningModeTip: 'You can choose the appropriate reasoning mode based on the model\'s ability to respond to instructions for function calling or prompts.',
isSuccess: 'Is Success.On success the value is 1, on failure the value is 0.',
errorReason: 'Error Reason',
},
iteration: {
deleteTitle: 'Delete Iteration Node?',
deleteDesc: 'Deleting the iteration node will delete all child nodes',
input: 'Input',
output: 'Output Variables',
iteration_one: '{{count}} Iteration',
iteration_other: '{{count}} Iterations',
currentIteration: 'Current Iteration',
},
},
tracing: {
stopBy: 'Stop by {{user}}',