This commit is contained in:
Cyp 2025-09-19 08:59:21 +09:00
commit 10c9a7d75e
13 changed files with 66 additions and 31 deletions

View file

@ -2,6 +2,7 @@ fastapi==0.115.7
uvicorn[standard]==0.35.0
pydantic==2.11.7
python-multipart==0.0.20
itsdangerous==2.2.0
python-socketio==5.13.0
python-jose==3.4.0

View file

@ -10,6 +10,7 @@ dependencies = [
"uvicorn[standard]==0.35.0",
"pydantic==2.11.7",
"python-multipart==0.0.20",
"itsdangerous==2.2.0",
"python-socketio==5.13.0",
"python-jose==3.4.0",

View file

@ -19,10 +19,13 @@
let changelog = null;
onMount(async () => {
const res = await getChangelog();
changelog = res;
});
const init = async () => {
changelog = await getChangelog();
};
$: if (show) {
init();
}
</script>
<Modal bind:show size="xl">

View file

@ -1143,7 +1143,7 @@
<div class=" mb-2.5 py-0.5 w-full justify-between">
<Tooltip
content={$i18n.t(
'The Weight of BM25 Hybrid Search. 0 more lexical, 1 more semantic. Default 0.5'
'The Weight of BM25 Hybrid Search. 0 more semantic, 1 more lexical. Default 0.5'
)}
placement="top-start"
className="inline-tooltip"

View file

@ -43,6 +43,10 @@
let searchDebounceTimeout;
const searchHandler = async () => {
if (!show) {
return;
}
if (searchDebounceTimeout) {
clearTimeout(searchDebounceTimeout);
}

View file

@ -286,9 +286,11 @@
}
};
onMount(async () => {
const setOllamaVersion = async () => {
ollamaVersion = await getOllamaVersion(localStorage.token).catch((error) => false);
};
onMount(async () => {
if (items) {
tags = items
.filter((item) => !(item.model?.info?.meta?.hidden ?? false))
@ -300,6 +302,10 @@
}
});
$: if (show) {
setOllamaVersion();
}
const cancelModelPullHandler = async (model: string) => {
const { reader, abortController } = $MODEL_DOWNLOAD_POOL[model];
if (abortController) {

View file

@ -39,6 +39,10 @@
}
const searchHandler = async () => {
if (!show) {
return;
}
if (searchDebounceTimeout) {
clearTimeout(searchDebounceTimeout);
}

View file

@ -91,6 +91,10 @@
};
const searchHandler = async () => {
if (!show) {
return;
}
if (searchDebounceTimeout) {
clearTimeout(searchDebounceTimeout);
}

View file

@ -44,8 +44,12 @@
accessControl = channel.access_control;
};
$: if (channel) {
init();
$: if (show) {
if (channel) {
init();
}
} else {
resetHandler();
}
let showDeleteConfirmDialog = false;
@ -68,6 +72,12 @@
show = false;
};
const resetHandler = () => {
name = '';
accessControl = {};
loading = false;
};
</script>
<Modal size="sm" bind:show>

View file

@ -332,14 +332,16 @@
let isExpandedUpdateTimeout;
const isExpandedUpdateDebounceHandler = (open) => {
const isExpandedUpdateDebounceHandler = () => {
clearTimeout(isExpandedUpdateTimeout);
isExpandedUpdateTimeout = setTimeout(() => {
isExpandedUpdateHandler();
}, 500);
};
$: isExpandedUpdateDebounceHandler(open);
$: if (open) {
isExpandedUpdateDebounceHandler();
}
const renameHandler = async () => {
console.log('Edit');

View file

@ -212,7 +212,7 @@
"Capture Audio": "Capturar Audio",
"Certificate Path": "Caminho do Certificado",
"Change Password": "Alterar Senha",
"Channel": "",
"Channel": "Canal",
"Channel deleted successfully": "Canal apagado com sucesso",
"Channel Name": "Nome do canal",
"Channel updated successfully": "Canal atualizado com sucesso",
@ -358,7 +358,7 @@
"Custom Parameter Value": "Valor do parâmetro personalizado",
"Danger Zone": "Zona de perigo",
"Dark": "Escuro",
"Data Controls": "",
"Data Controls": "Controle de Dados",
"Database": "Banco de Dados",
"Datalab Marker API": "API do Marcador do Datalab",
"Datalab Marker API Key required.": "Chave de API do Datalab Marker necessária.",
@ -370,8 +370,8 @@
"Default (SentenceTransformers)": "Padrão (SentenceTransformers)",
"Default action buttons will be used.": "Botões de ação padrão serão usados.",
"Default description enabled": "Descrição padrão habilitada",
"Default Features": "",
"Default Filters": "",
"Default Features": "Recursos padrão",
"Default Filters": "Filtros padrão",
"Default mode works with a wider range of models by calling tools once before execution. Native mode leverages the model's built-in tool-calling capabilities, but requires the model to inherently support this feature.": "O modo padrão funciona com uma gama mais ampla de modelos, chamando as ferramentas uma vez antes da execução. O modo nativo aproveita os recursos integrados de chamada de ferramentas do modelo, mas exige que o modelo suporte esse recurso inerentemente.",
"Default Model": "Modelo Padrão",
"Default model updated": "Modelo padrão atualizado",
@ -487,7 +487,7 @@
"Edit Memory": "Editar Memória",
"Edit User": "Editar Usuário",
"Edit User Group": "Editar Grupo de Usuários",
"edited": "",
"edited": "editado",
"Edited": "Editado",
"Editing": "Editando",
"Eject": "Ejetar",
@ -630,7 +630,7 @@
"Enter Your Role": "Digite Sua Função",
"Enter Your Username": "Digite seu usuário",
"Enter your webhook URL": "Insira a URL do seu webhook",
"Entra ID": "",
"Entra ID": "ID Entra",
"Error": "Erro",
"ERROR": "ERRO",
"Error accessing directory": "Erro ao acessar o diretório",
@ -726,13 +726,13 @@
"Firecrawl API Key": "Chave de API do Firecrawl",
"Floating Quick Actions": "Ações rápidas flutuantes",
"Focus chat input": "Focar entrada de chat",
"Folder Background Image": "",
"Folder Background Image": "Imagem de fundo da pasta",
"Folder deleted successfully": "Pasta excluída com sucesso",
"Folder Name": "Nome da Pasta",
"Folder name cannot be empty.": "Nome da pasta não pode estar vazio.",
"Folder name updated successfully": "Nome da pasta atualizado com sucesso",
"Folder updated successfully": "Pasta atualizada com sucesso",
"Folders": "",
"Folders": "Pastas",
"Follow up": "Acompanhamento",
"Follow Up Generation": "Geração de Acompanhamento",
"Follow Up Generation Prompt": "Prompt para Geração dos Acompanhamentos",
@ -744,7 +744,7 @@
"Form": "Formulário",
"Format Lines": "Formatar linhas",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formata as linhas na saída. O padrão é Falso. Se definido como Verdadeiro, as linhas serão formatadas para detectar matemática e estilos embutidos.",
"Format your variables using brackets like this:": "Formate suas variáveis usando colchetes como este:",
"Format your variables using brackets like this:": "Formate suas variáveis usando duplas chaves como este:",
"Formatting may be inconsistent from source.": "A formatação pode ser inconsistente em relação à fonte.",
"Forwards system user OAuth access token to authenticate": "Encaminha o token de acesso OAuth do usuário do sistema para autenticação",
"Forwards system user session credentials to authenticate": "Encaminha as credenciais da sessão do usuário do sistema para autenticação",
@ -1048,7 +1048,7 @@
"No models found": "Nenhum modelo encontrado",
"No models selected": "Nenhum modelo selecionado",
"No Notes": "Sem Notas",
"No notes found": "",
"No notes found": "Notas não encontradas",
"No results": "Nenhum resultado encontrado",
"No results found": "Nenhum resultado encontrado",
"No search query generated": "Nenhuma consulta de pesquisa gerada",
@ -1062,7 +1062,7 @@
"None": "Nenhum",
"Not factually correct": "Não está factualmente correto",
"Not helpful": "Não é útil",
"Note": "",
"Note": "Nota",
"Note deleted successfully": "Nota excluída com sucesso",
"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Se você definir uma pontuação mínima, a pesquisa retornará apenas documentos com pontuação igual ou superior à pontuação mínima.",
"Notes": "Notas",
@ -1095,10 +1095,10 @@
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Ops! Você está usando um método não suportado (somente frontend). Por favor, sirva a WebUI a partir do backend.",
"Open file": "Abrir arquivo",
"Open in full screen": "Abrir em tela cheia",
"Open link": "",
"Open link": "Abrir link",
"Open modal to configure connection": "Abra o modal para configurar a conexão",
"Open Modal To Manage Floating Quick Actions": "Abra o Modal para gerenciar ações rápidas flutuantes",
"Open Modal To Manage Image Compression": "",
"Open Modal To Manage Image Compression": "Abrir o Modal para gerenciar a compressão de imagens",
"Open new chat": "Abrir novo chat",
"Open Sidebar": "Abrir barra lateral",
"Open User Profile Menu": "Abrir menu de perfil do usuário",
@ -1218,7 +1218,7 @@
"Redirecting you to Open WebUI Community": "Redirecionando você para a Comunidade OpenWebUI",
"Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "Reduz a probabilidade de gerar respostas sem sentido. Um valor mais alto (por exemplo, 100) resultará em respostas mais diversas, enquanto um valor mais baixo (por exemplo, 10) será mais conservador.",
"Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Refira-se como \"Usuário\" (por exemplo, \"Usuário está aprendendo espanhol\")",
"Reference Chats": "",
"Reference Chats": "Chats Anteriores",
"Refused when it shouldn't have": "Recusado quando não deveria",
"Regenerate": "Gerar novamente",
"Regenerate Menu": "Regenerar Menu",
@ -1568,7 +1568,7 @@
"Unarchive All Archived Chats": "Desarquivar Todos os Chats Arquivados",
"Unarchive Chat": "Desarquivar Chat",
"Underline": "Sublinhado",
"Unknown": "",
"Unknown": "Desconhecido",
"Unloads {{FROM_NOW}}": "Descarrega {{FROM_NOW}}",
"Unlock mysteries": "Desvendar mistérios",
"Unpin": "Desfixar",

View file

@ -487,7 +487,7 @@
"Edit Memory": "编辑记忆",
"Edit User": "编辑用户",
"Edit User Group": "编辑用户组",
"edited": "",
"edited": "已编辑",
"Edited": "已编辑",
"Editing": "编辑中",
"Eject": "弹出",
@ -630,7 +630,7 @@
"Enter Your Role": "输入您的权限组",
"Enter Your Username": "输入您的用户名",
"Enter your webhook URL": "输入您的 Webhook URL",
"Entra ID": "",
"Entra ID": "Entra ID",
"Error": "错误",
"ERROR": "错误",
"Error accessing directory": "访问目录时出错",
@ -1608,7 +1608,7 @@
"User Webhooks": "用户 Webhook",
"Username": "用户名",
"Users": "用户",
"Uses DefaultAzureCredential to authenticate": "",
"Uses DefaultAzureCredential to authenticate": "使用 DefaultAzureCredential 进行身份验证",
"Using Entire Document": "使用完整文档",
"Using Focused Retrieval": "使用聚焦检索",
"Using the default arena model with all models. Click the plus button to add custom models.": "竞技场模型默认使用所有模型。点击上方的“+”按钮以添加自定义模型",

View file

@ -487,7 +487,7 @@
"Edit Memory": "編輯記憶",
"Edit User": "編輯使用者",
"Edit User Group": "編輯使用者群組",
"edited": "",
"edited": "已編輯",
"Edited": "已編輯",
"Editing": "編輯中",
"Eject": "卸載",
@ -630,7 +630,7 @@
"Enter Your Role": "輸入您的角色",
"Enter Your Username": "輸入您的使用者名稱",
"Enter your webhook URL": "輸入您的 webhook URL",
"Entra ID": "",
"Entra ID": "Entra ID",
"Error": "錯誤",
"ERROR": "錯誤",
"Error accessing directory": "存取目錄時發生錯誤",
@ -1608,7 +1608,7 @@
"User Webhooks": "使用者 Webhooks",
"Username": "使用者名稱",
"Users": "使用者",
"Uses DefaultAzureCredential to authenticate": "",
"Uses DefaultAzureCredential to authenticate": "使用 DefaultAzureCredential 進行身份驗證",
"Using Entire Document": "使用完整檔案",
"Using Focused Retrieval": "使用聚焦檢索",
"Using the default arena model with all models. Click the plus button to add custom models.": "正在使用預設競技場模型與所有模型。點選加號按鈕以新增自訂模型。",