diff --git a/web/app/components/workflow/skill/start-tab/create-import-section.tsx b/web/app/components/workflow/skill/start-tab/create-import-section.tsx index a4478d0e0c..854c0801a4 100644 --- a/web/app/components/workflow/skill/start-tab/create-import-section.tsx +++ b/web/app/components/workflow/skill/start-tab/create-import-section.tsx @@ -17,7 +17,7 @@ const CreateImportSection = () => { return ( <> -
+
} title={t('skill.startTab.createBlankSkill')} diff --git a/web/app/components/workflow/skill/start-tab/file-explorer-intro.tsx b/web/app/components/workflow/skill/start-tab/file-explorer-intro.tsx new file mode 100644 index 0000000000..f94a996510 --- /dev/null +++ b/web/app/components/workflow/skill/start-tab/file-explorer-intro.tsx @@ -0,0 +1,26 @@ +'use client' + +import { memo } from 'react' +import { Trans } from 'react-i18next' + +const FileExplorerIntro = () => { + return ( +
+

+ + @ + + ), + }} + /> +

+
+ ) +} + +export default memo(FileExplorerIntro) diff --git a/web/app/components/workflow/skill/start-tab/index.spec.tsx b/web/app/components/workflow/skill/start-tab/index.spec.tsx index 0b0a18a391..7d00992ff0 100644 --- a/web/app/components/workflow/skill/start-tab/index.spec.tsx +++ b/web/app/components/workflow/skill/start-tab/index.spec.tsx @@ -55,6 +55,7 @@ describe('StartTabContent', () => { it('should render create/import actions and template list when mounted', () => { const { container } = render() + expect(screen.getByText('skill.startTab.fileExplorerIntro')).toBeInTheDocument() expect(screen.getByRole('button', { name: /workflow\.skill\.startTab\.createBlankSkill/i })).toBeInTheDocument() expect(screen.getByRole('button', { name: /workflow\.skill\.startTab\.importSkill/i })).toBeInTheDocument() expect(screen.getByRole('textbox')).toBeInTheDocument() diff --git a/web/app/components/workflow/skill/start-tab/index.tsx b/web/app/components/workflow/skill/start-tab/index.tsx index 9fe611cbb5..b5af679018 100644 --- a/web/app/components/workflow/skill/start-tab/index.tsx +++ b/web/app/components/workflow/skill/start-tab/index.tsx @@ -4,6 +4,7 @@ import { memo } from 'react' import { useTranslation } from 'react-i18next' import { ScrollArea } from '@/app/components/base/ui/scroll-area' import CreateImportSection from './create-import-section' +import FileExplorerIntro from './file-explorer-intro' import SkillTemplatesSection from './skill-templates-section' const StartTabContent = () => { @@ -19,6 +20,7 @@ const StartTabContent = () => { scrollbar: 'z-20', }} > + diff --git a/web/i18n/en-US/workflow.json b/web/i18n/en-US/workflow.json index b7920dba09..65f2c522ab 100644 --- a/web/i18n/en-US/workflow.json +++ b/web/i18n/en-US/workflow.json @@ -1232,6 +1232,7 @@ "skill.startTab.createModal.namePlaceholder": "Enter skill name", "skill.startTab.createModal.title": "Create Blank Skill", "skill.startTab.createSuccess": "Skill \"{{name}}\" created successfully", + "skill.startTab.fileExplorerIntro": "Manage uploaded files and folders here. In the Agent node's Prompt editor, select any uploaded file or folder and type @ to reference it.", "skill.startTab.filesIncluded": "{{count}} files included", "skill.startTab.importModal.browseFiles": "Browse Files", "skill.startTab.importModal.changeFile": "Change File", diff --git a/web/i18n/zh-Hans/workflow.json b/web/i18n/zh-Hans/workflow.json index e2fc113434..bc6f072d30 100644 --- a/web/i18n/zh-Hans/workflow.json +++ b/web/i18n/zh-Hans/workflow.json @@ -1230,6 +1230,7 @@ "skill.startTab.createModal.namePlaceholder": "输入 Skill 名称", "skill.startTab.createModal.title": "创建空白 Skill", "skill.startTab.createSuccess": "Skill \"{{name}}\" 创建成功", + "skill.startTab.fileExplorerIntro": "在此管理已上传的文件与目录。在 Agent 节点的 Prompt 编辑器中,可选择任意已上传的文件或目录,输入 @ 即可调用。", "skill.startTab.filesIncluded": "包含 {{count}} 个文件", "skill.startTab.importModal.browseFiles": "浏览文件", "skill.startTab.importModal.changeFile": "更换文件",