open-webui v0.8.6 版本更新介绍
发布日期: 2026-03-01
版本号: v0.8.6
0.8.6版本更新于2026年3月1日。本次更新主要增强了Open Terminal集成,用户现在可以在聊天中浏览、读取、编辑和上传文件,并新增了文件创建、预览工具栏和自动刷新功能。管理方面增加了公开/私有模型筛选、批量显示/隐藏模型、个人用户共享控制以及OAuth资料自动同步等功能。性能方面,流式消息渲染、滚动、克隆、代码块及状态历史显示等多处处理速度得到显著提升。修复了数据库迁移、通知转义、工具调用错误处理、OAuth会话错误、密码管理器自动填充、RAG模板重复等多项问题,并解决了消息输入、侧边栏等多个组件的内存泄漏问题。此外,Docker镜像现已包含软件物料清单认证,管理员可配置安全报告端点,多处界面细节得到优化,并更新了多语言翻译。
更新内容 (中文)
[0.8.6] - 2026-03-01
新增功能
- 🖥️ Open Terminal 集成。 用户现在可以连接 Open Terminal 实例,在聊天中直接浏览、阅读和上传文件,终端作为常驻工具运行。文件导航包括文件夹浏览、图片和PDF预览、拖放上传、创建目录和删除文件。当前工作目录会自动注入工具描述中,以支持上下文感知的命令。提交、提交、提交
- 📄 终端文件创建。 用户现在可以在 Open Terminal 文件浏览器中直接创建新的空文件,已有的文件夹创建功能继续保留。提交
- ✏️ 终端文件编辑。 用户现在可以在 Open Terminal 文件浏览器中直接编辑文本文件,并将更改保存回终端。提交
- 🛠️ 终端文件预览工具栏。 Open Terminal 文件浏览器现在根据文件类型显示上下文工具栏按钮,包括Markdown和CSV文件的预览/源码切换、图片的视图重置,以及改进的文本文件编辑控件。提交
- 🔄 终端文件写入刷新。 通过 write_file 或 replace_file_content 工具写入或修改文件时,文件浏览器现在会自动刷新,无需手动刷新。提交
- 🛡️ Docker 镜像 SBOM 证明。 Docker 镜像现在包含软件物料清单 (SBOM),用于漏洞扫描和供应链安全合规性。#21779、提交
- 📡 Reporting-Endpoints 安全头。 管理员现在可以通过 REPORTING_ENDPOINTS 环境变量配置 Reporting-Endpoints 头部,直接接收 CSP 违规报告,有助于安全策略调试和加固。#21830
- 🎯 操作按钮优先级排序。 助手消息下的操作按钮现在根据函数 Valves 的优先级字段以一致顺序显示,允许开发者控制按钮位置。#21790
- 🏷️ 公共/私有模型筛选。 管理员设置中的模型列表现在显示公共/私有徽章,并包含筛选选项以便轻松查看公共或私有模型。#21732、#21797
- 👁️ 显示/隐藏所有模型批量操作。 管理员现在可以从管理员设置模型页面的操作菜单中一键显示或隐藏所有模型,加快模型可见性管理。批量操作成功时现在显示单个toast通知以提供更好的用户反馈。#21838、#21958
- 🔐 单个用户共享控制。 管理员现在可以通过 USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS 环境变量禁用单个用户共享,设置为 false 时仅允许基于组的共享。#21793、提交、提交
- 🔄 登录时 OAuth 配置文件同步。 管理员现在可以通过 OAUTH_UPDATE_NAME_ON_LOGIN 和 OAUTH_UPDATE_EMAIL_ON_LOGIN 环境变量,在登录时启用从 OAuth 提供商自动同步用户配置文件名称和电子邮件。#21787、提交
- 👥 默认组共享权限。 管理员现在可以通过 DEFAULT_GROUP_SHARE_PERMISSION 环境变量配置新组的默认共享权限,控制任何人、无人还是仅成员可以共享到新组。提交
- 💨 流式传输性能。 聊天响应在流式传输期间现在渲染更高效,减少 CPU 使用率并提高响应速度。提交
- 🧮 流式消息比较。 通过一项优化,跳过内容更改时的昂贵比较,聊天消息在流式传输期间的更新现在更快。#21884
- 🚀 流式滚动优化。 聊天在流式传输期间的自动滚动现在通过 requestAnimationFrame 批量处理滚动操作,更加高效,当令牌到达速度快于浏览器绘制速度时减少不必要的布局重排。#21946
- 📋 消息克隆性能。 由于使用了 structuredClone() 而非 JSON.parse(JSON.stringify(…)),流式传输期间的聊天消息克隆现在更高效。#21948
- 🎯 更快的代码块渲染。 聊天消息在流式传输期间的更新现在更快。#22101
- 📊 更快的状态历史显示。 聊天消息在流式传输期间的更新现在更快。#22103
- 🛠️ 更快的工具结果处理。 工具执行结果现在处理得更高效,提升了流式传输性能。#22104
- 💾 更快的模型和文件操作。 模型选择、文件准备和历史记录保存现在更快。#22102
- 🛠️ 工具服务器高级选项切换。 工具服务器模态框中的高级 OpenAPI 配置选项现在默认隐藏在切换按钮后面,简化基本设置的界面。管理员设置选项卡也从 “Tools” 重命名为 “Integrations” 以更清晰地组织。提交、提交
- 🔧 更快的工具加载。 当请求没有附加工具时,工具访问控制现在会跳过不必要的数据库查询,略微提升性能。#21873
- ➗ 更快的数学渲染。 数学符号现在渲染更高效,提升了聊天中显示方程式时的响应速度。#21880
- 🏎️ 更快的消息列表更新。 聊天消息列表在流式传输期间现在每个动画帧最多重建一次,减少 CPU 开销。#21885
- 📋 更快的消息渲染。 聊天消息在流式传输期间的渲染现在更高效。#22086
- 🗄️ 更快的实时聊天更新。 通过改进对并发用户的处理,聊天响应现在处理得更快。#22087
- 📝 更快的状态持久化。 在流式传输期间,现在只将最终状态更新保存到数据库中,减少不必要的写入。#22085
- 🔄 更快的事件匹配。 套接字处理程序中的事件处理现在更高效。提交
- 🔀 总体改进。 在应用程序中实施了各种改进,以增强性能、稳定性和安全性。
- 🌐 翻译更新。 增强和扩展了德语、葡萄牙语(巴西)、简体中文、繁体中文、加泰罗尼亚语和西班牙语的翻译。
修复问题
- 🗄️ 数据库迁移执行。 数据库迁移现在在启动时正确运行,修复了导致模式更新静默失败的循环导入问题。#21848、提交
- 🔔 通知 HTML 转义。 通知消息现在正确转义 HTML 内容,与聊天消息中的行为匹配,确保界面渲染一致。#21860、提交
- 🛠️ 工具调用 JSON 错误处理。 当模型在工具调用参数中生成格式错误的JSON时,聊天不再崩溃;而是返回描述性错误消息供模型重试。#21984、提交
- 🧠 推理模型 KV 缓存保留。 推理模型思考标签不再作为HTML存储在数据库中,保留了 llama.cpp 等后端的KV缓存效率,确保后续对话轮次更快。#21815、提交
- ⚡ 防止重复模型执行。 当未配置工具时,模型不再被调用两次,消除了不必要的API请求并减少延迟。#21802、提交
- 🔐 OAuth 会话数据库错误。 OAuth 登录在创建会话时不再因数据库错误而失败,修复了在 OAuth 组创建期间发生的 “‘NoneType’ object has no attribute ‘id’” 和 “can’t adapt type ‘dict’” 错误。#21788
- 👤 用户共享权限执行。 用户共享选项现在正确遵守 USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS 设置,修复了即使禁用仍允许与单个用户共享的问题。#21856、提交、提交
- 🔑 密码管理器自动填充。 密码管理器自动填充(如 iCloud 密码、1Password、Bitwarden)现在能正确捕获填入的密码,修复了密码显示已填入但作为字符串发送导致的登录失败。#21869、提交
- 📝 RAG 模板重复。 当模型进行多次工具调用时,RAG 模板不再在聊天消息中重复,防止幻觉和错误的工具使用。#21780、提交
- 📋 审计日志 stdout。 当 ENABLE_AUDIT_STDOUT 环境变量设置为 true 时,审计日志现在正确显示在 stdout 上,使运行时行为与预期配置保持一致。#21777
- 🎯 函数阀门优先级解析。 当数据库中没有保存自定义值时,代码中定义的函数优先级现在被正确应用,确保操作按钮和过滤器顺序一致。#21841
- 📄 网页内容知识库追加。 使用 overwrite=false 处理网页URL现在能正确将内容追加到现有知识库,而不是静默地不执行操作,修复了未添加任何内容的回归问题。#21786、提交
- 🔍 网络搜索域过滤配置。 WEB_SEARCH_DOMAIN_FILTER_LIST 环境变量现在被正确读取和应用,修复了网络搜索的域过滤始终使用空默认值的问题。#21964、#20186
- 🧹 工具提示内存泄漏。 当元素更改时,工具提示实例现在被正确销毁,修复了可能导致性能随时间下降的内存泄漏。#21969
- ⌨️ MessageInput 内存泄漏。 消息输入组件中的事件监听器现在被正确清理,防止了可能导致长时间使用期间页面崩溃的内存泄漏。#21968
- 📝 笔记内存泄漏。 笔记组件中的事件监听器现在被正确清理,修复了可能导致长时间使用期间页面崩溃的内存泄漏。#21963
- 🏗️ 模型创建内存泄漏。 模型创建页面中的事件监听器现在被正确清理,修复了可能导致长时间使用期间页面崩溃的内存泄漏。#21966
- 💬 MentionList 内存泄漏。 MentionList 组件中的事件监听器现在被正确清理,修复了可能导致长时间使用期间页面崩溃的内存泄漏。#21965
- 📐 侧边栏内存泄漏。 侧边栏组件中的事件监听器现在被正确清理,修复了可能导致长时间使用期间页面崩溃的内存泄漏。#22082
- 🎨 侧边栏用户菜单定位。 当侧边栏调整大小时,侧边栏用户菜单不再向右漂移,使菜单与其触发器正确对齐。#21853
- 💻 代码块 UI。 代码块标题现在固定在顶部并正确定位,语言标签现在为截断的文本显示工具提示。提交
- 📊 多模型响应水平滚动。 多模型响应选项卡中的模型列表现在具有水平滚动支持,使所有模型在桌面屏幕上可访问。#21800、提交
- 🎭 TailwindCSS 灰色颜色主题。 自定义灰色调色板现在正确应用于 CSS 根主题层,修复了 –color-gray-x 变量缺失的问题。#21900、#21899
- 📎 损坏的文档链接。 修复了后端配置和管理员设置中指向过时文档位置的损坏链接。#21904
- 🔓 OAuth 会话令牌解密。 OAuth 会话现在在令牌解密之前正确地从数据库上下文中分离,防止在读取加密令牌时发生潜在的数据库会话冲突。#21794
- 🕐 聊天时间戳国际化修复。 侧边栏中的聊天时间戳现在显示正确,修复了由于翻译函数中变量大小写不正确导致 “XXm”、“XXh”、“XXd” 格式的时间显示未正确本地化的问题。提交
- 🍞 模型toast通知修复。 隐藏或显示单个模型现在只显示一个toast通知,而不是两个,移除了当显示特定操作toast时的冗余通用 “model updated” 消息。#22079
- 📡 离线模式嵌入模型修复。 在离线模式下,Open WebUI 不再尝试下载嵌入模型,修复了尝试获取未本地缓存的模型时出现的错误日志。#22106、#21405
更新内容 (原始)
[0.8.6] - 2026-03-01
Added
- 🖥️ Open Terminal integration. Users can now connect to Open Terminal instances to browse, read, and upload files directly in chat, with the terminal acting as an always-on tool. File navigation includes folder browsing, image and PDF previews, drag-and-drop uploads, directory creation, and file deletion. The current working directory is automatically injected into tool descriptions for context-aware commands. Commit, Commit, Commit
- 📄 Terminal file creation. Users can now create new empty files directly in the Open Terminal file browser, in addition to the existing folder creation functionality. Commit
- ✏️ Terminal file editing. Users can now edit text files directly in the Open Terminal file browser, with the ability to save changes back to the terminal. Commit
- 🛠️ Terminal file preview toolbar. The Open Terminal file browser now displays contextual toolbar buttons based on file type, including preview/source toggle for Markdown and CSV files, reset view for images, and improved editing controls for text files. Commit
- 🔄 Terminal file write refresh. The file browser now automatically refreshes when files are written or modified via the write_file or replace_file_content tools, eliminating the need to manually refresh. Commit
- 🛡️ Docker image SBOM attestation. Docker images now include a Software Bill of Materials (SBOM) for vulnerability scanning and supply chain security compliance. #21779, Commit
- 📡 Reporting-Endpoints security header. Administrators can now configure a Reporting-Endpoints header via the REPORTING_ENDPOINTS environment variable to receive CSP violation reports directly, aiding in security policy debugging and hardening. #21830
- 🎯 Action button priority sorting. Action buttons under assistant messages now appear in a consistent order based on the priority field from function Valves, allowing developers to control button placement. #21790
- 🏷️ Public/Private model filtering. The Admin Settings Model listing now displays Public/Private badges and includes filter options to easily view public or private models. #21732, #21797
- 👁️ Show/Hide all models bulk action. Administrators can now show or hide all models at once from the Admin Settings Models page Actions menu, making it faster to manage model visibility. Bulk actions now display a single toast notification on success for better user feedback. #21838, #21958
- 🔐 Individual user sharing control. Administrators can now disable individual user sharing via the USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS environment variable, allowing only group-based sharing when set to false. #21793, Commit, Commit
- 🔄 OAuth profile sync on login. Administrators can now enable automatic synchronization of user profile name and email from OAuth providers on login via the OAUTH_UPDATE_NAME_ON_LOGIN and OAUTH_UPDATE_EMAIL_ON_LOGIN environment variables. #21787, Commit
- 👥 Default group share permission. Administrators can now configure the default sharing permission for new groups via the DEFAULT_GROUP_SHARE_PERMISSION environment variable, controlling whether anyone, no one, or only members can share to new groups. Commit
- 💨 Streaming performance. Chat responses now render more efficiently during streaming, reducing CPU usage and improving responsiveness. Commit
- 🧮 Streaming message comparison. Chat message updates during streaming are now faster thanks to an optimization that skips expensive comparisons when content changes. #21884
- 🚀 Streaming scroll optimization. Chat auto-scroll during streaming is now more efficient by batching scroll operations via requestAnimationFrame, reducing unnecessary layout reflows when tokens arrive faster than the browser can paint. #21946
- 📋 Message cloning performance. Chat message cloning during streaming is now more efficient thanks to the use of structuredClone() instead of JSON.parse(JSON.stringify(…)). #21948
- 🎯 Faster code block rendering. Chat message updates during streaming are now faster. #22101
- 📊 Faster status history display. Chat message updates during streaming are now faster. #22103
- 🛠️ Faster tool result handling. Tool execution results are now handled more efficiently, improving streaming performance. #22104
- 💾 Faster model and file operations. Model selection, file preparation, and history saving are now faster. #22102
- 🛠️ Tool server advanced options toggle. Advanced OpenAPI configuration options in the tool server modal are now hidden by default behind a toggle, simplifying the interface for basic setups. The admin settings tab was also renamed from “Tools” to “Integrations” for clearer organization. Commit, Commit
- 🔧 Faster tool loading. Tool access control now skips an unnecessary database query when no tools are attached to the request, slightly improving performance. #21873
- ➗ Faster math rendering. Mathematical notation now renders more efficiently, improving responsiveness when displaying equations in chat. #21880
- 🏎️ Faster message list updates. The chat message list now rebuilds at most once per animation frame during streaming, reducing CPU overhead. #21885
- 📋 Faster message rendering. Chat message rendering is now more efficient during streaming. #22086
- 🗄️ Faster real-time chat updates. Chat responses now process faster with improved handling for concurrent users. #22087
- 📝 Faster status persistence. Only final status updates are now saved to the database during streaming, reducing unnecessary writes. #22085
- 🔄 Faster event matching. Event handling in the socket handler is now more efficient. Commit
- 🔀 General improvements. Various improvements were implemented across the application to enhance performance, stability, and security.
- 🌐 Translation updates. Translations for German, Portuguese (Brazil), Simplified Chinese, Traditional Chinese, Catalan, and Spanish were enhanced and expanded.
Fixed
- 🗄️ Database migration execution. Database migrations now run correctly on startup, fixing a circular import issue that caused schema updates to fail silently. #21848, Commit
- 🔔 Notification HTML escaping. Notification messages now properly escape HTML content, matching the behavior in chat messages and ensuring consistent rendering across the interface. #21860, Commit
- 🛠️ Tool call JSON error handling. Chat no longer crashes when models generate malformed JSON in tool call arguments; instead, a descriptive error message is returned to the model for retry. #21984, Commit
- 🧠 Reasoning model KV cache preservation. Reasoning model thinking tags are no longer stored as HTML in the database, preserving KV cache efficiency for backends like llama.cpp and ensuring faster subsequent conversation turns. #21815, Commit
- ⚡ Duplicate model execution prevention. Models are no longer called twice when no tools are configured, eliminating unnecessary API requests and reducing latency. #21802, Commit
- 🔐 OAuth session database error. OAuth login no longer fails with a database error when creating sessions, fixing the “‘NoneType’ object has no attribute ‘id’” and “can’t adapt type ‘dict’” errors that occurred during OAuth group creation. #21788
- 👤 User sharing permission enforcement. The user sharing option now correctly respects the USER_PERMISSIONS_ACCESS_GRANTS_ALLOW_USERS setting, fixing an issue where sharing to individual users was incorrectly allowed even when disabled. #21856, Commit, Commit
- 🔑 Password manager autofill. Password manager autofill (like iCloud Passwords, 1Password, Bitwarden) now correctly captures filled-in passwords, fixing login failures where the password appeared filled but was sent as empty. #21869, Commit
- 📝 RAG template duplication. RAG templates are no longer duplicated in chat messages when models make multiple tool calls, preventing hallucinations and incorrect tool usage. #21780, Commit
- 📋 Audit log stdout. Audit logs now correctly appear on stdout when the ENABLE_AUDIT_STDOUT environment variable is set to true, aligning runtime behavior with the intended configuration. #21777
- 🎯 Function valve priority resolution. Function priorities defined in code are now correctly applied when no custom value has been saved in the database, ensuring consistent action button and filter ordering. #21841
- 📄 Web content knowledge base append. Processing web URLs with overwrite=false now correctly appends content to existing knowledge bases instead of silently doing nothing, fixing a regression where no content was being added. #21786, Commit
- 🔍 Web search domain filter config. The WEB_SEARCH_DOMAIN_FILTER_LIST environment variable is now correctly read and applied, fixing an issue where domain filtering for web searches always used an empty default value. #21964, #20186
- 🧹 Tooltip memory leak. Tooltip instances are now properly destroyed when elements change, fixing a memory leak that could cause performance issues over time. #21969
- ⌨️ MessageInput memory leak. Event listeners in the message input component are now properly cleaned up, preventing a memory leak that could cause page crashes during extended use. #21968
- 📝 Notes memory leak. Event listeners in the Notes component are now properly cleaned up, fixing a memory leak that could cause page crashes during extended use. #21963
- 🏗️ Model create memory leak. Event listeners in the model creation page are now properly cleaned up, fixing a memory leak that could cause page crashes during extended use. #21966
- 💬 MentionList memory leak. Event listeners in the MentionList component are now properly cleaned up, fixing a memory leak that could cause page crashes during extended use. #21965
- 📐 Sidebar memory leak. Event listeners in the Sidebar component are now properly cleaned up, fixing a memory leak that could cause page crashes during extended use. #22082
- 🎨 Sidebar user menu positioning. The sidebar user menu no longer drifts rightward when the sidebar is resized, keeping the menu properly aligned with its trigger. #21853
- 💻 Code block UI. Code block headers are now sticky and properly positioned, with language labels now showing tooltips for truncated text. Commit
- 📊 Multi-model responses horizontal scroll. The model list in multi-model responses tabs now has horizontal scroll support, making all models accessible on desktop screens. #21800, Commit
- 🎭 TailwindCSS gray color theme. Custom gray color palette is now correctly applied to the CSS root theme layer, fixing an issue where –color-gray-x variables were missing. #21900, #21899
- 📎 Broken documentation links. Fixed broken links in the backend config and admin settings that pointed to outdated documentation locations. #21904
- 🔓 OAuth session token decryption. OAuth sessions are now properly detached from the database context before token decryption, preventing potential database session conflicts when reading encrypted tokens. #21794
- 🕐 Chat timestamp i18n fix. Chat timestamps in the sidebar now display correctly, fixing an issue where the time ago format (e.g., “5m”, “2h”, “3d”) was not being localized properly due to incorrect variable casing in the translation function. Commit
- 🍞 Model toast notification fix. Hiding or showing a single model now displays only one toast notification instead of two, removing the redundant generic “model updated” message when a specific action toast is shown. #22079
- 📡 Offline mode embedding model fix. Open WebUI no longer attempts to download embedding models when in offline mode, fixing error logs that occurred when trying to fetch models that weren’t cached locally. #22106, #21405