Skip to content
Merged

Dev #224

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/docker-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,9 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Delete huge unnecessary tools folder
run: rm -rf /opt/hostedtoolcache

- name: Checkout repository
uses: actions/checkout@v5

Expand Down Expand Up @@ -242,6 +245,9 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Delete huge unnecessary tools folder
run: rm -rf /opt/hostedtoolcache

- name: Checkout repository
uses: actions/checkout@v5

Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ 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.38] - 2025-11-24

### Fixed

- 🔍 Hybrid search now works reliably after recent changes.
- 🛠️ Tool server saving now handles errors gracefully, preventing failed saves from impacting the UI.
- 🔐 SSO/OIDC code fixed to improve login reliability and better handle edge cases.

## [0.6.37] - 2025-11-24

### Added
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG_EXTRA.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ 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.38.1] - 2025.11.24

### Changed

- 合并官方 0.6.38 改动

## [0.6.37.1] - 2025.11.24

### Added
Expand Down
5 changes: 5 additions & 0 deletions backend/open_webui/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,11 @@ def __getattr__(self, key):
os.environ.get("OAUTH_UPDATE_PICTURE_ON_LOGIN", "False").lower() == "true",
)

OAUTH_ACCESS_TOKEN_REQUEST_INCLUDE_CLIENT_ID = (
os.environ.get("OAUTH_ACCESS_TOKEN_REQUEST_INCLUDE_CLIENT_ID", "False").lower()
== "true"
)


def load_oauth_providers():
OAUTH_PROVIDERS.clear()
Expand Down
37 changes: 34 additions & 3 deletions backend/open_webui/retrieval/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,20 @@ class VectorSearchRetriever(BaseRetriever):
embedding_function: Any
top_k: int

def _get_relevant_documents(
self, query: str, *, run_manager: CallbackManagerForRetrieverRun
) -> list[Document]:
"""Get documents relevant to a query.

Args:
query: String to find relevant documents for.
run_manager: The callback handler to use.

Returns:
List of relevant documents.
"""
return []

async def _aget_relevant_documents(
self,
query: str,
Expand Down Expand Up @@ -1164,6 +1178,25 @@ class Config:
extra = "forbid"
arbitrary_types_allowed = True

def compress_documents(
self,
documents: Sequence[Document],
query: str,
callbacks: Optional[Callbacks] = None,
) -> Sequence[Document]:
"""Compress retrieved documents given the query context.

Args:
documents: The retrieved documents.
query: The query context.
callbacks: Optional callbacks to run during compression.

Returns:
The compressed documents.

"""
return []

async def acompress_documents(
self,
documents: Sequence[Document],
Expand All @@ -1174,9 +1207,7 @@ async def acompress_documents(

scores = None
if reranking:
scores = self.reranking_function(
[(query, doc.page_content) for doc in documents]
)
scores = self.reranking_function(query, documents)
else:
from sentence_transformers import util

Expand Down
9 changes: 6 additions & 3 deletions backend/open_webui/utils/oauth.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
OAUTH_ADMIN_ROLES,
OAUTH_ALLOWED_DOMAINS,
OAUTH_UPDATE_PICTURE_ON_LOGIN,
OAUTH_ACCESS_TOKEN_REQUEST_INCLUDE_CLIENT_ID,
WEBHOOK_URL,
JWT_EXPIRES_IN,
AppConfig,
Expand Down Expand Up @@ -1273,11 +1274,13 @@ async def handle_callback(self, request, provider, response):
client = self.get_client(provider)

auth_params = {}

if client:
if hasattr(client, "client_id"):
if (
hasattr(client, "client_id")
and OAUTH_ACCESS_TOKEN_REQUEST_INCLUDE_CLIENT_ID
):
auth_params["client_id"] = client.client_id
if hasattr(client, "client_secret"):
auth_params["client_secret"] = client.client_secret

try:
token = await client.authorize_access_token(request, **auth_params)
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "open-webui",
"version": "0.6.37.1",
"version": "0.6.38.1",
"private": true,
"scripts": {
"dev": "npm run pyodide:fetch && vite dev --host",
Expand Down
1 change: 1 addition & 0 deletions src/lib/components/AddToolServerModal.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@
headers = JSON.stringify(_headers, null, 2);
} catch (error) {
toast.error($i18n.t('Headers must be a valid JSON object'));
loading = false;
return;
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/lib/i18n/locales/zh-CN/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
"Archived Chats": "已归档对话",
"archived-chat-export": "导出已归档对话",
"Are you sure you want to clear all memories? This action cannot be undone.": "您确认要清除所有记忆吗?清除后无法还原。",
"Are you sure you want to delete \"{{NAME}}\"?": "",
"Are you sure you want to delete \"{{NAME}}\"?": "您确认要删除“{{NAME}}”吗?",
"Are you sure you want to delete this channel?": "您确认要删除此频道吗?",
"Are you sure you want to delete this message?": "您确认要删除此消息吗?",
"Are you sure you want to unarchive all archived chats?": "您确认要取消所有已归档的对话吗?",
Expand Down Expand Up @@ -441,7 +441,7 @@
"Delete {{count}} Logs Successfully_other": "成功删除 {{count}} 条日志",
"Delete a model": "删除模型",
"Delete All Chats": "删除所有对话记录",
"Delete all contents inside this folder": "",
"Delete all contents inside this folder": "删除此分组内的所有内容",
"Delete All Models": "删除所有模型",
"Delete Chat": "删除对话记录",
"Delete chat?": "要删除此对话记录吗?",
Expand Down Expand Up @@ -1080,7 +1080,7 @@
"Max Upload Size": "最大上传大小",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可同时下载 3 个模型,请稍后重试。",
"May": "五月",
"MBR": "",
"MBR": "成员",
"MCP": "MCP",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP 支持仍处于实验阶段,因其规范变化频繁,可能会出现不兼容的情况。而 OpenAPI 规范由 Open WebUI 团队维护,在兼容性方面更加可靠。",
"Medium": "中",
Expand Down
6 changes: 3 additions & 3 deletions src/lib/i18n/locales/zh-TW/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
"Archived Chats": "封存的對話紀錄",
"archived-chat-export": "archived-chat-export",
"Are you sure you want to clear all memories? This action cannot be undone.": "您確定要清除所有記憶嗎?此操作無法復原。",
"Are you sure you want to delete \"{{NAME}}\"?": "",
"Are you sure you want to delete \"{{NAME}}\"?": "您確定要刪除「{{NAME}}」嗎?",
"Are you sure you want to delete this channel?": "您確定要刪除此頻道嗎?",
"Are you sure you want to delete this message?": "您確定要刪除此訊息嗎?",
"Are you sure you want to unarchive all archived chats?": "您確定要解除封存所有封存的對話記錄嗎?",
Expand Down Expand Up @@ -441,7 +441,7 @@
"Delete {{count}} Logs Successfully_other": "",
"Delete a model": "刪除模型",
"Delete All Chats": "刪除所有對話紀錄",
"Delete all contents inside this folder": "",
"Delete all contents inside this folder": "刪除此資料夾內的所有內容",
"Delete All Models": "刪除所有模型",
"Delete Chat": "刪除對話紀錄",
"Delete chat?": "刪除對話紀錄?",
Expand Down Expand Up @@ -1080,7 +1080,7 @@
"Max Upload Size": "最大上傳大小",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多同時下載 3 個模型。請稍後再試。",
"May": "5 月",
"MBR": "",
"MBR": "成員",
"MCP": "MCP",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP 支援為實驗性功能,其規範經常變更,可能導致不相容問題。OpenAPI 規範支援直接由 Open WebUI 團隊維護,是相容性更可靠的選擇。",
"Medium": "中",
Expand Down
Loading