diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index 5f356a47d..ebb6126d1 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -117,7 +117,7 @@
let selectedToolIds = [];
let imageGenerationEnabled = false;
- let webSearchEnabled = $settings?.alwaysOnWebSearch ?? false;
+ let webSearchEnabled = false;
let codeInterpreterEnabled = false;
let chat = null;
let tags = [];
@@ -143,7 +143,7 @@
prompt = '';
files = [];
selectedToolIds = [];
-
+ webSearchEnabled = false;
imageGenerationEnabled = false;
if (chatIdProp && (await loadChat())) {
@@ -718,7 +718,7 @@
if ($page.url.searchParams.get('web-search') === 'true') {
webSearchEnabled = true;
}
-
+
if ($page.url.searchParams.get('image-generation') === 'true') {
imageGenerationEnabled = true;
}
@@ -1550,9 +1550,20 @@
tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined,
features: {
- image_generation: imageGenerationEnabled,
- code_interpreter: codeInterpreterEnabled,
- web_search: webSearchEnabled
+ image_generation:
+ $config?.features?.enable_image_generation &&
+ ($user.role === 'admin' || $user?.permissions?.features?.image_generation)
+ ? imageGenerationEnabled
+ : false,
+ code_interpreter:
+ $user.role === 'admin' || $user?.permissions?.features?.code_interpreter
+ ? codeInterpreterEnabled
+ : false,
+ web_search:
+ $config?.features?.enable_web_search &&
+ ($user.role === 'admin' || $user?.permissions?.features?.web_search)
+ ? webSearchEnabled || ($settings?.webSearch ?? false) === 'always'
+ : false
},
variables: {
...getPromptVariables(
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 926a70499..6f438a68e 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -390,7 +390,7 @@
- {#if atSelectedModel !== undefined || selectedToolIds.length > 0 || webSearchEnabled || imageGenerationEnabled || codeInterpreterEnabled}
+ {#if atSelectedModel !== undefined || selectedToolIds.length > 0 || webSearchEnabled || ($settings?.webSearch ?? false) === 'always' || imageGenerationEnabled || codeInterpreterEnabled}
@@ -426,7 +426,7 @@
{/if}
- {#if webSearchEnabled}
+ {#if webSearchEnabled || ($settings?.webSearch ?? false) === 'always'}
@@ -1135,7 +1135,8 @@