feat(workflow): enhance RAG recommended plugins structure and update related components

This commit is contained in:
twwu 2025-09-02 19:11:03 +08:00
parent 60da4c9048
commit fc4bc08796
3 changed files with 18 additions and 8 deletions

View File

@ -117,10 +117,12 @@ const AllTools = ({
const wrapElemRef = useRef<HTMLDivElement>(null)
const isSupportGroupView = [ToolTypeEnum.All, ToolTypeEnum.BuiltIn].includes(activeTab)
const isShowRAGRecommendations = isInRAGPipeline && activeTab === ToolTypeEnum.All && !searchText
const { data: ragRecommendedPlugins = [] } = useRAGRecommendedPlugins(isShowRAGRecommendations)
const isShowRAGRecommendations = isInRAGPipeline && activeTab === ToolTypeEnum.All && !searchText && tags.length === 0
const { data: ragRecommendedPlugins } = useRAGRecommendedPlugins(isShowRAGRecommendations)
const recommendedPlugins = useMemo(() => {
return ragRecommendedPlugins.filter(plugin => !plugin.installed)
if (ragRecommendedPlugins)
return [...ragRecommendedPlugins.installed_recommended_plugins]
return []
}, [ragRecommendedPlugins])
return (

View File

@ -448,8 +448,16 @@ export type ToolWithProvider = Collection & {
meta: PluginMeta
}
export type RAGRecommendedPlugin = ToolWithProvider & {
installed: boolean
export type UninstalledRecommendedPlugin = {
plugin_id: string
name: string
icon: string
plugin_unique_identifier: string
}
export type RAGRecommendedPlugins = {
installed_recommended_plugins: ToolWithProvider[]
uninstalled_recommended_plugins: UninstalledRecommendedPlugin[]
}
export enum SupportUploadFileTypes {

View File

@ -4,7 +4,7 @@ import type {
MCPServerDetail,
Tool,
} from '@/app/components/tools/types'
import type { RAGRecommendedPlugin, ToolWithProvider } from '@/app/components/workflow/types'
import type { RAGRecommendedPlugins, ToolWithProvider } from '@/app/components/workflow/types'
import type { AppIconType } from '@/types/app'
import { useInvalid } from './use-base'
import {
@ -313,9 +313,9 @@ export const useRemoveProviderCredentials = ({
}
export const useRAGRecommendedPlugins = (enabled: boolean) => {
return useQuery<RAGRecommendedPlugin[]>({
return useQuery<RAGRecommendedPlugins>({
queryKey: [NAME_SPACE, 'rag-recommended-plugins'],
queryFn: () => get<RAGRecommendedPlugin[]>('/rag/pipelines/recommended-plugins'),
queryFn: () => get<RAGRecommendedPlugins>('/rag/pipelines/recommended-plugins'),
enabled,
})
}