Merge pull request #17327 from open-webui/dev

0.6.28
This commit is contained in:
Tim Jaeryang Baek 2025-09-10 14:53:30 +04:00 committed by GitHub
commit 171021cfa4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 117 additions and 93 deletions

View File

@ -73,4 +73,4 @@
### Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms.
By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms.

View File

@ -36,7 +36,7 @@ jobs:
echo "::set-output name=content::$CHANGELOG_ESCAPED"
- name: Create GitHub release
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
@ -61,7 +61,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger Docker build workflow
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
github.rest.actions.createWorkflowDispatch({

View File

@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '${{ matrix.python-version }}'

View File

@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '22'
@ -54,7 +54,7 @@ jobs:
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: '22'

View File

@ -21,10 +21,10 @@ jobs:
fetch-depth: 0
- name: Install Git
run: sudo apt-get update && sudo apt-get install -y git
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 22
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: 3.11
- name: Build

View File

@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.6.28] - 2025-09-10
### Added
- 🔍 The "@" command for model selection now supports real-time search and filtering, improving usability and aligning its behavior with other input commands. [#17307](https://github.com/open-webui/open-webui/issues/17307), [Commit](https://github.com/open-webui/open-webui/commit/f2a09c71499489ee71599af4a179e7518aaf658b)
- 🛠️ External tool server data handling is now more robust, automatically attempting to parse specifications as JSON before falling back to YAML, regardless of the URL extension. [Commit](https://github.com/open-webui/open-webui/commit/774c0056bde88ed4831422efa81506488e3d6641)
- 🎯 The "Title" field is now automatically focused when creating a new chat folder, streamlining the folder creation process. [#17315](https://github.com/open-webui/open-webui/issues/17315), [Commit](https://github.com/open-webui/open-webui/commit/c51a651a2d5e2a27546416666812e9b92205562d)
- 🔄 Various improvements were implemented across the frontend and backend to enhance performance, stability, and security.
- 🌐 Brazilian Portuguese and Simplified Chinese translations were expanded and refined.
### Fixed
- 🔊 A regression affecting Text-to-Speech for local providers using the OpenAI engine was fixed by reverting a URL joining change. [#17316](https://github.com/open-webui/open-webui/issues/17316), [Commit](https://github.com/open-webui/open-webui/commit/8339f59cdfc63f2d58c8e26933d1bf1438479d75)
- 🪧 A regression was fixed where the input modal for prompts with placeholders would not open, causing the raw prompt text to be pasted into the chat input field instead. [#17325](https://github.com/open-webui/open-webui/issues/17325), [Commit](https://github.com/open-webui/open-webui/commit/d5cb65527eaa4831459a4c7dbf187daa9c0525ae)
- 🔑 An issue was resolved where modified connection keys in the OpenAIConnection component did not take effect. [#17324](https://github.com/open-webui/open-webui/pull/17324)
## [0.6.27] - 2025-09-09
### Added

View File

@ -538,12 +538,23 @@ async def get_tool_server_data(token: str, url: str) -> Dict[str, Any]:
error_body = await response.json()
raise Exception(error_body)
text_content = None
# Check if URL ends with .yaml or .yml to determine format
if url.lower().endswith((".yaml", ".yml")):
text_content = await response.text()
res = yaml.safe_load(text_content)
else:
res = await response.json()
text_content = await response.text()
try:
res = json.loads(text_content)
except json.JSONDecodeError:
try:
res = yaml.safe_load(text_content)
except Exception as e:
raise e
except Exception as err:
log.exception(f"Could not fetch tool server spec from {url}")
if isinstance(err, dict) and "detail" in err:

View File

@ -20,8 +20,8 @@ sqlalchemy==2.0.38
alembic==1.14.0
peewee==3.18.1
peewee-migrate==1.12.2
psycopg2-binary==2.9.9
pgvector==0.4.0
psycopg2-binary==2.9.10
pgvector==0.4.1
PyMySQL==1.1.1
bcrypt==4.3.0
@ -50,13 +50,12 @@ langchain==0.3.26
langchain-community==0.3.27
fake-useragent==2.2.0
chromadb==0.6.3
posthog==5.4.0
chromadb==1.0.20
pymilvus==2.5.0
qdrant-client==1.14.3
opensearch-py==2.8.0
playwright==1.49.1 # Caution: version must match docker-compose.playwright.yaml
elasticsearch==9.0.1
elasticsearch==9.1.0
pinecone==6.0.2
oracledb==3.2.0
@ -118,7 +117,7 @@ docker~=7.1.0
pytest~=8.4.1
pytest-docker~=3.1.1
googleapis-common-protos==1.63.2
googleapis-common-protos==1.70.0
google-cloud-storage==2.19.0
azure-identity==1.23.0

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "open-webui",
"version": "0.6.27",
"version": "0.6.28",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "open-webui",
"version": "0.6.27",
"version": "0.6.28",
"dependencies": {
"@azure/msal-browser": "^4.5.0",
"@codemirror/lang-javascript": "^6.2.2",

View File

@ -1,6 +1,6 @@
{
"name": "open-webui",
"version": "0.6.27",
"version": "0.6.28",
"private": true,
"scripts": {
"dev": "npm run pyodide:fetch && vite dev --host",

View File

@ -55,12 +55,12 @@ dependencies = [
"langchain-community==0.3.27",
"fake-useragent==2.2.0",
"chromadb==0.6.3",
"chromadb==1.0.20",
"pymilvus==2.5.0",
"qdrant-client==1.14.3",
"opensearch-py==2.8.0",
"playwright==1.49.1",
"elasticsearch==9.0.1",
"elasticsearch==9.1.0",
"pinecone==6.0.2",
"oracledb==3.2.0",
@ -112,7 +112,7 @@ dependencies = [
"googleapis-common-protos==1.63.2",
"googleapis-common-protos==1.70.0",
"google-cloud-storage==2.19.0",
"azure-identity==1.20.0",
@ -124,7 +124,6 @@ dependencies = [
"tencentcloud-sdk-python==3.0.1336",
"oracledb>=3.2.0",
"posthog==5.4.0",
]
readme = "README.md"
@ -142,8 +141,8 @@ classifiers = [
[project.optional-dependencies]
postgres = [
"psycopg2-binary==2.9.9",
"pgvector==0.4.0",
"psycopg2-binary==2.9.10",
"pgvector==0.4.1",
]
all = [

View File

@ -1,4 +1,6 @@
<script lang="ts">
import DOMPurify from 'dompurify';
import { onMount, getContext } from 'svelte';
import { Confetti } from 'svelte-confetti';
@ -23,7 +25,7 @@
});
</script>
<Modal bind:show size="lg">
<Modal bind:show size="xl">
<div class="px-5 pt-4 dark:text-gray-300 text-gray-700">
<div class="flex justify-between items-start">
<div class="text-xl font-semibold">
@ -54,7 +56,7 @@
</div>
<div class=" w-full p-4 px-5 text-gray-700 dark:text-gray-100">
<div class=" overflow-y-scroll max-h-96 scrollbar-hidden">
<div class=" overflow-y-scroll max-h-[32rem] scrollbar-hidden">
<div class="mb-3">
{#if changelog}
{#each Object.keys(changelog) as version}
@ -66,7 +68,7 @@
<hr class="border-gray-100 dark:border-gray-850 my-2" />
{#each Object.keys(changelog[version]).filter((section) => section !== 'date') as section}
<div class="">
<div class="w-full">
<div
class="font-semibold uppercase text-xs {section === 'added'
? 'text-white bg-blue-600'
@ -81,13 +83,10 @@
{section}
</div>
<div class="my-2.5 px-1.5">
{#each Object.keys(changelog[version][section]) as item}
<div class="text-sm mb-2">
<div class="font-semibold uppercase">
{changelog[version][section][item].title}
</div>
<div class="mb-2 mt-1">{changelog[version][section][item].content}</div>
<div class="my-2.5 px-1.5 markdown-prose-sm !list-none !w-full !max-w-none">
{#each changelog[version][section] as entry}
<div class="my-2">
{@html DOMPurify.sanitize(entry?.raw)}
</div>
{/each}
</div>

View File

@ -29,12 +29,12 @@
}),
{
keys: ['value', 'tags', 'modelName'],
threshold: 0.3
threshold: 0.5
}
);
$: filteredItems = command.slice(1)
? fuse.search(command).map((e) => {
? fuse.search(command.slice(1)).map((e) => {
return e.item;
})
: $models.filter((model) => !model?.info?.meta?.hidden);

View File

@ -11,16 +11,16 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} Ferramentas disponíveis",
"{{COUNT}} characters": "{{COUNT}} caracteres",
"{{COUNT}} extracted lines": "",
"{{COUNT}} extracted lines": "{{COUNT}} linhas extraídas",
"{{COUNT}} hidden lines": "{{COUNT}} linhas ocultas",
"{{COUNT}} Replies": "{{COUNT}} Respostas",
"{{COUNT}} Sources": "",
"{{COUNT}} Sources": "{{COUNT}} Origens",
"{{COUNT}} words": "{{COUNT}} palavras",
"{{model}} download has been canceled": "O download do {{model}} foi cancelado",
"{{user}}'s Chats": "Chats de {{user}}",
"{{webUIName}} Backend Required": "Backend {{webUIName}} necessário",
"*Prompt node ID(s) are required for image generation": "*Prompt node ID(s) são obrigatórios para gerar imagens",
"1 Source": "",
"1 Source": "1 Origem",
"A new version (v{{LATEST_VERSION}}) is now available.": "Um nova versão (v{{LATEST_VERSION}}) está disponível.",
"A task model is used when performing tasks such as generating titles for chats and web search queries": "Um modelo de tarefa é usado ao realizar tarefas como gerar títulos para chats e consultas de pesquisa na web",
"a user": "um usuário",
@ -31,7 +31,7 @@
"Accessible to all users": "Acessível para todos os usuários",
"Account": "Conta",
"Account Activation Pending": "Ativação da Conta Pendente",
"accurate": "",
"accurate": "preciso",
"Accurate information": "Informações precisas",
"Action": "Ação",
"Action not found": "Ação não encontrada",
@ -503,7 +503,7 @@
"Enable New Sign Ups": "Ativar Novos Cadastros",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Ativado",
"End Tag": "",
"End Tag": "Tag final",
"Endpoint URL": "",
"Enforce Temporary Chat": "Aplicar chat temporário",
"Enhance": "Melhorar",
@ -665,7 +665,7 @@
"External": "Externo",
"External Document Loader URL required.": "URL do carregador de documentos externo necessária.",
"External Task Model": "Modelo de Tarefa Externa",
"External Tools": "",
"External Tools": "Ferramentas Externas",
"External Web Loader API Key": "Chave de API do carregador da Web externo",
"External Web Loader URL": "URL do carregador da Web externo",
"External Web Search API Key": "Chave de API de pesquisa na Web externa",
@ -689,7 +689,7 @@
"Failed to save models configuration": "Falha ao salvar a configuração dos modelos",
"Failed to update settings": "Falha ao atualizar as configurações",
"Failed to upload file.": "Falha ao carregar o arquivo.",
"fast": "",
"fast": "rápido",
"Features": "Funcionalidades",
"Features Permissions": "Permissões das Funcionalidades",
"February": "Fevereiro",
@ -734,8 +734,8 @@
"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:",
"Formatting may be inconsistent from source.": "",
"Forwards system user OAuth access token to authenticate": "",
"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",
"Full Context Mode": "Modo de contexto completo",
"Function": "Função",
@ -831,7 +831,7 @@
"Import Prompts": "Importar Prompts",
"Import Tools": "Importar Ferramentas",
"Important Update": "Atualização importante",
"In order to force OCR, performing OCR must be enabled.": "",
"In order to force OCR, performing OCR must be enabled.": "Para forçar o OCR, a execução do OCR deve estar habilitada.",
"Include": "Incluir",
"Include `--api-auth` flag when running stable-diffusion-webui": "Incluir a flag `--api-auth` ao executar stable-diffusion-webui",
"Include `--api` flag when running stable-diffusion-webui": "Incluir a flag `--api` ao executar stable-diffusion-webui",
@ -847,7 +847,7 @@
"Insert": "Inserir",
"Insert Follow-Up Prompt to Input": "Inserir prompt de acompanhamento para entrada",
"Insert Prompt as Rich Text": "Inserir prompt como texto enriquecido",
"Insert Suggestion Prompt to Input": "",
"Insert Suggestion Prompt to Input": "Inserir prompt de sugestão para entrada",
"Install from Github URL": "Instalar da URL do Github",
"Instant Auto-Send After Voice Transcription": "Envio Automático Instantâneo Após Transcrição de Voz",
"Integration": "Integração",
@ -1014,7 +1014,7 @@
"New Tool": "Nova Ferrameta",
"new-channel": "novo-canal",
"Next message": "Próxima mensagem",
"No authentication": "",
"No authentication": "Sem autenticação",
"No chats found": "Nenhum chat encontrado",
"No chats found for this user.": "Nenhum chat encontrado para este usuário.",
"No chats found.": "Nenhum chat encontrado.",
@ -1039,7 +1039,7 @@
"No results found": "Nenhum resultado encontrado",
"No search query generated": "Nenhuma consulta de pesquisa gerada",
"No source available": "Nenhuma fonte disponível",
"No sources found": "",
"No sources found": "Nenhuma fonte encontrada",
"No suggestion prompts": "Sem prompts sugeridos",
"No users were found.": "Nenhum usuário foi encontrado.",
"No valves": "Sem configurações",
@ -1119,7 +1119,7 @@
"Pending": "Pendente",
"Pending User Overlay Content": "Conteúdo de sobreposição de usuário pendente",
"Pending User Overlay Title": "Título de sobreposição de usuário pendente",
"Perform OCR": "",
"Perform OCR": "Executar OCR",
"Permission denied when accessing media devices": "Permissão negada ao acessar dispositivos de mídia",
"Permission denied when accessing microphone": "Permissão negada ao acessar o microfone",
"Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}",
@ -1180,13 +1180,13 @@
"Prompts": "Prompts",
"Prompts Access": "Acessar prompts",
"Prompts Public Sharing": "Compartilhamento Público dos Prompts",
"Provider Type": "",
"Provider Type": "Tipo de provedor",
"Public": "Público",
"Pull \"{{searchValue}}\" from Ollama.com": "Obter \"{{searchValue}}\" de Ollama.com",
"Pull a model from Ollama.com": "Obter um modelo de Ollama.com",
"pypdfium2": "",
"Query Generation Prompt": "Prompt de Geração de Consulta",
"Querying": "",
"Querying": "Consultando",
"Quick Actions": "Ações rápidas",
"RAG Template": "Modelo RAG",
"Rating": "Avaliação",
@ -1237,11 +1237,11 @@
"RESULT": "Resultado",
"Retrieval": "Recuperação",
"Retrieval Query Generation": "Geração de Consulta de Recuperação",
"Retrieved {{count}} sources": "",
"Retrieved {{count}} sources": "{{count}} fontes recuperadas",
"Retrieved {{count}} sources_one": "",
"Retrieved {{count}} sources_many": "",
"Retrieved {{count}} sources_other": "",
"Retrieved 1 source": "",
"Retrieved 1 source": "1 fonte recuperada",
"Rich Text Input for Chat": "Entrada de rich text para o chat",
"RK": "",
"Role": "Função",
@ -1285,7 +1285,7 @@
"SearchApi API Key": "Chave API SearchApi",
"SearchApi Engine": "Motor SearchApi",
"Searched {{count}} sites": "{{count}} sites pesquisados",
"Searching": "",
"Searching": "Pesquisando",
"Searching \"{{searchQuery}}\"": "Pesquisando \"{{searchQuery}}\"",
"Searching Knowledge for \"{{searchQuery}}\"": "Buscando conhecimento para \"{{searchQuery}}\"",
"Searching the web": "Pesquisando na Internet...",
@ -1316,7 +1316,7 @@
"Select an engine": "Selecione um motor",
"Select an Ollama instance": "Selecione uma instância do Ollama",
"Select an output format": "Selecione um formato de saída",
"Select dtype": "",
"Select dtype": "Selecionar dtype",
"Select Engine": "Selecionar Motor",
"Select how to split message text for TTS requests": "Selecione como dividir o texto da mensagem para solicitações TTS",
"Select Knowledge": "Selecionar Conhecimento",
@ -1360,7 +1360,7 @@
"Share": "Compartilhar",
"Share Chat": "Compartilhar Chat",
"Share to Open WebUI Community": "Compartilhar com a Comunidade OpenWebUI",
"Share your background and interests": "",
"Share your background and interests": "Fale sobre você e seus interesses",
"Sharing Permissions": "Permissões de compartilhamento",
"Shortcuts with an asterisk (*) are situational and only active under specific conditions.": "Atalhos com um asterisco (*) são situacionais e só estão ativos em condições específicas.",
"Show": "Mostrar",
@ -1401,8 +1401,8 @@
"Speech-to-Text Engine": "Motor de Transcrição de Fala",
"standard": "",
"Start of the channel": "Início do canal",
"Start Tag": "",
"Status Updates": "",
"Start Tag": "Tag inicial",
"Status Updates": "Atualizações de status",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Parar",
"Stop Generating": "Pare de gerar",
@ -1410,7 +1410,7 @@
"Stream Chat Response": "Stream Resposta do Chat",
"Stream Delta Chunk Size": "",
"Strikethrough": "Tachado",
"Strip Existing OCR": "",
"Strip Existing OCR": "Remover OCR existente",
"Strip existing OCR text from the PDF and re-run OCR. Ignored if Force OCR is enabled. Defaults to False.": "Remove o texto OCR existente do PDF e executa o OCR novamente. Ignorado se a opção Forçar OCR estiver habilitada. O padrão é Falso.",
"STT Model": "Modelo STT",
"STT Settings": "Configurações STT",

View File

@ -14,13 +14,13 @@
"{{COUNT}} extracted lines": "已提取 {{COUNT}} 行",
"{{COUNT}} hidden lines": "{{COUNT}} 行被隐藏",
"{{COUNT}} Replies": "{{COUNT}} 条回复",
"{{COUNT}} Sources": "",
"{{COUNT}} Sources": "{{COUNT}} 个引用来源",
"{{COUNT}} words": "{{COUNT}} 个字",
"{{model}} download has been canceled": "已取消模型 {{model}} 的下载",
"{{user}}'s Chats": "{{user}} 的对话记录",
"{{webUIName}} Backend Required": "{{webUIName}} 需要后端服务",
"*Prompt node ID(s) are required for image generation": "*图片生成需要提示词节点 ID",
"1 Source": "",
"1 Source": "1 个引用来源",
"A new version (v{{LATEST_VERSION}}) is now available.": "新版本v{{LATEST_VERSION}})现已发布",
"A task model is used when performing tasks such as generating titles for chats and web search queries": "任务模型用于执行生成对话标题和联网搜索查询等任务",
"a user": "用户",
@ -31,7 +31,7 @@
"Accessible to all users": "对所有用户开放",
"Account": "账号",
"Account Activation Pending": "账号待激活",
"accurate": "",
"accurate": "准确",
"Accurate information": "信息准确",
"Action": "操作",
"Action not found": "找不到对应的操作项",
@ -177,7 +177,7 @@
"Banners": "公告横幅",
"Base Model (From)": "基础模型(来自)",
"Base Model List Cache speeds up access by fetching base models only at startup or on settings save—faster, but may not show recent base model changes.": "仅在启动或保存设置时获取基础模型列表以提升访问速度,但显示的模型列表可能不是最新的。",
"Bearer": "Bearer(使用 API 密钥",
"Bearer": "密钥(Bearer",
"before": "之前",
"Being lazy": "回答不完整或敷衍了事",
"Beta": "Beta",
@ -189,7 +189,7 @@
"Bocha Search API Key": "Bocha Search API 密钥",
"Bold": "粗体",
"Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "为受限响应提升或惩罚特定标记。偏置值将被限制在 -100 到 100包括两端之间。默认",
"Both Docling OCR Engine and Language(s) must be provided or both left empty.": "必需同时提供 Docling OCR 引擎和所需语言,或者都留空。",
"Both Docling OCR Engine and Language(s) must be provided or both left empty.": "必需同时提供 Docling 文字识别引擎和所需语言,或者都留空。",
"Brave Search API Key": "Brave Search API 密钥",
"Bullet List": "无序列表",
"Button ID": "按钮 ID",
@ -428,9 +428,9 @@
"Displays citations in the response": "在回答中显示引用来源",
"Displays status updates (e.g., web search progress) in the response": "在回答中显示实时状态信息(例如:网络搜索进度)",
"Dive into knowledge": "纵览知识",
"dlparse_v1": "",
"dlparse_v2": "",
"dlparse_v4": "",
"dlparse_v1": "dlparse_v1",
"dlparse_v2": "dlparse_v2",
"dlparse_v4": "dlparse_v4",
"Do not install functions from sources you do not fully trust.": "切勿安装不可信来源的函数",
"Do not install tools from sources you do not fully trust.": "切勿安装不可信来源的工具",
"Docling": "Docling",
@ -530,8 +530,8 @@
"Enter Datalab Marker API Base URL": "输入 Datalab Marker API 请求 URL",
"Enter Datalab Marker API Key": "输入 Datalab Marker API 密钥",
"Enter description": "输入简介描述",
"Enter Docling OCR Engine": "输入 Docling OCR Engine",
"Enter Docling OCR Language(s)": "输入 Docling OCR 语言",
"Enter Docling OCR Engine": "输入 Docling 文字识别引擎",
"Enter Docling OCR Language(s)": "输入 Docling 文字识别语言",
"Enter Docling Server URL": "输入 Docling 服务器 URL",
"Enter Document Intelligence Endpoint": "输入 Document Intelligence 端点",
"Enter Document Intelligence Key": "输入 Document Intelligence 密钥",
@ -689,7 +689,7 @@
"Failed to save models configuration": "保存模型配置失败",
"Failed to update settings": "更新设置失败",
"Failed to upload file.": "上传文件失败",
"fast": "",
"fast": "快速",
"Features": "功能",
"Features Permissions": "功能权限",
"February": "二月",
@ -727,8 +727,8 @@
"Follow Up Generation Prompt": "追问生成提示词",
"Follow-Up Auto-Generation": "自动生成追问",
"Followed instructions perfectly": "完全遵循指令",
"Force OCR": "强制 OCR 识别",
"Force OCR on all pages of the PDF. This can lead to worse results if you have good text in your PDFs. Defaults to False.": "强制对 PDF 所有页面执行 OCR 识别。若 PDF 中包含纯文本内容,该功能可能会降低识别准确率。默认为关闭",
"Force OCR": "强制文字识别",
"Force OCR on all pages of the PDF. This can lead to worse results if you have good text in your PDFs. Defaults to False.": "强制识别 PDF 所有的页面文字。若 PDF 中包含清晰且可直接复制的文本内容,该功能可能会降低识别准确率。默认为关闭",
"Forge new paths": "开辟新境",
"Form": "手动创建",
"Format Lines": "行内容格式化",
@ -831,7 +831,7 @@
"Import Prompts": "导入提示词",
"Import Tools": "导入工具",
"Important Update": "重要更新",
"In order to force OCR, performing OCR must be enabled.": "",
"In order to force OCR, performing OCR must be enabled.": "开启“强制文字识别”选项需要先开启“文字识别“选项。",
"Include": "包括",
"Include `--api-auth` flag when running stable-diffusion-webui": "运行 stable-diffusion-webui 时包含 `--api-auth` 参数",
"Include `--api` flag when running stable-diffusion-webui": "运行 stable-diffusion-webui 时包含 `--api` 参数",
@ -869,7 +869,7 @@
"June": "六月",
"Jupyter Auth": "Jupyter 身份验证",
"Jupyter URL": "Jupyter URL",
"JWT Expiration": "JWT 过期",
"JWT Expiration": "JWT 过期时间",
"JWT Token": "JWT 令牌",
"Kagi Search API Key": "Kagi 搜索 API 密钥",
"Keep Follow-Up Prompts in Chat": "在对话中保留追问提示词",
@ -1112,14 +1112,14 @@
"Password": "密码",
"Passwords do not match.": "两次输入的密码不一致。",
"Paste Large Text as File": "粘贴大文本为文件",
"PDF Backend": "",
"PDF Backend": "PDF 解析器后端",
"PDF document (.pdf)": "PDF 文档 (.pdf)",
"PDF Extract Images (OCR)": "PDF 图像处理(使用 OCR",
"PDF Extract Images (OCR)": "PDF 图像提取(使用文字识别",
"pending": "待激活",
"Pending": "待激活",
"Pending User Overlay Content": "用户待激活界面内容",
"Pending User Overlay Title": "用户待激活界面标题",
"Perform OCR": "",
"Pending User Overlay Content": "待激活用户界面内容",
"Pending User Overlay Title": "待激活用户界面标题",
"Perform OCR": "文字识别",
"Permission denied when accessing media devices": "申请媒体设备权限被拒绝",
"Permission denied when accessing microphone": "申请麦克风权限被拒绝",
"Permission denied when accessing microphone: {{error}}": "申请麦克风权限被拒绝:{{error}}",
@ -1135,7 +1135,7 @@
"Pinned": "已置顶",
"Pioneer insights": "洞悉未来",
"Pipe": "Pipe",
"Pipeline": "",
"Pipeline": "处理管线",
"Pipeline deleted successfully": "Pipeline 删除成功",
"Pipeline downloaded successfully": "Pipeline 下载成功",
"Pipelines": "Pipeline",
@ -1180,11 +1180,11 @@
"Prompts": "提示词",
"Prompts Access": "访问提示词",
"Prompts Public Sharing": "提示词公开共享",
"Provider Type": "服务提供商",
"Provider Type": "服务提供商类型",
"Public": "公共",
"Pull \"{{searchValue}}\" from Ollama.com": "从 Ollama.com 拉取“{{searchValue}}”",
"Pull a model from Ollama.com": "从 Ollama.com 拉取一个模型",
"pypdfium2": "",
"pypdfium2": "pypdfium2",
"Query Generation Prompt": "查询生成提示词",
"Querying": "查询中",
"Quick Actions": "快捷操作",
@ -1237,10 +1237,10 @@
"RESULT": "结果",
"Retrieval": "检索",
"Retrieval Query Generation": "检索查询生成",
"Retrieved {{count}} sources": "",
"Retrieved {{count}} sources_other": "检索到 {{count}} 个来源",
"Retrieved 1 source": "检索到 1 个来源",
"Rich Text Input for Chat": "对话富文本输入",
"Retrieved {{count}} sources": "检索到 {{count}} 个引用来源",
"Retrieved {{count}} sources_other": "检索到 {{count}} 个引用来源",
"Retrieved 1 source": "检索到 1 个引用来源",
"Rich Text Input for Chat": "富文本对话框",
"RK": "排名",
"Role": "角色",
"Rosé Pine": "玫瑰松木",
@ -1363,7 +1363,7 @@
"Shortcuts with an asterisk (*) are situational and only active under specific conditions.": "带星号 (*) 的快捷键受场景限制,仅在特定条件下生效。",
"Show": "显示",
"Show \"What's New\" modal on login": "在登录时显示“更新内容”弹窗",
"Show Admin Details in Account Pending Overlay": "在用户待激活界面中显示管理员邮箱等详细信息",
"Show Admin Details in Account Pending Overlay": "在待激活用户的界面中显示管理员邮箱等详细信息",
"Show All": "显示全部",
"Show Formatting Toolbar": "显示文本格式工具栏",
"Show image preview": "显示图像预览",
@ -1397,7 +1397,7 @@
"Speech recognition error: {{error}}": "语音识别错误:{{error}}",
"Speech-to-Text": "语音转文本",
"Speech-to-Text Engine": "语音转文本引擎",
"standard": "",
"standard": "标准",
"Start of the channel": "频道起点",
"Start Tag": "起始标签",
"Status Updates": "显示实时回答状态",
@ -1408,8 +1408,8 @@
"Stream Chat Response": "流式对话响应 (Stream Chat Response)",
"Stream Delta Chunk Size": "流式增量输出的分块大小Stream Delta Chunk Size",
"Strikethrough": "删除线",
"Strip Existing OCR": "清除现有 OCR 文本",
"Strip existing OCR text from the PDF and re-run OCR. Ignored if Force OCR is enabled. Defaults to False.": "清除 PDF 中现有的 OCR 文本并重新执行 OCR 识别。若启用“强制 OCR 识别”则此设置无效。默认为关闭",
"Strip Existing OCR": "清除现有文字识别内容",
"Strip existing OCR text from the PDF and re-run OCR. Ignored if Force OCR is enabled. Defaults to False.": "清除 PDF 中现有的文字识别内容并重新识别文字。若启用“强制文字识别”则此设置无效。默认为关闭",
"STT Model": "语音转文本模型",
"STT Settings": "语音转文本设置",
"Stylized PDF Export": "风格化 PDF 导出",
@ -1426,7 +1426,7 @@
"System": "系统",
"System Instructions": "系统指令",
"System Prompt": "系统提示词",
"Table Mode": "",
"Table Mode": "表格模式",
"Tags": "标签",
"Tags Generation": "标签生成",
"Tags Generation Prompt": "标签生成提示词",
@ -1609,7 +1609,7 @@
"View Result from **{{NAME}}**": "查看来自 **{{NAME}}** 的结果",
"Visibility": "可见性",
"Vision": "视觉",
"vlm": "",
"vlm": "视觉语言模型VLM",
"Voice": "语音",
"Voice Input": "语音输入",
"Voice mode": "语音模式",