Browse Source

技能管理

CzRger 3 months ago
parent
commit
a6e81ab948

+ 1 - 1
web/app/components/base/tab-slider-new/index.tsx

@@ -19,7 +19,7 @@ const TabSliderNew: FC<TabSliderProps> = ({
   options,
 }) => {
   return (
-    <div className={cn(className, 'relative flex')}>
+    <div className={cn(className, 'relative flex items-center')}>
       {options.map(option => (
         <div
           key={option.value}

+ 3 - 0
web/app/components/header/index.tsx

@@ -7,6 +7,7 @@ import { Bars3Icon } from '@heroicons/react/20/solid'
 import AccountDropdown from './account-dropdown'
 import AppNav from './app-nav'
 import DatasetNav from './dataset-nav'
+import SkillNav from './skill-nav'
 import EnvNav from './env-nav'
 import PluginsNav from './plugins-nav'
 import ExploreNav from './explore-nav'
@@ -89,6 +90,7 @@ const Header = () => {
             {!isCurrentWorkspaceDatasetOperator && <AppNav />}
             {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && <DatasetNav />}
             {!isCurrentWorkspaceDatasetOperator && <ToolsNav className={navClassName} />}
+            {!isCurrentWorkspaceDatasetOperator && <SkillNav className={navClassName} />}
           </div>
         )
       }
@@ -106,6 +108,7 @@ const Header = () => {
             {!isCurrentWorkspaceDatasetOperator && <AppNav />}
             {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && <DatasetNav />}
             {!isCurrentWorkspaceDatasetOperator && <ToolsNav className={navClassName} />}
+            {!isCurrentWorkspaceDatasetOperator && <SkillNav className={navClassName} />}
           </div>
         )
       }

+ 37 - 0
web/app/components/header/skill-nav/index.tsx

@@ -0,0 +1,37 @@
+'use client'
+
+import { useTranslation } from 'react-i18next'
+import Link from 'next/link'
+import { useSelectedLayoutSegment } from 'next/navigation'
+import {
+  RiCpuFill,
+  RiCpuLine,
+} from '@remixicon/react'
+import classNames from '@/utils/classnames'
+type ToolsNavProps = {
+  className?: string
+}
+
+const SkillNav = ({ className }: ToolsNavProps) => {
+  const { t } = useTranslation()
+  const selectedSegment = useSelectedLayoutSegment()
+  const activated = selectedSegment === 'skill'
+
+  return (
+    <Link href="/skill" className={classNames(
+      'group text-sm font-medium',
+      activated && 'font-semibold bg-components-main-nav-nav-button-bg-active hover:bg-components-main-nav-nav-button-bg-active-hover shadow-md',
+      activated ? 'text-components-main-nav-nav-button-text-active' : 'text-components-main-nav-nav-button-text hover:bg-components-main-nav-nav-button-bg-hover',
+      className,
+    )}>
+      {
+        activated
+          ? <RiCpuFill className='mr-2 h-4 w-4' />
+          : <RiCpuLine className='mr-2 h-4 w-4' />
+      }
+      {t('common.menus.skill')}
+    </Link>
+  )
+}
+
+export default SkillNav

+ 25 - 0
web/app/components/workflow/hooks/use-workflow.ts

@@ -537,6 +537,31 @@ export const useWorkflowInit = () => {
   const handleFetchPreloadData = useCallback(async () => {
     try {
       const nodesDefaultConfigsData = await fetchNodesDefaultConfigs(`/apps/${appDetail?.id}/workflows/default-workflow-block-configs`)
+      nodesDefaultConfigsData.push({
+        type: 'intent-recon-train',
+        config: {
+          method: 'get',
+          authorization: {
+            type: 'no-auth',
+          },
+          body: {
+            type: 'none',
+          },
+          timeout: {
+            connect: 10,
+            read: 60,
+            write: 20,
+            max_connect_timeout: 10,
+            max_read_timeout: 60,
+            max_write_timeout: 20,
+          },
+        },
+        retry_config: {
+          max_retries: 3,
+          retry_interval: 2,
+          retry_enabled: true,
+        },
+      })
       const publishedWorkflow = await fetchPublishedWorkflow(`/apps/${appDetail?.id}/workflows/publish`)
       workflowStore.setState({
         nodesDefaultConfigs: nodesDefaultConfigsData.reduce((acc, block) => {

+ 1 - 0
web/i18n/zh-Hans/common.ts

@@ -147,6 +147,7 @@ const translation = {
     newApp: '创建应用',
     newDataset: '创建知识库',
     tools: '工具',
+    skill: '技能管理',
   },
   userProfile: {
     settings: '设置',