mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 12:25:20 +00:00
Merge ebdf5a7477 into 9b24cddef6
This commit is contained in:
commit
36c078c8e1
7 changed files with 36 additions and 3 deletions
|
|
@ -1548,6 +1548,13 @@ ENABLE_CHANNELS = PersistentConfig(
|
||||||
os.environ.get("ENABLE_CHANNELS", "False").lower() == "true",
|
os.environ.get("ENABLE_CHANNELS", "False").lower() == "true",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = PersistentConfig(
|
||||||
|
"ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS",
|
||||||
|
"knowledge.individual_file_attachments.enable",
|
||||||
|
os.environ.get("ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS", "True").lower()
|
||||||
|
== "true",
|
||||||
|
)
|
||||||
|
|
||||||
ENABLE_NOTES = PersistentConfig(
|
ENABLE_NOTES = PersistentConfig(
|
||||||
"ENABLE_NOTES",
|
"ENABLE_NOTES",
|
||||||
"notes.enable",
|
"notes.enable",
|
||||||
|
|
|
||||||
|
|
@ -356,6 +356,7 @@ from open_webui.config import (
|
||||||
API_KEYS_ALLOWED_ENDPOINTS,
|
API_KEYS_ALLOWED_ENDPOINTS,
|
||||||
ENABLE_FOLDERS,
|
ENABLE_FOLDERS,
|
||||||
ENABLE_CHANNELS,
|
ENABLE_CHANNELS,
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
ENABLE_NOTES,
|
ENABLE_NOTES,
|
||||||
ENABLE_COMMUNITY_SHARING,
|
ENABLE_COMMUNITY_SHARING,
|
||||||
ENABLE_MESSAGE_RATING,
|
ENABLE_MESSAGE_RATING,
|
||||||
|
|
@ -772,6 +773,10 @@ app.state.config.BANNERS = WEBUI_BANNERS
|
||||||
|
|
||||||
app.state.config.ENABLE_FOLDERS = ENABLE_FOLDERS
|
app.state.config.ENABLE_FOLDERS = ENABLE_FOLDERS
|
||||||
app.state.config.ENABLE_CHANNELS = ENABLE_CHANNELS
|
app.state.config.ENABLE_CHANNELS = ENABLE_CHANNELS
|
||||||
|
app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = (
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS
|
||||||
|
)
|
||||||
|
|
||||||
app.state.config.ENABLE_NOTES = ENABLE_NOTES
|
app.state.config.ENABLE_NOTES = ENABLE_NOTES
|
||||||
app.state.config.ENABLE_COMMUNITY_SHARING = ENABLE_COMMUNITY_SHARING
|
app.state.config.ENABLE_COMMUNITY_SHARING = ENABLE_COMMUNITY_SHARING
|
||||||
app.state.config.ENABLE_MESSAGE_RATING = ENABLE_MESSAGE_RATING
|
app.state.config.ENABLE_MESSAGE_RATING = ENABLE_MESSAGE_RATING
|
||||||
|
|
@ -1852,6 +1857,7 @@ async def get_app_config(request: Request):
|
||||||
"enable_folders": app.state.config.ENABLE_FOLDERS,
|
"enable_folders": app.state.config.ENABLE_FOLDERS,
|
||||||
"enable_channels": app.state.config.ENABLE_CHANNELS,
|
"enable_channels": app.state.config.ENABLE_CHANNELS,
|
||||||
"enable_notes": app.state.config.ENABLE_NOTES,
|
"enable_notes": app.state.config.ENABLE_NOTES,
|
||||||
|
"enable_individual_knowledge_file_attachments": app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
"enable_web_search": app.state.config.ENABLE_WEB_SEARCH,
|
"enable_web_search": app.state.config.ENABLE_WEB_SEARCH,
|
||||||
"enable_code_execution": app.state.config.ENABLE_CODE_EXECUTION,
|
"enable_code_execution": app.state.config.ENABLE_CODE_EXECUTION,
|
||||||
"enable_code_interpreter": app.state.config.ENABLE_CODE_INTERPRETER,
|
"enable_code_interpreter": app.state.config.ENABLE_CODE_INTERPRETER,
|
||||||
|
|
|
||||||
|
|
@ -940,6 +940,7 @@ async def get_admin_config(request: Request, user=Depends(get_admin_user)):
|
||||||
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
||||||
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
||||||
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
||||||
|
"ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS": request.app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
||||||
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
||||||
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
||||||
|
|
@ -962,6 +963,7 @@ class AdminConfig(BaseModel):
|
||||||
ENABLE_CHANNELS: bool
|
ENABLE_CHANNELS: bool
|
||||||
ENABLE_NOTES: bool
|
ENABLE_NOTES: bool
|
||||||
ENABLE_USER_WEBHOOKS: bool
|
ENABLE_USER_WEBHOOKS: bool
|
||||||
|
ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS: bool
|
||||||
PENDING_USER_OVERLAY_TITLE: Optional[str] = None
|
PENDING_USER_OVERLAY_TITLE: Optional[str] = None
|
||||||
PENDING_USER_OVERLAY_CONTENT: Optional[str] = None
|
PENDING_USER_OVERLAY_CONTENT: Optional[str] = None
|
||||||
RESPONSE_WATERMARK: Optional[str] = None
|
RESPONSE_WATERMARK: Optional[str] = None
|
||||||
|
|
@ -986,6 +988,9 @@ async def update_admin_config(
|
||||||
request.app.state.config.ENABLE_FOLDERS = form_data.ENABLE_FOLDERS
|
request.app.state.config.ENABLE_FOLDERS = form_data.ENABLE_FOLDERS
|
||||||
request.app.state.config.ENABLE_CHANNELS = form_data.ENABLE_CHANNELS
|
request.app.state.config.ENABLE_CHANNELS = form_data.ENABLE_CHANNELS
|
||||||
request.app.state.config.ENABLE_NOTES = form_data.ENABLE_NOTES
|
request.app.state.config.ENABLE_NOTES = form_data.ENABLE_NOTES
|
||||||
|
request.app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS = (
|
||||||
|
form_data.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS
|
||||||
|
)
|
||||||
|
|
||||||
if form_data.DEFAULT_USER_ROLE in ["pending", "user", "admin"]:
|
if form_data.DEFAULT_USER_ROLE in ["pending", "user", "admin"]:
|
||||||
request.app.state.config.DEFAULT_USER_ROLE = form_data.DEFAULT_USER_ROLE
|
request.app.state.config.DEFAULT_USER_ROLE = form_data.DEFAULT_USER_ROLE
|
||||||
|
|
@ -1030,6 +1035,7 @@ async def update_admin_config(
|
||||||
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
|
||||||
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
|
||||||
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
|
||||||
|
"ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS": request.app.state.config.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS,
|
||||||
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
"PENDING_USER_OVERLAY_TITLE": request.app.state.config.PENDING_USER_OVERLAY_TITLE,
|
||||||
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
"PENDING_USER_OVERLAY_CONTENT": request.app.state.config.PENDING_USER_OVERLAY_CONTENT,
|
||||||
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
"RESPONSE_WATERMARK": request.app.state.config.RESPONSE_WATERMARK,
|
||||||
|
|
|
||||||
|
|
@ -707,6 +707,13 @@
|
||||||
|
|
||||||
<Switch bind:state={adminConfig.ENABLE_USER_WEBHOOKS} />
|
<Switch bind:state={adminConfig.ENABLE_USER_WEBHOOKS} />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mb-2.5 flex w-full items-center justify-between pr-2">
|
||||||
|
<div class=" self-center text-xs font-medium">
|
||||||
|
{$i18n.t('Allow Individual Knowledge File Attachments')}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Switch bind:state={adminConfig.ENABLE_INDIVIDUAL_KNOWLEDGE_FILE_ATTACHMENTS} />
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="mb-2.5">
|
<div class="mb-2.5">
|
||||||
<div class=" self-center text-xs font-medium mb-2">
|
<div class=" self-center text-xs font-medium mb-2">
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
import Database from '$lib/components/icons/Database.svelte';
|
import Database from '$lib/components/icons/Database.svelte';
|
||||||
import GlobeAlt from '$lib/components/icons/GlobeAlt.svelte';
|
import GlobeAlt from '$lib/components/icons/GlobeAlt.svelte';
|
||||||
import Youtube from '$lib/components/icons/Youtube.svelte';
|
import Youtube from '$lib/components/icons/Youtube.svelte';
|
||||||
import { folders } from '$lib/stores';
|
import { folders, config } from '$lib/stores';
|
||||||
import Folder from '$lib/components/icons/Folder.svelte';
|
import Folder from '$lib/components/icons/Folder.svelte';
|
||||||
|
|
||||||
const i18n = getContext('i18n');
|
const i18n = getContext('i18n');
|
||||||
|
|
@ -167,6 +167,10 @@
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!($config?.features?.enable_individual_knowledge_file_attachments ?? true)) {
|
||||||
|
items = items.filter((it) => it.type !== 'file');
|
||||||
|
}
|
||||||
|
|
||||||
fuse = new Fuse(items, {
|
fuse = new Fuse(items, {
|
||||||
keys: ['name', 'description']
|
keys: ['name', 'description']
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
import { onMount, tick, getContext } from 'svelte';
|
import { onMount, tick, getContext } from 'svelte';
|
||||||
|
|
||||||
import { decodeString } from '$lib/utils';
|
import { decodeString } from '$lib/utils';
|
||||||
import { knowledge } from '$lib/stores';
|
import { knowledge, config } from '$lib/stores';
|
||||||
|
|
||||||
import { getKnowledgeBases } from '$lib/apis/knowledge';
|
import { getKnowledgeBases } from '$lib/apis/knowledge';
|
||||||
|
|
||||||
|
|
@ -99,7 +99,9 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
if (!($config?.features?.enable_individual_knowledge_file_attachments ?? true)) {
|
||||||
|
items = items.filter((it) => it.type !== 'file');
|
||||||
|
}
|
||||||
await tick();
|
await tick();
|
||||||
|
|
||||||
loaded = true;
|
loaded = true;
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,7 @@ type Config = {
|
||||||
enable_autocomplete_generation: boolean;
|
enable_autocomplete_generation: boolean;
|
||||||
enable_direct_connections: boolean;
|
enable_direct_connections: boolean;
|
||||||
enable_version_update_check: boolean;
|
enable_version_update_check: boolean;
|
||||||
|
enable_individual_knowledge_file_attachments: boolean;
|
||||||
};
|
};
|
||||||
oauth: {
|
oauth: {
|
||||||
providers: {
|
providers: {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue