diff --git a/backend/open_webui/tools/builtin.py b/backend/open_webui/tools/builtin.py index f6631691d3..4315c7ffa7 100644 --- a/backend/open_webui/tools/builtin.py +++ b/backend/open_webui/tools/builtin.py @@ -2358,7 +2358,8 @@ async def list_knowledge( ) -> str: """ List knowledge bases, files, and notes attached to the current model. - Use this first to discover what knowledge is available before querying or reading files. + This is an inventory tool only; for questions that require content from + knowledge files, call query_knowledge_files instead. Without knowledge_id: returns KB summaries (name, description, file_count) plus standalone files and notes — no file listing inside KBs. With knowledge_id: includes paginated file listing for that specific KB. diff --git a/src/routes/(app)/workspace/+layout.svelte b/src/routes/(app)/workspace/+layout.svelte index c28053347c..f12479a267 100644 --- a/src/routes/(app)/workspace/+layout.svelte +++ b/src/routes/(app)/workspace/+layout.svelte @@ -2,6 +2,7 @@ import { onMount, getContext } from 'svelte'; import { WEBUI_NAME, + config, showSidebar, functions, user, @@ -33,7 +34,10 @@ !$user?.permissions?.workspace?.prompts ) { goto('/'); - } else if ($page.url.pathname.includes('/tools') && !$user?.permissions?.workspace?.tools) { + } else if ( + $page.url.pathname.includes('/tools') && + (!$config?.features?.enable_plugins || !$user?.permissions?.workspace?.tools) + ) { goto('/'); } else if ($page.url.pathname.includes('/skills') && !$user?.permissions?.workspace?.skills) { goto('/'); @@ -132,7 +136,7 @@ {/if} - {#if $user?.role === 'admin' || $user?.permissions?.workspace?.tools} + {#if $config?.features?.enable_plugins && ($user?.role === 'admin' || $user?.permissions?.workspace?.tools)} import { goto } from '$app/navigation'; - import { user } from '$lib/stores'; + import { config, user } from '$lib/stores'; import { onMount } from 'svelte'; onMount(() => { @@ -11,7 +11,7 @@ goto('/workspace/knowledge'); } else if ($user?.permissions?.workspace?.prompts) { goto('/workspace/prompts'); - } else if ($user?.permissions?.workspace?.tools) { + } else if ($config?.features?.enable_plugins && $user?.permissions?.workspace?.tools) { goto('/workspace/tools'); } else if ($user?.permissions?.workspace?.skills) { goto('/workspace/skills'); diff --git a/src/routes/(app)/workspace/tools/+page.svelte b/src/routes/(app)/workspace/tools/+page.svelte index 86b1b2b7c3..2650bff32f 100644 --- a/src/routes/(app)/workspace/tools/+page.svelte +++ b/src/routes/(app)/workspace/tools/+page.svelte @@ -1,7 +1,17 @@ - +{#if $config?.features?.enable_plugins} + +{/if}