mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-13 04:45:19 +00:00
Merge branch 'dev' of https://github.com/open-webui/open-webui into dev
This commit is contained in:
commit
10c9a7d75e
13 changed files with 66 additions and 31 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -43,6 +43,10 @@
|
|||
let searchDebounceTimeout;
|
||||
|
||||
const searchHandler = async () => {
|
||||
if (!show) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (searchDebounceTimeout) {
|
||||
clearTimeout(searchDebounceTimeout);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,10 @@
|
|||
}
|
||||
|
||||
const searchHandler = async () => {
|
||||
if (!show) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (searchDebounceTimeout) {
|
||||
clearTimeout(searchDebounceTimeout);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,6 +91,10 @@
|
|||
};
|
||||
|
||||
const searchHandler = async () => {
|
||||
if (!show) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (searchDebounceTimeout) {
|
||||
clearTimeout(searchDebounceTimeout);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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.": "竞技场模型默认使用所有模型。点击上方的“+”按钮以添加自定义模型",
|
||||
|
|
|
|||
|
|
@ -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.": "正在使用預設競技場模型與所有模型。點選加號按鈕以新增自訂模型。",
|
||||
|
|
|
|||
Loading…
Reference in a new issue