mirror of
https://github.com/langgenius/dify.git
synced 2026-04-05 19:32:16 +08:00
feat: Human Input Node (#32060)
The frontend and backend implementation for the human input node. Co-authored-by: twwu <twwu@dify.ai> Co-authored-by: JzoNg <jzongcode@gmail.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com> Co-authored-by: zhsama <torvalds@linux.do>
This commit is contained in:
@@ -511,6 +511,8 @@
|
||||
"promptEditor.placeholder": "Write your prompt word here, enter '{' to insert a variable, enter '/' to insert a prompt content block",
|
||||
"promptEditor.query.item.desc": "Insert user query template",
|
||||
"promptEditor.query.item.title": "Query",
|
||||
"promptEditor.requestURL.item.desc": "Insert request URL",
|
||||
"promptEditor.requestURL.item.title": "Request URL",
|
||||
"promptEditor.variable.item.desc": "Insert Variables & External Tools",
|
||||
"promptEditor.variable.item.title": "Variables & External Tools",
|
||||
"promptEditor.variable.modal.add": "New variable",
|
||||
|
||||
@@ -58,5 +58,15 @@
|
||||
"generation.tabs.create": "Run Once",
|
||||
"generation.tabs.saved": "Saved",
|
||||
"generation.title": "AI Completion",
|
||||
"humanInput.completed": "Seems like this request was dealt with elsewhere.",
|
||||
"humanInput.expirationTimeNowOrFuture": "This action will expire {{relativeTime}}.",
|
||||
"humanInput.expired": "Seems like this request has expired.",
|
||||
"humanInput.expiredTip": "This action has expired.",
|
||||
"humanInput.formNotFound": "Form not found.",
|
||||
"humanInput.rateLimitExceeded": "Too many requests, please try again later.",
|
||||
"humanInput.recorded": "Your input has been recorded.",
|
||||
"humanInput.sorry": "Sorry!",
|
||||
"humanInput.submissionID": "submission_id: {{id}}",
|
||||
"humanInput.thanks": "Thanks!",
|
||||
"login.backToHome": "Back to Home"
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"blocks.document-extractor": "Doc Extractor",
|
||||
"blocks.end": "Output",
|
||||
"blocks.http-request": "HTTP Request",
|
||||
"blocks.human-input": "Human Input",
|
||||
"blocks.if-else": "IF/ELSE",
|
||||
"blocks.iteration": "Iteration",
|
||||
"blocks.iteration-start": "Iteration Start",
|
||||
@@ -38,6 +39,7 @@
|
||||
"blocksAbout.document-extractor": "Used to parse uploaded documents into text content that is easily understandable by LLM.",
|
||||
"blocksAbout.end": "Define the output and result type of a workflow",
|
||||
"blocksAbout.http-request": "Allow server requests to be sent over the HTTP protocol",
|
||||
"blocksAbout.human-input": "Ask for human to confirm before generating the next step",
|
||||
"blocksAbout.if-else": "Allows you to split the workflow into two branches based on if/else conditions",
|
||||
"blocksAbout.iteration": "Perform multiple steps on a list object until all results are outputted.",
|
||||
"blocksAbout.iteration-start": "Iteration Start node",
|
||||
@@ -145,6 +147,9 @@
|
||||
"common.fileUploadTip": "Image upload features have been upgraded to file upload. ",
|
||||
"common.goBackToEdit": "Go back to editor",
|
||||
"common.handMode": "Hand Mode",
|
||||
"common.humanInputEmailTip": "Email (Delivery Method) sent to your configured recipients",
|
||||
"common.humanInputEmailTipInDebugMode": "Email (Delivery Method) sent to <email>{{email}}</email>",
|
||||
"common.humanInputWebappTip": "Debug preview only, user will not see this in web app.",
|
||||
"common.importDSL": "Import DSL",
|
||||
"common.importDSLTip": "Current draft will be overwritten.\nExport workflow as backup before importing.",
|
||||
"common.importFailure": "Import Failed",
|
||||
@@ -500,6 +505,104 @@
|
||||
"nodes.http.value": "Value",
|
||||
"nodes.http.verifySSL.title": "Verify SSL Certificate",
|
||||
"nodes.http.verifySSL.warningTooltip": "Disabling SSL verification is not recommended for production environments. This should only be used in development or testing, as it makes the connection vulnerable to security threats like man-in-the-middle attacks.",
|
||||
"nodes.humanInput.deliveryMethod.added": "Added",
|
||||
"nodes.humanInput.deliveryMethod.contactTip1": "Missing a delivery method you need?",
|
||||
"nodes.humanInput.deliveryMethod.contactTip2": "Tell us at <email>support@dify.ai</email>.",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.allMembers": "All members ({{workspaceName}})",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.body": "Body",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.bodyPlaceholder": "Enter email body",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.debugMode": "Debug Mode",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.debugModeTip1": "In debug mode, the email will only be sent to your account email <email>{{email}}</email>.",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.debugModeTip2": "The production environment is not affected.",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.description": "Send request for input via email",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.memberSelector.add": "+ Add",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.memberSelector.added": "Added",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.memberSelector.placeholder": "Email, comma separated",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.memberSelector.title": "Add workspace members or external recipients",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.memberSelector.trigger": "Select",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.recipient": "Recipient",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.requestURLTip": "The request URL variable is the trigger entry for human input.",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.subject": "Subject",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.subjectPlaceholder": "Enter email subject",
|
||||
"nodes.humanInput.deliveryMethod.emailConfigure.title": "Email Configuration",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.debugDone": "A test email has been sent to <email>{{email}}</email>. Please check your inbox.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.debugModeTip": "Debug mode is enabled.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.debugModeTip2": "Email will be sent to <email>{{email}}</email>.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.done": "Email Sent",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.optional": "(optional)",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.send": "Send Email",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.testSendTip": "Send test emails to your configured recipients",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.testSendTipInDebugMode": "Send a test email to {{email}}",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.tip": "It is recommended to <strong>enable Debug Mode</strong> for testing email delivery.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.title": "Test Email Sender",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.vars": "Variables in Form Content",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.varsTip": "Fill in form variables to emulate what recipients actually see.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.wholeTeamDone1": "Email has been sent to <team>{{team}}</team> members and the following email addresses:",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.wholeTeamDone2": "Email has been sent to <team>{{team}}</team> members.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.wholeTeamDone3": "Email has been sent to the following email addresses:",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.wholeTeamTip1": "Email will be sent to <team>{{team}}</team> members and the following email addresses:",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.wholeTeamTip2": "Email will be sent to <team>{{team}}</team> members.",
|
||||
"nodes.humanInput.deliveryMethod.emailSender.wholeTeamTip3": "Email will be sent to the following email addresses:",
|
||||
"nodes.humanInput.deliveryMethod.emptyTip": "No delivery method added, the operation cannot be triggered.",
|
||||
"nodes.humanInput.deliveryMethod.notAvailableInTriggerMode": "Not available",
|
||||
"nodes.humanInput.deliveryMethod.notConfigured": "Not configured",
|
||||
"nodes.humanInput.deliveryMethod.title": "Delivery Method",
|
||||
"nodes.humanInput.deliveryMethod.tooltip": "How the human input form is delivered to the user.",
|
||||
"nodes.humanInput.deliveryMethod.types.discord.description": "Send request for input via Discord",
|
||||
"nodes.humanInput.deliveryMethod.types.discord.title": "Discord",
|
||||
"nodes.humanInput.deliveryMethod.types.email.description": "Send request for input via email",
|
||||
"nodes.humanInput.deliveryMethod.types.email.title": "Email",
|
||||
"nodes.humanInput.deliveryMethod.types.slack.description": "Send request for input via Slack",
|
||||
"nodes.humanInput.deliveryMethod.types.slack.title": "Slack",
|
||||
"nodes.humanInput.deliveryMethod.types.teams.description": "Send request for input via Teams",
|
||||
"nodes.humanInput.deliveryMethod.types.teams.title": "Teams",
|
||||
"nodes.humanInput.deliveryMethod.types.webapp.description": "Display to end-user in webapp",
|
||||
"nodes.humanInput.deliveryMethod.types.webapp.title": "Webapp",
|
||||
"nodes.humanInput.deliveryMethod.upgradeTip": "Unlock Email delivery for Human Input",
|
||||
"nodes.humanInput.deliveryMethod.upgradeTipContent": "Send confirmation requests via email before agents take action — useful for publishing and approval workflows.",
|
||||
"nodes.humanInput.deliveryMethod.upgradeTipHide": "Dismiss",
|
||||
"nodes.humanInput.editor.previewTip": "In preview mode, action buttons are not functional.",
|
||||
"nodes.humanInput.errorMsg.duplicateActionId": "Duplicate action ID found in user actions",
|
||||
"nodes.humanInput.errorMsg.emptyActionId": "Action ID cannot be empty",
|
||||
"nodes.humanInput.errorMsg.emptyActionTitle": "Action title cannot be empty",
|
||||
"nodes.humanInput.errorMsg.noDeliveryMethod": "Please select at least one delivery method",
|
||||
"nodes.humanInput.errorMsg.noDeliveryMethodEnabled": "Please enable at least one delivery method",
|
||||
"nodes.humanInput.errorMsg.noUserActions": "Please add at least one user action",
|
||||
"nodes.humanInput.formContent.hotkeyTip": "Press <Key/> to insert variable, <CtrlKey/><Key/> to insert input field",
|
||||
"nodes.humanInput.formContent.placeholder": "Type content here",
|
||||
"nodes.humanInput.formContent.preview": "Preview",
|
||||
"nodes.humanInput.formContent.title": "Form Content",
|
||||
"nodes.humanInput.formContent.tooltip": "What users will see after opening the form. Supports Markdown formatting.",
|
||||
"nodes.humanInput.insertInputField.insert": "Insert",
|
||||
"nodes.humanInput.insertInputField.prePopulateField": "Pre-populate Field",
|
||||
"nodes.humanInput.insertInputField.prePopulateFieldPlaceholder": "Add <staticContent/> or <variable/> users will see this content initially, or leave empty.",
|
||||
"nodes.humanInput.insertInputField.saveResponseAs": "Save Response As",
|
||||
"nodes.humanInput.insertInputField.saveResponseAsPlaceholder": "Name this variable for later reference",
|
||||
"nodes.humanInput.insertInputField.staticContent": "Static Content",
|
||||
"nodes.humanInput.insertInputField.title": "Insert Input Field",
|
||||
"nodes.humanInput.insertInputField.useConstantInstead": "Use Constant Instead",
|
||||
"nodes.humanInput.insertInputField.useVarInstead": "Use Variable Instead",
|
||||
"nodes.humanInput.insertInputField.variable": "variable",
|
||||
"nodes.humanInput.insertInputField.variableNameInvalid": "Variable name can only contain letters, numbers, and underscores, and cannot start with a number",
|
||||
"nodes.humanInput.log.backstageInputURL": "Backstage input URL:",
|
||||
"nodes.humanInput.log.reason": "Reason:",
|
||||
"nodes.humanInput.log.reasonContent": "Human input required to proceed",
|
||||
"nodes.humanInput.singleRun.back": "Back",
|
||||
"nodes.humanInput.singleRun.button": "Generate Form",
|
||||
"nodes.humanInput.singleRun.label": "Form variables",
|
||||
"nodes.humanInput.timeout.days": "Days",
|
||||
"nodes.humanInput.timeout.hours": "Hours",
|
||||
"nodes.humanInput.timeout.title": "Timeout",
|
||||
"nodes.humanInput.userActions.actionIdFormatTip": "Action ID must start with a letter or underscores, followed by letters, numbers, or underscores",
|
||||
"nodes.humanInput.userActions.actionIdTooLong": "Action ID must be {{maxLength}} characters or less",
|
||||
"nodes.humanInput.userActions.actionNamePlaceholder": "Action Name",
|
||||
"nodes.humanInput.userActions.buttonTextPlaceholder": "Button display Text",
|
||||
"nodes.humanInput.userActions.buttonTextTooLong": "Button text must be {{maxLength}} characters or less",
|
||||
"nodes.humanInput.userActions.chooseStyle": "Choose a button style",
|
||||
"nodes.humanInput.userActions.emptyTip": "Click the '+' button to add user actions",
|
||||
"nodes.humanInput.userActions.title": "User Actions",
|
||||
"nodes.humanInput.userActions.tooltip": "Define buttons that users can click to respond to this form. Each button can trigger different workflow paths. Action ID must start with a letter or underscores, followed by letters, numbers, or underscores.",
|
||||
"nodes.humanInput.userActions.triggered": "<strong>{{actionName}}</strong> has been triggered",
|
||||
"nodes.ifElse.addCondition": "Add Condition",
|
||||
"nodes.ifElse.addSubVariable": "Sub Variable",
|
||||
"nodes.ifElse.and": "and",
|
||||
|
||||
Reference in New Issue
Block a user