From e75bbdbc0d63a9e63650d6ace2f3914c060226a8 Mon Sep 17 00:00:00 2001 From: JzoNg Date: Sun, 26 Oct 2025 18:01:05 +0800 Subject: [PATCH] add other delivery methods --- .../base/icons/assets/public/other/slack.svg | 6 + .../base/icons/assets/public/other/teams.svg | 19 +++ .../base/icons/src/public/other/Slack.json | 61 ++++++++ .../base/icons/src/public/other/Slack.tsx | 20 +++ .../base/icons/src/public/other/Teams.json | 146 ++++++++++++++++++ .../base/icons/src/public/other/Teams.tsx | 20 +++ .../base/icons/src/public/other/index.ts | 2 + .../delivery-method/email-configure-modal.tsx | 2 +- .../delivery-method/method-selector.tsx | 76 ++++++++- .../workflow/nodes/human-input/types.ts | 2 + web/i18n/en-US/workflow.ts | 10 ++ web/i18n/zh-Hans/workflow.ts | 10 ++ 12 files changed, 368 insertions(+), 6 deletions(-) create mode 100644 web/app/components/base/icons/assets/public/other/slack.svg create mode 100644 web/app/components/base/icons/assets/public/other/teams.svg create mode 100644 web/app/components/base/icons/src/public/other/Slack.json create mode 100644 web/app/components/base/icons/src/public/other/Slack.tsx create mode 100644 web/app/components/base/icons/src/public/other/Teams.json create mode 100644 web/app/components/base/icons/src/public/other/Teams.tsx diff --git a/web/app/components/base/icons/assets/public/other/slack.svg b/web/app/components/base/icons/assets/public/other/slack.svg new file mode 100644 index 0000000000..656c4c2326 --- /dev/null +++ b/web/app/components/base/icons/assets/public/other/slack.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/web/app/components/base/icons/assets/public/other/teams.svg b/web/app/components/base/icons/assets/public/other/teams.svg new file mode 100644 index 0000000000..cdcc6a6242 --- /dev/null +++ b/web/app/components/base/icons/assets/public/other/teams.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/web/app/components/base/icons/src/public/other/Slack.json b/web/app/components/base/icons/src/public/other/Slack.json new file mode 100644 index 0000000000..8da6e19123 --- /dev/null +++ b/web/app/components/base/icons/src/public/other/Slack.json @@ -0,0 +1,61 @@ +{ + "icon": { + "type": "element", + "isRootNode": true, + "name": "svg", + "attributes": { + "width": "27", + "height": "27", + "viewBox": "0 0 27 27", + "fill": "none", + "xmlns": "http://www.w3.org/2000/svg" + }, + "children": [ + { + "type": "element", + "name": "path", + "attributes": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M9.625 0C9.27992 0.000320434 8.93828 0.0686147 8.6196 0.200983C8.30091 0.333351 8.01142 0.527199 7.76766 0.771458C7.5239 1.01572 7.33064 1.3056 7.19893 1.62456C7.06721 1.94351 6.99962 2.28529 7 2.63037C6.99968 2.97541 7.06732 3.31714 7.19907 3.63603C7.33081 3.95493 7.52408 4.24476 7.76783 4.48897C8.01159 4.73317 8.30105 4.92698 8.61971 5.05932C8.93836 5.19165 9.27996 5.25993 9.625 5.26025H12.25V2.63037C12.2504 2.28529 12.1828 1.94351 12.0511 1.62456C11.9194 1.3056 11.7261 1.01572 11.4823 0.771458C11.2386 0.527199 10.9491 0.333351 10.6304 0.200983C10.3117 0.0686147 9.97008 0.000320434 9.625 0ZM9.625 7.01416H2.625C2.27996 7.01448 1.93836 7.08276 1.61971 7.21509C1.30106 7.34743 1.01159 7.54124 0.767835 7.78544C0.524081 8.02965 0.330814 8.31948 0.199069 8.63838C0.0673241 8.95728 -0.000319124 9.299 1.63476e-06 9.64404C-0.000383292 9.98912 0.0672126 10.3309 0.198929 10.6499C0.330645 10.9688 0.523902 11.2587 0.767662 11.503C1.01142 11.7472 1.30091 11.9411 1.6196 12.0734C1.93828 12.2058 2.27992 12.2741 2.625 12.2744H9.625C9.97008 12.2741 10.3117 12.2058 10.6304 12.0734C10.9491 11.9411 11.2386 11.7472 11.4823 11.503C11.7261 11.2587 11.9194 10.9688 12.0511 10.6499C12.1828 10.3309 12.2504 9.98912 12.25 9.64404C12.2503 9.299 12.1827 8.95728 12.0509 8.63838C11.9192 8.31948 11.7259 8.02965 11.4822 7.78544C11.2384 7.54124 10.9489 7.34743 10.6303 7.21509C10.3116 7.08276 9.97004 7.01448 9.625 7.01416Z", + "fill": "#44BEDF" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M26.25 9.64404C26.2503 9.299 26.1827 8.95728 26.0509 8.63838C25.9192 8.31948 25.7259 8.02965 25.4822 7.78544C25.2384 7.54124 24.9489 7.34743 24.6303 7.21509C24.3116 7.08276 23.97 7.01448 23.625 7.01416C23.28 7.01448 22.9384 7.08276 22.6197 7.21509C22.3011 7.34743 22.0116 7.54124 21.7678 7.78544C21.5241 8.02965 21.3308 8.31948 21.1991 8.63838C21.0673 8.95728 20.9997 9.299 21 9.64404V12.2744H23.625C23.9701 12.2741 24.3117 12.2058 24.6304 12.0734C24.9491 11.9411 25.2386 11.7472 25.4823 11.503C25.7261 11.2587 25.9194 10.9688 26.0511 10.6499C26.1828 10.3309 26.2504 9.98912 26.25 9.64404ZM19.25 9.64404V2.63037C19.2504 2.28529 19.1828 1.94351 19.0511 1.62456C18.9194 1.3056 18.7261 1.01572 18.4823 0.771458C18.2386 0.527199 17.9491 0.333351 17.6304 0.200983C17.3117 0.0686147 16.9701 0.000320434 16.625 0C16.2799 0.000320434 15.9383 0.0686147 15.6196 0.200983C15.3009 0.333351 15.0114 0.527199 14.7677 0.771458C14.5239 1.01572 14.3306 1.3056 14.1989 1.62456C14.0672 1.94351 13.9996 2.28529 14 2.63037V9.64404C13.9996 9.98912 14.0672 10.3309 14.1989 10.6499C14.3306 10.9688 14.5239 11.2587 14.7677 11.503C15.0114 11.7472 15.3009 11.9411 15.6196 12.0734C15.9383 12.2058 16.2799 12.2741 16.625 12.2744C16.9701 12.2741 17.3117 12.2058 17.6304 12.0734C17.9491 11.9411 18.2386 11.7472 18.4823 11.503C18.7261 11.2587 18.9194 10.9688 19.0511 10.6499C19.1828 10.3309 19.2504 9.98912 19.25 9.64404Z", + "fill": "#2EB67D" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M16.625 26.302C16.9701 26.3017 17.3117 26.2334 17.6304 26.101C17.9491 25.9686 18.2386 25.7748 18.4823 25.5305C18.7261 25.2863 18.9194 24.9964 19.0511 24.6774C19.1828 24.3585 19.2504 24.0167 19.25 23.6716C19.2503 23.3266 19.1827 22.9849 19.0509 22.666C18.9192 22.3471 18.7259 22.0572 18.4822 21.813C18.2384 21.5688 17.9489 21.375 17.6303 21.2427C17.3116 21.1103 16.97 21.0421 16.625 21.0417H14V23.6716C13.9996 24.0167 14.0672 24.3585 14.1989 24.6774C14.3306 24.9964 14.5239 25.2863 14.7677 25.5305C15.0114 25.7748 15.3009 25.9686 15.6196 26.101C15.9383 26.2334 16.2799 26.3017 16.625 26.302ZM16.625 19.2878H23.625C23.97 19.2875 24.3116 19.2192 24.6303 19.0869C24.9489 18.9546 25.2384 18.7608 25.4822 18.5166C25.7259 18.2723 25.9192 17.9825 26.0509 17.6636C26.1827 17.3447 26.2503 17.003 26.25 16.658C26.2504 16.3129 26.1828 15.9711 26.0511 15.6521C25.9194 15.3332 25.7261 15.0433 25.4823 14.799C25.2386 14.5548 24.9491 14.3609 24.6304 14.2286C24.3117 14.0962 23.9701 14.0279 23.625 14.0276H16.625C16.2799 14.0279 15.9383 14.0962 15.6196 14.2286C15.3009 14.3609 15.0114 14.5548 14.7677 14.799C14.5239 15.0433 14.3306 15.3332 14.1989 15.6521C14.0672 15.9711 13.9996 16.3129 14 16.658C13.9997 17.003 14.0673 17.3447 14.1991 17.6636C14.3308 17.9825 14.5241 18.2723 14.7678 18.5166C15.0116 18.7608 15.3011 18.9546 15.6197 19.0869C15.9384 19.2192 16.28 19.2875 16.625 19.2878Z", + "fill": "#ECB22E" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M2.22485e-06 16.658C-0.000318534 17.003 0.0673247 17.3447 0.19907 17.6636C0.330815 17.9825 0.524081 18.2723 0.767835 18.5166C1.01159 18.7608 1.30106 18.9546 1.61971 19.0869C1.93836 19.2192 2.27996 19.2875 2.625 19.2878C2.97004 19.2875 3.31164 19.2192 3.63029 19.0869C3.94895 18.9546 4.23841 18.7608 4.48217 18.5166C4.72592 18.2723 4.91919 17.9825 5.05093 17.6636C5.18268 17.3447 5.25032 17.003 5.25 16.658V14.0276H2.625C2.27988 14.0279 1.9382 14.0962 1.61948 14.2286C1.30077 14.361 1.01126 14.5549 0.76749 14.7992C0.523723 15.0435 0.330477 15.3335 0.198789 15.6525C0.0671016 15.9715 -0.000446885 16.3128 2.22485e-06 16.658ZM7 16.658V23.6716C6.99962 24.0167 7.06721 24.3585 7.19893 24.6774C7.33064 24.9964 7.5239 25.2863 7.76766 25.5305C8.01142 25.7748 8.30091 25.9686 8.6196 26.101C8.93828 26.2334 9.27992 26.3017 9.625 26.302C9.97008 26.3017 10.3117 26.2334 10.6304 26.101C10.9491 25.9686 11.2386 25.7748 11.4823 25.5305C11.7261 25.2863 11.9194 24.9964 12.0511 24.6774C12.1828 24.3585 12.2504 24.0167 12.25 23.6716V16.6584C12.2504 16.3134 12.1828 15.9716 12.0511 15.6526C11.9194 15.3337 11.7261 15.0438 11.4823 14.7995C11.2386 14.5553 10.9491 14.3614 10.6304 14.2291C10.3117 14.0967 9.97008 14.0284 9.625 14.0281C9.27992 14.0284 8.93828 14.0967 8.6196 14.2291C8.30091 14.3614 8.01142 14.5553 7.76766 14.7995C7.5239 15.0438 7.33064 15.3337 7.19893 15.6526C7.06721 15.9716 6.99962 16.3129 7 16.658Z", + "fill": "#E01E5A" + }, + "children": [] + } + ] + }, + "name": "Slack" +} diff --git a/web/app/components/base/icons/src/public/other/Slack.tsx b/web/app/components/base/icons/src/public/other/Slack.tsx new file mode 100644 index 0000000000..9b9d60fdbd --- /dev/null +++ b/web/app/components/base/icons/src/public/other/Slack.tsx @@ -0,0 +1,20 @@ +// GENERATE BY script +// DON NOT EDIT IT MANUALLY + +import * as React from 'react' +import data from './Slack.json' +import IconBase from '@/app/components/base/icons/IconBase' +import type { IconData } from '@/app/components/base/icons/IconBase' + +const Icon = ( + { + ref, + ...props + }: React.SVGProps & { + ref?: React.RefObject>; + }, +) => + +Icon.displayName = 'Slack' + +export default Icon diff --git a/web/app/components/base/icons/src/public/other/Teams.json b/web/app/components/base/icons/src/public/other/Teams.json new file mode 100644 index 0000000000..74ecbe63de --- /dev/null +++ b/web/app/components/base/icons/src/public/other/Teams.json @@ -0,0 +1,146 @@ +{ + "icon": { + "type": "element", + "isRootNode": true, + "name": "svg", + "attributes": { + "width": "28", + "height": "28", + "viewBox": "0 0 28 28", + "fill": "none", + "xmlns": "http://www.w3.org/2000/svg" + }, + "children": [ + { + "type": "element", + "name": "g", + "attributes": { + "clip-path": "url(#clip0_20307_29670)" + }, + "children": [ + { + "type": "element", + "name": "path", + "attributes": { + "opacity": "0.1", + "d": "M9.33332 11.8067V20.4167C9.33204 21.432 9.57619 22.4327 10.045 23.3333H15.8783C16.2912 23.305 16.6807 23.1312 16.9776 22.8428C17.2745 22.5545 17.4596 22.1702 17.5 21.7583V10.5H17.1733H10.64C10.2934 10.5 9.96108 10.6377 9.71603 10.8827C9.47098 11.1278 9.33332 11.4601 9.33332 11.8067Z", + "fill": "black" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "opacity": "0.1", + "d": "M16.135 7H12.635C12.8805 7.78672 13.3726 8.47355 14.0386 8.9589C14.7047 9.44425 15.5093 9.70234 16.3333 9.695C16.7301 9.68885 17.1235 9.62197 17.5 9.49667V8.33C17.488 7.97504 17.3392 7.63847 17.0849 7.39061C16.8305 7.14276 16.4902 7.00281 16.135 7Z", + "fill": "black" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M26.6817 10.5H20.8484L19.2267 11.8183V18.34C19.2846 19.4628 19.7715 20.5204 20.5867 21.2946C21.4019 22.0689 22.4833 22.5005 23.6075 22.5005C24.7318 22.5005 25.8131 22.0689 26.6283 21.2946C27.4436 20.5204 27.9304 19.4628 27.9884 18.34V11.8183C27.9899 11.6458 27.9572 11.4746 27.8923 11.3147C27.8273 11.1548 27.7313 11.0094 27.6098 10.8868C27.4883 10.7643 27.3437 10.667 27.1844 10.6006C27.0251 10.5342 26.8543 10.5 26.6817 10.5Z", + "fill": "#5059C9" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M23.9167 9.33333C25.5275 9.33333 26.8333 8.0275 26.8333 6.41667C26.8333 4.80584 25.5275 3.5 23.9167 3.5C22.3058 3.5 21 4.80584 21 6.41667C21 8.0275 22.3058 9.33333 23.9167 9.33333Z", + "fill": "#5059C9" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M10.64 10.5H20.86C21.2065 10.5 21.5389 10.6377 21.7839 10.8827C22.029 11.1278 22.1666 11.4601 22.1666 11.8067V20.4167C22.1666 22.1185 21.4906 23.7506 20.2872 24.9539C19.0839 26.1573 17.4518 26.8333 15.75 26.8333C14.0482 26.8333 12.4161 26.1573 11.2127 24.9539C10.0094 23.7506 9.33331 22.1185 9.33331 20.4167V11.8067C9.33331 11.4601 9.47098 11.1278 9.71603 10.8827C9.96107 10.6377 10.2934 10.5 10.64 10.5Z", + "fill": "#7B83EB" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M16.3333 9.69477C18.4661 9.69477 20.195 7.96584 20.195 5.8331C20.195 3.70036 18.4661 1.97144 16.3333 1.97144C14.2006 1.97144 12.4717 3.70036 12.4717 5.8331C12.4717 7.96584 14.2006 9.69477 16.3333 9.69477Z", + "fill": "#7B83EB" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "opacity": "0.5", + "d": "M9.33332 11.8067V20.4167C9.33204 21.432 9.57619 22.4327 10.045 23.3333H15.8783C16.2912 23.305 16.6807 23.1312 16.9776 22.8428C17.2745 22.5545 17.4596 22.1702 17.5 21.7583V10.5H17.1733H10.64C10.2934 10.5 9.96108 10.6377 9.71603 10.8827C9.47098 11.1278 9.33332 11.4601 9.33332 11.8067Z", + "fill": "black" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "opacity": "0.5", + "d": "M16.135 7H12.635C12.8805 7.78672 13.3726 8.47355 14.0386 8.9589C14.7047 9.44425 15.5093 9.70234 16.3333 9.695C16.7301 9.68885 17.1235 9.62197 17.5 9.49667V8.33C17.488 7.97504 17.3392 7.63847 17.0849 7.39061C16.8305 7.14276 16.4902 7.00281 16.135 7Z", + "fill": "black" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M14.9683 5.83325H1.365C0.611131 5.83325 0 6.44438 0 7.19825V20.8016C0 21.5555 0.611131 22.1666 1.365 22.1666H14.9683C15.7222 22.1666 16.3333 21.5555 16.3333 20.8016V7.19825C16.3333 6.44438 15.7222 5.83325 14.9683 5.83325Z", + "fill": "#4B53BC" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M11.8767 11.1766H9.08833V18.6666H7.25666V11.1766H4.45667V9.33325H11.8767V11.1766Z", + "fill": "white" + }, + "children": [] + } + ] + }, + { + "type": "element", + "name": "defs", + "attributes": {}, + "children": [ + { + "type": "element", + "name": "clipPath", + "attributes": { + "id": "clip0_20307_29670" + }, + "children": [ + { + "type": "element", + "name": "rect", + "attributes": { + "width": "28", + "height": "28", + "fill": "white" + }, + "children": [] + } + ] + } + ] + } + ] + }, + "name": "Teams" +} diff --git a/web/app/components/base/icons/src/public/other/Teams.tsx b/web/app/components/base/icons/src/public/other/Teams.tsx new file mode 100644 index 0000000000..00e4a2af44 --- /dev/null +++ b/web/app/components/base/icons/src/public/other/Teams.tsx @@ -0,0 +1,20 @@ +// GENERATE BY script +// DON NOT EDIT IT MANUALLY + +import * as React from 'react' +import data from './Teams.json' +import IconBase from '@/app/components/base/icons/IconBase' +import type { IconData } from '@/app/components/base/icons/IconBase' + +const Icon = ( + { + ref, + ...props + }: React.SVGProps & { + ref?: React.RefObject>; + }, +) => + +Icon.displayName = 'Teams' + +export default Icon diff --git a/web/app/components/base/icons/src/public/other/index.ts b/web/app/components/base/icons/src/public/other/index.ts index a7558ca0ab..a4d4e4359e 100644 --- a/web/app/components/base/icons/src/public/other/index.ts +++ b/web/app/components/base/icons/src/public/other/index.ts @@ -2,3 +2,5 @@ export { default as Icon3Dots } from './Icon3Dots' export { default as DefaultToolIcon } from './DefaultToolIcon' export { default as Message3Fill } from './Message3Fill' export { default as RowStruct } from './RowStruct' +export { default as Slack } from './Slack' +export { default as Teams } from './Teams' diff --git a/web/app/components/workflow/nodes/human-input/components/delivery-method/email-configure-modal.tsx b/web/app/components/workflow/nodes/human-input/components/delivery-method/email-configure-modal.tsx index ec435ff248..27813ac20f 100644 --- a/web/app/components/workflow/nodes/human-input/components/delivery-method/email-configure-modal.tsx +++ b/web/app/components/workflow/nodes/human-input/components/delivery-method/email-configure-modal.tsx @@ -135,7 +135,7 @@ const EmailConfigureModal = ({
-
+
{t(`${i18nPrefix}.deliveryMethod.emailConfigure.debugMode`)}
= ({ }) }} > -
method.type === DeliveryMethodType.WebApp) && 'opacity-50')}> - +
method.type === DeliveryMethodType.WebApp) && 'opacity-50')}> +
method.type === DeliveryMethodType.WebApp) && 'opacity-50')}>
{t(`${i18nPrefix}.deliveryMethod.types.webapp.title`)}
@@ -93,8 +98,8 @@ const MethodSelector: FC = ({ }) }} > -
method.type === DeliveryMethodType.Email) && 'opacity-50')}> - +
method.type === DeliveryMethodType.Email) && 'opacity-50')}> +
method.type === DeliveryMethodType.Email) && 'opacity-50')}>
{t(`${i18nPrefix}.deliveryMethod.types.email.title`)}
@@ -104,8 +109,69 @@ const MethodSelector: FC = ({
{t(`${i18nPrefix}.deliveryMethod.added`)}
)}
+ {/* Slack */} +
+
+ +
+
+
{t(`${i18nPrefix}.deliveryMethod.types.slack.title`)}
+
{t(`${i18nPrefix}.deliveryMethod.types.slack.description`)}
+
+
+ COMING SOON +
+
+ {/* Teams */} +
+
+ +
+
+
{t(`${i18nPrefix}.deliveryMethod.types.teams.title`)}
+
{t(`${i18nPrefix}.deliveryMethod.types.teams.description`)}
+
+
+ COMING SOON +
+
+ {/* Discord */} +
+
+ +
+
+
{t(`${i18nPrefix}.deliveryMethod.types.discord.title`)}
+
{t(`${i18nPrefix}.deliveryMethod.types.discord.description`)}
+
+
+ COMING SOON +
+
+ {!IS_CE_EDITION && ( +
+
+
+ +
+
+
{t(`${i18nPrefix}.deliveryMethod.contactTip1`)}
+ support@dify.ai }} + /> +
+
+
+ )} ) diff --git a/web/app/components/workflow/nodes/human-input/types.ts b/web/app/components/workflow/nodes/human-input/types.ts index 2f55095db5..4a2b30e10c 100644 --- a/web/app/components/workflow/nodes/human-input/types.ts +++ b/web/app/components/workflow/nodes/human-input/types.ts @@ -14,6 +14,8 @@ export enum DeliveryMethodType { WebApp = 'webapp', Email = 'email', Slack = 'slack', + Teams = 'teams', + Discord = 'discord', } export type Recipient = { diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts index 6e263ff414..f7fbcde8a3 100644 --- a/web/i18n/en-US/workflow.ts +++ b/web/i18n/en-US/workflow.ts @@ -960,7 +960,17 @@ const translation = { title: 'Slack', description: 'Send request for input via Slack', }, + teams: { + title: 'Teams', + description: 'Send request for input via Teams', + }, + discord: { + title: 'Discord', + description: 'Send request for input via Discord', + }, }, + contactTip1: 'Missing a delivery method you need?', + contactTip2: 'Tell us at support@dify.ai.', added: 'Added', notConfigured: 'Not configured', emailConfigure: { diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts index 033855d06f..0c1e76fe14 100644 --- a/web/i18n/zh-Hans/workflow.ts +++ b/web/i18n/zh-Hans/workflow.ts @@ -960,7 +960,17 @@ const translation = { title: 'Slack', description: '通过 Slack 发送输入请求', }, + teams: { + title: 'Teams', + description: '通过 Teams 发送输入请求', + }, + discord: { + title: 'Discord', + description: '通过 Discord 发送输入请求', + }, }, + contactTip1: '缺少所需的提交方式?', + contactTip2: '请告诉我们 support@dify.ai', added: '已添加', notConfigured: '未配置', emailConfigure: {