简报·YT
← 返回 GitHub 动态
open-webui/open-webui · 📈 热门项目 已完成

open-webui/open-webui v0.12.1

2026-10-14 16:06 · ⭐ 15.6万 · GitHub Release 原文 ↗
#开源项目 #版本发布 #AI平台

open-webui/open-webui v0.12.1

一句话概括:这个版本把频道(Channels)从"内部聊天"扩展成可接入外部 App 的开放平台,同时补强语音通话/头像体验、协作与检索效率,并集中修复了 0.12.0 引入的多项回归问题(SCIM 用户 SSO 登录、断线重连风暴等);由于包含数据库 schema 变更,升级需先备份。

项目简介

Open WebUI 是一个可自托管的 AI 对话平台/前端,用于统一接入各种模型与工具(本地或云端),把聊天、知识库、工具调用、语音、频道协作等能力整合到一个界面里。它维护活跃、功能迭代快,适合想在自己的服务器上掌控数据与模型选型的团队与个人。

新增能力

修复问题

升级回归(0.12.0 引入)

Redis / 基础设施

知识库与引用

聊天与协作

编辑器与模型管理

语音 / 头像 / 通话

其它修复

破坏性变更与升级注意

行为变更

▸ Release Notes 英文原文(27783 字符)
### Added - 🧱 **External apps in channels.** Administrators can now turn on Apps in Admin Settings > General, or with "ENABLE_APPS", and connect external apps in the new Apps tab of Admin Settings by their HTTPS address, reviewing the permissions each app asks for, such as reading its mentions, reading channel messages or posting messages, and choosing who may use it; channel managers then add an app to a channel with Add Members in the channel info, where it is listed with the members and its own profile picture, and mentioning it with @ lets it answer in the channel with replies that can be shown only to the person who asked, show cards with a title, fields and a thumbnail, offer buttons or links, follow up with a later message for longer tasks or provide a Markdown file to download. Apps on a private network address can be reached over plain HTTP once their address is listed in "APP_ALLOWED_PRIVATE_ORIGINS". Open WebUI keeps a live connection to each app, Admin Settings > Apps shows whether it is connected, and a failed connection names the cause, such as a rejected API key, a wrong public key or an unreachable address. [Commit](https://github.com/open-webui/open-webui/commit/04bccecb8e3289c9336404c1ab4c6d124fabdc2f), [Commit](https://github.com/open-webui/open-webui/commit/774007d7284f6266b4df728eb661c50e165cf2b2), [Commit](https://github.com/open-webui/open-webui/commit/2ba35625b35b2bd92fa34033dedfc29d2ab1e5fb), [Commit](https://github.com/open-webui/open-webui/commit/2d4712824218faa96d9da7d7772f78f2872f25db), [Commit](https://github.com/open-webui/open-webui/commit/4ab60527e70ffb3c75c6bf9d1ce12578dcf15e96), [Commit](https://github.com/open-webui/open-webui/commit/e9635596ddef29589ab3c747da4e7563bd77ad2f), [Commit](https://github.com/open-webui/open-webui/commit/d823ebd96d2996e2d8a5cd4cf5596c5e8b8db1fd), [Commit](https://github.com/open-webui/open-webui/commit/1786d6cdb0a9db80649816eaa987da4aba5de0ed), [Commit](https://github.com/open-webui/open-webui/commit/03f5191acab77a5e3ab9ed3c09f9e2e8ba889c20), [Commit](https://github.com/open-webui/open-webui/commit/be6f0a66562920f38fcb0a876ce54970a47d169c) - 🎭 **Avatars in Standard voice calls.** A model's avatar now also appears in voice calls that use the Standard call mode, moves with the spoken reply and can play the model's gestures when the model uses native function calling, where avatars and gestures only worked in Realtime calls; the Voice avatar setting in the model editor is now shown even when Realtime is off. [Commit](https://github.com/open-webui/open-webui/commit/78613d86f7564d1927ebf5f11292419fdeadb18c) - 🪪 **Profile cards from profile pictures.** Clicking the picture of the person who wrote a message in a shared chat, of a shared chat's owner in the sidebar or of a direct message partner in the sidebar now opens their profile card. [Commit](https://github.com/open-webui/open-webui/commit/a165c8385843c4f87e3eeb5797527004765e5708) - 🗂️ **Open sidebar folders in a new tab.** Folders in the sidebar can now be opened in a new tab with a middle click or Ctrl or Cmd click, and their link can be copied from the browser's context menu. [Commit](https://github.com/open-webui/open-webui/commit/ed3caa5619b8a577d0fc2fe2b6bdae90fc47ac69), [#29750](https://github.com/open-webui/open-webui/issues/29750) - 🔀 **Compare and merge a revision.** The skill file editor, the prompt editor and the system prompt in the model editor have a Compare revision button, and the chat input has Compare text in its + menu and a /compare command, each opening a side-by-side view where you paste a proposed revision, for example one written by a model, step through each change, copy changes in either direction and apply the result to your draft, the skill file editor also gets a Copy button for the open file, and comparing two files in the terminal file browser, with Select for Compare and Compare with Selected, now opens the same view. [Commit](https://github.com/open-webui/open-webui/commit/ab518a43218e5d1549292f7d995895cf4e8afd93), [Commit](https://github.com/open-webui/open-webui/commit/b374e0bb263d3793f024af1038e40e15a7f14867), [Commit](https://github.com/open-webui/open-webui/commit/cae8a7e19943332cae6f1f35bbe8f7b51eadf48c), [Commit](https://github.com/open-webui/open-webui/commit/ff502881e0d3e4acf58d4d756e3144fde259e042), [Commit](https://github.com/open-webui/open-webui/commit/1045d74c757bdd08151e2c18e0d44155a590495f), [Commit](https://github.com/open-webui/open-webui/commit/d51fffb4688d84310abba73301bc2f0c76c62c89), [Commit](https://github.com/open-webui/open-webui/commit/de642f1dba23d0cb5b2305704947e381c26f53c0), [Commit](https://github.com/open-webui/open-webui/commit/b0ba137551e1290062d8d1f3dba8ab7c6f884a1d) - 🔕 **Mute channels.** The menu of a channel or direct message now has a Notifications setting where Mentions only mutes it, so it no longer shows an unread count or notifies you unless someone @mentions you. [Commit](https://github.com/open-webui/open-webui/commit/e5c80682b9dc9a38274dc81eeb35a3c41be6dfd0) - 📤 **Export a skill as a .skill file.** The skill menu has Export .skill, which downloads one skill with all its files as a single .skill archive, and .skill files can be imported like ZIP files, from disk or a link. [Commit](https://github.com/open-webui/open-webui/commit/fe0e725997a7f7be16e7463b3731f0340b5a62ab) - 📣 **Typed mentions in channels.** Writing @ name or #channel in a channel message without picking from the list now turns it into a real mention when the name matches a member, model, app or channel, and mentions pasted from another message keep pointing at the same person. [Commit](https://github.com/open-webui/open-webui/commit/f9c524d31d7737239aa990751cca4705e3872cb8), [Commit](https://github.com/open-webui/open-webui/commit/ba3e2273586850f3c69f61d70bfa7e603f32634b) - 👥 **Who wrote in a shared chat.** Chats in shared folders now show the pictures of everyone who wrote in them, up to three and a count for the rest, each opening that person's profile card. [Commit](https://github.com/open-webui/open-webui/commit/35c927ba99bea3997f57899008df2a2abd8b9354) - 🗂 **Folder previews on hover.** Hovering a folder in the sidebar shows a card with its default model, its knowledge and its chat counts, with a button to edit the folder. [Commit](https://github.com/open-webui/open-webui/commit/e5c80682b9dc9a38274dc81eeb35a3c41be6dfd0) - 🎠 **Turn and zoom the voice avatar.** In voice calls and in the model editor preview, the voice avatar can now be turned by dragging, panned with a right drag, Shift drag or two fingers, zoomed with the mouse wheel or a pinch and reset with a double click. [#32378](https://github.com/open-webui/open-webui/pull/32378) - 🔍 **Faster one-word chat search.** Searching your chats for a single word is now about 40% faster, as each chat is checked once instead of twice. [#32268](https://github.com/open-webui/open-webui/pull/32268), [#32266](https://github.com/open-webui/open-webui/issues/32266) - 👯 **Message pairs for every model.** Generate Message Pair, Ctrl+Shift+Enter, now adds a placeholder reply for each selected model side by side, where only the first model got one, and the side-by-side view stays after a reload. [#32309](https://github.com/open-webui/open-webui/pull/32309) - 🔆 **Screen on during calls.** The screen now stays on during Realtime voice calls as well as Standard ones and is allowed to turn off again once the call ends, where Realtime calls let it go dark and Standard calls kept it on after closing the call. [Commit](https://github.com/open-webui/open-webui/commit/a9227421d847eb51d7c59ec336420bbb20dfbcc8), [#32251](https://github.com/open-webui/open-webui/issues/32251) - ☁️ **Azure OpenAI Realtime calls.** Realtime voice calls can now use Azure OpenAI: in the Voice calls section of Audio settings, administrators pick Azure OpenAI as the Provider, enter the Azure endpoint and the deployment name and sign in with an API key or with Microsoft Entra ID, and clearer errors now point to wrong credentials or a wrong URL or deployment, with the "AUDIO_REALTIME_PROVIDER" and "AUDIO_REALTIME_AUTH_TYPE" environment variables for the new settings. [Commit](https://github.com/open-webui/open-webui/commit/3ec07745036897f52bacf24351dd71f999902034), [#32343](https://github.com/open-webui/open-webui/issues/32343) - 📊 **Input and output tokens in analytics.** The Analytics dashboard now shows model usage and user activity in one table with a Models and Users switch, and both lists show input, output and total tokens as separate columns that can each be sorted, where they showed a single Tokens column. [Commit](https://github.com/open-webui/open-webui/commit/00f12c0e47fb47b1318a20e97bacc753e769612b), [Commit](https://github.com/open-webui/open-webui/commit/21322d9cb192060b51857769c0ad9f9f14e1185d) - 🎚️ **Realtime input parameters.** Administrators can now add extra settings for the audio input of Realtime voice calls as JSON under Input Parameters in the Voice calls section of Audio settings, such as noise reduction, or with the "AUDIO_REALTIME_INPUT_PARAMS" environment variable. [Commit](https://github.com/open-webui/open-webui/commit/00f12c0e47fb47b1318a20e97bacc753e769612b) - 🔄 **General improvements.** Various improvements were implemented across the application to enhance performance, stability, and security. - 🌐 **Translation updates.** Translations for Portuguese (Brazil), Italian, Czech, Romanian, Dutch, Ukrainian, Polish, Thai, Spanish, Malay, Persian, Korean, Arabic, Japanese, Indonesian, Russian, Vietnamese, Turkish, Hindi, German, Greek, Hungarian, Hebrew, Bulgarian, Swedish, Estonian, Norwegian Bokmål, Lithuanian, Croatian, Slovak, Bosnian, Danish, Slovenian, Galician, Latvian, Tibetan, Serbian, Bengali, Cebuano, Azerbaijani, Basque, Irish, Georgian, Kabyle, Punjabi, Faroese, Tamil, Uyghur, Urdu, Filipino and Turkmen were enhanced and expanded. ### Fixed - 🔓 **Skill editor and more over plain HTTP.** When Open WebUI is opened over plain HTTP at a network address, the skill editor, adding options to model controls, adding gestures to a voice avatar, Realtime voice calls and the Playground chat now work, where they failed with "crypto.randomUUID is not a function" and the skill editor stayed disabled. [Commit](https://github.com/open-webui/open-webui/commit/d786ed56c98e9b0fd4c8af111e1c95d4e00c7789), [Commit](https://github.com/open-webui/open-webui/commit/2eb77fc27f08924252d0abf5fe19182532075511), [#32238](https://github.com/open-webui/open-webui/issues/32238) - 📑 **Page titles for external knowledge citations.** Citations from external knowledge bases such as Qdrant, Milvus or pgvector whose source is a web address now show the page title in the source list below the answer, matching the numbered markers in the text, where the full address was shown. [#32232](https://github.com/open-webui/open-webui/pull/32232), [#32231](https://github.com/open-webui/open-webui/issues/32231) - 🧭 **Redis Sentinel master names with capital letters.** With Redis Sentinel, a master name with capital letters in "REDIS_URL", such as myMaster, the default of the OT-Container-Kit redis-operator, now works, where it was lowercased and every Redis call failed with "No master found". [#32234](https://github.com/open-webui/open-webui/pull/32234), [#31918](https://github.com/open-webui/open-webui/issues/31918) - 🔐 **Redis Sentinels with a password.** Redis Sentinels protected with a password now work, as the credentials in "REDIS_URL" and "WEBSOCKET_REDIS_URL" are also used for the Sentinels, where every Redis call failed with "No master found"; Sentinel credentials set in "WEBSOCKET_REDIS_OPTIONS" still take precedence. [#32241](https://github.com/open-webui/open-webui/pull/32241), [#32240](https://github.com/open-webui/open-webui/issues/32240) - 🔗 **External knowledge citation links.** Clicking the title or Content link of a citation from an external knowledge base such as Qdrant, Milvus or pgvector now opens the cited web page, or shows the title as plain text when the source is not a web address, where it led to a not found error. [#32233](https://github.com/open-webui/open-webui/pull/32233), [#32231](https://github.com/open-webui/open-webui/issues/32231) - 🧰 **Tools picked in new chats.** Tools picked from the Integrations menu, the Web Search toggle and a picked skill in a new chat now stay on after switching to another chat and back or reloading, where the chat fell back to the model's default tools and broke prompt caching. [#32235](https://github.com/open-webui/open-webui/pull/32235), [#32084](https://github.com/open-webui/open-webui/issues/32084) - 📅 **Recurring automations run once.** Automations set with the Daily, Weekly or Monthly picker now run at the exact minute chosen in your own timezone, where they could run twice for one occurrence, and users behind the server's timezone could have their first run moved to the next day. [#32264](https://github.com/open-webui/open-webui/pull/32264), [#32263](https://github.com/open-webui/open-webui/issues/32263) - 📵 **No voice calls in shared chats.** The Voice mode button no longer shows in a shared chat you can reply in, and a call that was open closes when you switch to one. [Commit](https://github.com/open-webui/open-webui/commit/3a54306c50f351e5d6e89e296cb32518535712ee) - 🙆 **VRM 0.x avatar rest pose.** Voice avatars made in the older VRM 0.x format now rest with their arms down and breathe and sway the right way, where their arms were raised and their idle motion was mirrored. [#32270](https://github.com/open-webui/open-webui/pull/32270), [#32269](https://github.com/open-webui/open-webui/issues/32269) - 🕶️ **Follow-ups in temporary chats.** Follow-up suggestions in temporary chats are now based on the reply just written, where they were generated without it. [Commit](https://github.com/open-webui/open-webui/commit/53a8f131f305a3beb87376d5dbc05889883fb950) - 🔁 **No reconnect loop after sign-in.** A tab where you signed in without reloading the page now reconnects signed in after a connection drop, such as sleep, a network change or a server restart, where since 0.12.0 it reconnected several times per second until the page was reloaded and put heavy load on the server. [#32341](https://github.com/open-webui/open-webui/pull/32341), [#32338](https://github.com/open-webui/open-webui/issues/32338) - 📎 **Note uploads no longer stuck.** A file uploaded to a note while another file or edit was saved now finishes and stays attached after a reload, where it kept spinning and was saved without its file. [#32328](https://github.com/open-webui/open-webui/pull/32328), [#32327](https://github.com/open-webui/open-webui/issues/32327) - 🪟 **Side-by-side replies after Regenerate.** Adding a second model and pressing Regenerate now keeps both replies side by side after a reload, where the second reply showed as another version of the first. [#32326](https://github.com/open-webui/open-webui/pull/32326), [#32325](https://github.com/open-webui/open-webui/issues/32325) - 👎 **Rating reason and comment kept.** The reason and comment saved in the rating form are no longer wiped a few seconds later when the generated tags arrive, both on the reply and in Admin Panel > Evaluations > Feedback. [#32334](https://github.com/open-webui/open-webui/pull/32334), [#32333](https://github.com/open-webui/open-webui/issues/32333) - 🐙 **GitHub skill imports with symlinks.** Importing a skill from a GitHub link now works when the repository has symlinks outside the skill folder, such as a CLAUDE.md link at the root, where it failed with "Archives cannot contain links or special files". [#32313](https://github.com/open-webui/open-webui/pull/32313), [#32312](https://github.com/open-webui/open-webui/issues/32312) - 🗒️ **Production versions with notes.** Setting an older model version as production now works when the model has a note attached as knowledge, where it failed with "Referenced knowledge is unavailable". [#32317](https://github.com/open-webui/open-webui/pull/32317), [#32316](https://github.com/open-webui/open-webui/issues/32316) - 📂 **Open knowledge file stays open.** Deleting a folder in a knowledge base no longer closes the file open in the viewer unless the delete removed that file. [#32319](https://github.com/open-webui/open-webui/pull/32319), [#32318](https://github.com/open-webui/open-webui/issues/32318) - 💾 **Save hidden on others' messages.** In a chat shared with Allow replies, editing a message someone else wrote no longer shows a Save button that silently reverted the text; Send and Save As Copy stay. [#32321](https://github.com/open-webui/open-webui/pull/32321), [#32320](https://github.com/open-webui/open-webui/issues/32320) - 👁️ **Re-enabled models stay on.** In Admin Settings > Models, turning a model back on or showing it again now stays after a reload and the model appears in the chat model picker, where for a model never edited before the second change looked saved but was lost. [#32354](https://github.com/open-webui/open-webui/pull/32354), [#32353](https://github.com/open-webui/open-webui/issues/32353), [#32368](https://github.com/open-webui/open-webui/pull/32368), [#32365](https://github.com/open-webui/open-webui/issues/32365) - 💲 **Dollar signs in Ask and Explain.** Ask and Explain on selected text now keep dollar signs such as "$5" or "$&" in the selected text and in your question, where they were dropped or replaced with other text. [#32356](https://github.com/open-webui/open-webui/pull/32356), [#32355](https://github.com/open-webui/open-webui/issues/32355) - ▶️ **Code blocks show their last value.** Running a code block in the browser whose last line returns a number, list or other value, such as square(7), now shows that value, where it stayed on Running for a minute and ended with "Execution Time Limit Exceeded". [#32360](https://github.com/open-webui/open-webui/pull/32360), [#32359](https://github.com/open-webui/open-webui/issues/32359) - 🔔 **Reminders for moved calendar events.** A calendar event moved to a new time after its reminder went out now reminds you again before the new start, where it never reminded again. [#32358](https://github.com/open-webui/open-webui/pull/32358), [#32357](https://github.com/open-webui/open-webui/issues/32357) - 🌩️ **MCP OAuth behind Cloudflare.** Connecting an OAuth MCP tool server such as Canva now works when the provider's sign-in page is behind Cloudflare bot protection, where it failed with "OAuth client registration is still invalid after re-registration". [#32364](https://github.com/open-webui/open-webui/pull/32364), [#32363](https://github.com/open-webui/open-webui/issues/32363) - 🗃️ **File list for pipes and tools without attachments.** Pipes and tools now get an empty file list on messages without attachments, where they got None and plugins that loop over the files failed. [#32380](https://github.com/open-webui/open-webui/pull/32380), [#32379](https://github.com/open-webui/open-webui/issues/32379) - 🈯 **Model editor language switching.** Switching the Editing language in the model editor from one translated language to another now shows that language's name and description, where the fields kept the text of the language shown before. [#32224](https://github.com/open-webui/open-webui/pull/32224), [#32223](https://github.com/open-webui/open-webui/issues/32223) - 🗣️ **Kokoro voice in calls.** Voice calls now speak replies with the Kokoro.js (Browser) voice chosen in your settings when the administrator has no server speech engine set, where the browser's own voice was used instead. [Commit](https://github.com/open-webui/open-webui/commit/78613d86f7564d1927ebf5f11292419fdeadb18c) - 🧩 **Rich UI embed console errors.** Rich UI tool embeds no longer log a security error in the browser console on every load when iframe Sandbox Allow Same Origin is off or the embed comes from another site; the embed works as before. [#32226](https://github.com/open-webui/open-webui/pull/32226), [#32222](https://github.com/open-webui/open-webui/issues/32222) - 🔎 **Clearer Top K descriptions.** The Top K and Top K Reranker descriptions in Admin Settings > Documents now say that Top K Reranker is the number of chunks the reranker passes to the model and that with hybrid search Top K is the number of candidates sent to the reranker, where the old text led admins to give the model far fewer chunks than intended. [#32225](https://github.com/open-webui/open-webui/pull/32225), [#32221](https://github.com/open-webui/open-webui/issues/32221) - 🔌 **MCP connection errors in the logs.** When an MCP server fails to connect during a chat, the reason, such as a refused connection or a 401 from the server, is now logged as an error, where it was only logged at debug level and never reached the logs of a default install. [#32229](https://github.com/open-webui/open-webui/pull/32229), [#32213](https://github.com/open-webui/open-webui/issues/32213) - 🗑️ **Deleting one language's custom translation.** In Admin Settings > General > Translations, Delete now removes only the translation for the language shown and keeps the row while other languages still have text, where it removed the row with its translations for every language. [Commit](https://github.com/open-webui/open-webui/commit/1283b2701ecb0037cc2c374e34e69976c302a25c) - 💬 **Translated model prompt suggestions.** Editing the prompt suggestions of a model that uses the default suggestions in another language now starts from the administrator's default suggestions for that language, where the list was empty. [Commit](https://github.com/open-webui/open-webui/commit/1283b2701ecb0037cc2c374e34e69976c302a25c) - 🏷️ **Titles for voice call chats.** Chats started with a Realtime voice call now get a generated title and tags as soon as the chat is created, following the Automatic title and tag settings, where they stayed named "New Chat". [Commit](https://github.com/open-webui/open-webui/commit/8ea808850deabb4709391602417b0aa00f2857cf), [#32258](https://github.com/open-webui/open-webui/issues/32258) - 🪝 **Webhooks for group and direct messages.** Members of group channels and direct messages now get their channel message webhook notifications, where only regular channels sent them, and muting such a channel stops them except for messages that mention the member. [#32404](https://github.com/open-webui/open-webui/pull/32404), [Commit](https://github.com/open-webui/open-webui/commit/3b2b89205e4fff7e4546ca4034e0293e2d1bd3f3), [#32403](https://github.com/open-webui/open-webui/issues/32403) - 📄 **Files from saved temporary chats.** After a temporary chat is saved, the model no longer tries to open a file attached in it and gets "File not found", since such a file was never stored and its text is already in the prompt. [Commit](https://github.com/open-webui/open-webui/commit/97a66ef73e84f9ebb4aa4324b8eac9aadeaca22e), [#32351](https://github.com/open-webui/open-webui/issues/32351) - 🔑 **SSO sign in for SCIM users.** Users created through SCIM can sign in with SSO again, where they got "401 Invalid authentication request" since 0.12.0 because no sign-in record was created for them; a database migration adds the missing record for existing accounts without giving them a usable password, SCIM email changes now also update the sign-in email and deleting a user through SCIM removes the sign-in record as well. [Commit](https://github.com/open-webui/open-webui/commit/00f12c0e47fb47b1318a20e97bacc753e769612b), [#32347](https://github.com/open-webui/open-webui/issues/32347) - ✂️ **Deleting a message mid-chat.** Deleting a message in the middle of a chat no longer makes the model forget every earlier message while the chat still shows them. [#32332](https://github.com/open-webui/open-webui/pull/32332), [Commit](https://github.com/open-webui/open-webui/commit/29289f5ba67d39255837a6385e5394192733a12e), [#32331](https://github.com/open-webui/open-webui/issues/32331) - 🪧 **Ask and Explain popup cut off.** The Ask and Explain popup is no longer cut off when you select text near the end of a reply and stays next to the selection while you scroll. [#32330](https://github.com/open-webui/open-webui/pull/32330), [Commit](https://github.com/open-webui/open-webui/commit/7129cc1d843b35516428c61af413b3815aee2e3b), [#32329](https://github.com/open-webui/open-webui/issues/32329) - 🌬️ **Background noise in Realtime calls.** Wind or background noise no longer cuts off the model mid-sentence in Realtime voice calls, since its spoken reply now only pauses until speech is confirmed and resumes after noise, and noise that is not understood as speech is also removed from the voice model's conversation so it no longer confuses later answers. [Commit](https://github.com/open-webui/open-webui/commit/a70e96525d88f9cb362b6451e5451c9b72618a92), [#32248](https://github.com/open-webui/open-webui/issues/32248), [#32250](https://github.com/open-webui/open-webui/issues/32250) - 🧠 **Memory in automations.** Automations now get the memory tools when the user has memory turned on, following the user's setting, the default interface settings or the memory setting for everyone, where they were left out. [Commit](https://github.com/open-webui/open-webui/commit/a70e96525d88f9cb362b6451e5451c9b72618a92), [#32337](https://github.com/open-webui/open-webui/issues/32337) - 🗜️ **Compaction during long tool runs.** Context compaction now also runs during a long series of tool calls based on the token usage the provider reports, and the compacted summary is kept with the reply so the next message continues from it, where long tool runs could hit the model's context limit. [Commit](https://github.com/open-webui/open-webui/commit/bcf540a98935566537b05911a6bb4ace03c5648d), [#32306](https://github.com/open-webui/open-webui/issues/32306) ### Changed - ⚠️ **Database Migrations**: This release includes database schema changes; we strongly recommend backing up your database and all associated data before upgrading in production environments. If you are running a multi-worker, multi-server, or load-balanced deployment, all instances must be updated simultaneously, rolling updates are not supported and will cause application failures due to schema incompatibility. - 💡 **Follow-ups as next messages.** The default follow-up prompt now suggests the messages you would most likely send next, in your own tone and latest language, as requests or questions, without repeating finished work, with the strongest suggestion first, and reads only the chat's first message and the last four, each cut to 1,000 characters, so long chats stay quick, where it asked for questions only over the last six messages; instances with a custom follow-up prompt are not affected. [Commit](https://github.com/open-webui/open-webui/commit/7ae09967459151433be79c2e98f096c171fc5b18), [Commit](https://github.com/open-webui/open-webui/commit/53a8f131f305a3beb87376d5dbc05889883fb950) - 📖 **Large skills load as a preview.** With the Skills builtin tools on, a skill whose SKILL.md is longer than 20,000 characters now reaches the model as a 5,000 character opening preview, and the model reads on from where the preview ends with read_skill_file, which now returns up to 20,000 characters per call instead of 100,000, and the new grep_skill_files tool lets the model search a skill's files for a word or pattern, keeping long skills from filling the context. [Commit](https://github.com/open-webui/open-webui/commit/200b9514917a070c88d112e3c0aba9df3322c5e1), [Commit](https://github.com/open-webui/open-webui/commit/d34f73066d837428ab198e14f285c09ad1ce2450), [Commit](https://github.com/open-webui/open-webui/commit/c314239558cdb47e4d1eaddf011bb4178e0742c2)
▸ 主项目介绍 · open-webui/open-webui
▸ README 原文(同步于 2026-07-28 04:00)
# Open WebUI 👋 ![GitHub stars](https://img.shields.io/github/stars/open-webui/open-webui?style=social) ![GitHub forks](https://img.shields.io/github/forks/open-webui/open-webui?style=social) ![GitHub watchers](https://img.shields.io/github/watchers/open-webui/open-webui?style=social) ![GitHub repo size](https://img.shields.io/github/repo-size/open-webui/open-webui) ![GitHub language count](https://img.shields.io/github/languages/count/open-webui/open-webui) ![GitHub top language](https://img.shields.io/github/languages/top/open-webui/open-webui) ![GitHub last commit](https://img.shields.io/github/last-commit/open-webui/open-webui?color=red) [![Discord](https://img.shields.io/badge/Discord-Open_WebUI-blue?logo=discord&logoColor=white)](https://discord.gg/5rJgQTnV4s) [![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/open-webui) ![Open WebUI Banner](./banner.png) **Open WebUI is an [extensible](https://docs.openwebui.com/features/extensibility/plugin), feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline.** It supports various LLM runners like **Ollama** and **OpenAI-compatible APIs**, with **built-in inference engine** for RAG, making it a **powerful AI deployment solution**. Passionate about open-source AI? [Join our team →](https://careers.openwebui.com/) ![Open WebUI Demo](./demo.png) > [!TIP] > **Looking for an [Enterprise Plan](https://docs.openwebui.com/enterprise)?** – **[Speak with Our Sales Team Today!](https://docs.openwebui.com/enterprise)** > > Get **enhanced capabilities**, including **custom theming and branding**, **Service Level Agreement (SLA) support**, **Long-Term Support (LTS) versions**, and **more!** For more information, be sure to check out our [Open WebUI Documentation](https://docs.openwebui.com/). ## Key Features of Open WebUI ⭐ - 🚀 **Effortless Setup**: Install seamlessly via pip, uv, Docker, or Kubernetes (kubectl, kustomize, or helm), with `:ollama` and `:cuda` tagged images available for container deployments. - 🤝 **Broad Model & API Integration**: Connect any OpenAI-compatible API alongside local Ollama models. Point the API URL at **LMStudio, GroqCloud, Mistral, OpenRouter, vLLM, and more** to mix and match providers freely. - 🔐 **Granular RBAC & User Groups**: Administrators define detailed roles, groups, and permissions, giving each user exactly the access they need. Secure by default, with tailored experiences per group. - 🧩 **Plugin Support**: Extend Open WebUI with **Filters**, **Actions**, **Pipes**, **Tools**, and **Skills**. Connect external services through **MCP**, **MCPO**, and **OpenAPI tool servers**. Build custom integrations, rate limits, approval flows, data connections, and more. - 🤖 **Models & Agents**: Wrap any base model with custom instructions, tools, and knowledge to build specialized agents. Supports dynamic variables, per-user/group access control, and community preset imports via [Open WebUI Community](https://openwebui.com/). - 📝 **Notes**: A dedicated workspace for content outside conversations. Draft with a rich editor, use AI to rewrite selected text, and attach notes to any chat for full-context injection. - 📢 **Channels**: Real-time shared spaces where your team and AI models collaborate in one timeline. Tag models to draft or critique, with threads, reactions, pins, and access control. - 🧠 **Persistent Memory**: The AI remembers facts about you across conversations, carrying context from one chat to the next. - ✅ **Live Workflow & Message Flow**: Watch the AI build and work through checklists in real time. Queue messages while the AI is still responding; they send automatically when it's ready. - 📅 **Calendar & AI Scheduling**: Built-in personal and shared calendars with month/week/day views, recurring events, color coding, attendees, and reminders. Models manage your schedule conversationally through native function calling. - ⏱️ **Automations**: Schedule prompts to run on recurring schedules, with runs surfaced on your calendar and each completed run linking back to the chat it produced. - 📱 **Responsive Design & PWA**: Seamless experience across desktop, laptop, and mobile, with a Progressive Web App for native app-like feel and offline access on localhost. - ✒️🔢 **Full Markdown and LaTeX Support**: Comprehensive Markdown and LaTeX capabilities for enriched interaction. - 🎤📹 **Hands-Free Voice/Video Call**: Integrated voice and video calls with multiple Speech-to-Text providers (Local Whisper, OpenAI, Deepgram, Azure) and Text-to-Speech engines (Azure, ElevenLabs, OpenAI, Transformers, WebAPI). - 💾 **Persistent Artifact Storage**: Built-in key-value storage API for artifacts, enabling journals, trackers, leaderboards, and collaborative tools with personal and shared data scopes. - 📚 **Local RAG Integration**: Retrieval Augmented Generation backed by 9 vector databases and multiple content-extraction engines (Tika, Docling, Document Intelligence, Mistral OCR, PaddleOCR-vl, external loaders). Supports hybrid search (BM25 + vector) with reranking and full-context mode. Load documents into chat or pull them from your library with the `#` command. - 🔍 **Web Search for RAG**: Search the web through dozens of providers including `SearXNG`, `Google PSE`, `Brave Search`, `Kagi`, `Mojeek`, `Tavily`, `Perplexity`, `Firecrawl`, `serpstack`, `serper`, `Serply`, `DuckDuckGo`, `SearchApi`, `SerpApi`, `Bing`, `Jina`, `Exa`, `Sougou`, `Azure AI Search`, and `Ollama Cloud`, injecting results directly into the conversation. - 🌐 **Web Browsing Capability**: Pull websites into chat with the `#` command followed by a URL, or let the model fetch them on its own when needed. - 🎨 **Image Generation & Editing**: Create and edit images with multiple engines including OpenAI DALL·E, Gemini, ComfyUI (local), and AUTOMATIC1111 (local), supporting both generation and prompt-based editing. - ⚙️ **Multi-Model Conversations**: Engage several models at once, harnessing their individual strengths in parallel for the best possible responses. - 📊 **Usage Analytics & Model Evaluation**: Admin dashboards track message volume, token consumption, and cost across users and models. Evaluate models with a built-in arena, A/B testing, and ELO-based leaderboards. - 🗄️ **Flexible Database & Storage**: Choose SQLite (with optional encryption) or PostgreSQL, and store files locally or on S3, Google Cloud Storage, or Azure Blob Storage. - 🧬 **Advanced Vector Database Support**: Pick from 9 vector databases: ChromaDB, PGVector, Qdrant, Milvus, Elasticsearch, OpenSearch, Pinecone, S3Vector, and Oracle 23ai. - 🪪 **Enterprise Authentication & Provisioning**: Full LDAP/Active Directory integration, SSO via trusted headers and OAuth providers, and SCIM 2.0 automated provisioning for identity providers like Okta, Azure AD, and Google Workspace. - ☁️ **Cloud-Native File Integration**: Native Google Drive and OneDrive/SharePoint file picking for seamless document import from enterprise cloud storage. - 🔭 **Production Observability**: Built-in OpenTelemetry support for traces, metrics, and logs, plugging into your existing monitoring stack. - ⚖️ **Horizontal Scalability**: Redis-backed session management and WebSocket support for multi-worker, multi-node deployments behind load balancers. - 🌐🌍 **Multilingual Support**: Use Open WebUI in your preferred language with i18n support. We're actively seeking contributors to expand language coverage! - 🌟 **Continuous Updates**: We're committed to improving Open WebUI with regular updates, fixes, and new features. - 🛡️ **Transparent Security Process**: Security reports are triaged, fixed, and published as open advisories through a documented responsible-disclosure process. See our [Security Policy](https://github.com/open-webui/open-webui/security). Want to learn more about Open WebUI's features? Check out our [Open WebUI documentation](https://docs.openwebui.com/features) for a comprehensive overview! ## The Open WebUI Ecosystem 🌐 Open WebUI is the core, surrounded by companion apps and infrastructure that extend what your AI can do, where it can reach, and how you run it: - 💻 **Open WebUI Computer** ([open-webui/computer](https://github.com/open-webui/computer)): A standalone, mobile-first computer and coding agent that runs on the machine you own. Files, terminal, and git in a browser tab, reachable from your phone. Connect it into Open WebUI as a model, or reach it from Telegram, WhatsApp, and more. - ⚡ **Open Terminal** and **Terminals (Enterprise)** ([open-webui/open-terminal](https://github.com/open-webui/open-terminal) & [open-webui/terminals](https://github.com/open-webui/terminals)): A self-hosted computing environment that plugs into Open WebUI, giving the AI a place to write code, run it, read output, fix errors, and iterate inside the chat. Terminals gives you per-user isolated containers with separate credentials, resource limits, and network rules. Automatic lifecycle management on Docker or Kubernetes. - 🔄 **oikb** ([open-webui/oikb](https://github.com/open-webui/oikb)): Feed your Knowledge Bases from 45+ sources (GitHub, Confluence, ServiceNow, Salesforce, Jira, Slack, SharePoint, Notion, and more), keeping the tools your team already uses continuously in sync. - 🖥️ **Native Desktop App** ([open-webui/desktop](https://github.com/open-webui/desktop)): Run Open WebUI as a native app on macOS, Windows, and Linux. System-wide Spotlight chat bar with screenshot capture, push-to-talk voice, and optional fully-local inference via a built-in llama.cpp engine. Want to learn more? Check out our [Open WebUI documentation](https://docs.openwebui.com) for more details! --- We are incredibly grateful for the generous support of our sponsors. Their contributions help us to maintain and improve our project, ensuring we can continue to deliver quality work to our community. Thank you! ## How to Install 🚀 ### Installation via Python pip 🐍 Open WebUI can be installed using pip, the Python package installer. Before proceeding, ensure you're using **Python 3.11** to avoid compatibility issues. 1. **Install Open WebUI**: Open your terminal and run the following command to install Open WebUI: ```bash pip install open-webui ``` 2. **Running Open WebUI**: After installation, you can start Open WebUI by executing: ```bash open-webui serve ``` This will start the Open WebUI server, which you can access at [http://localhost:8080](http://localhost:8080) ### Quick Start with Docker 🐳 > [!NOTE] > Please note that for certain Docker environments, additional configurations might be needed. If you encounter any connection issues, our detailed guide on [Open WebUI Documentation](https://docs.openwebui.com/) is ready to assist you. > [!WARNING] > When using Docker to install Open WebUI, make sure to include the `-v open-webui:/app/backend/data` in your Docker command. This step is crucial as it ensures your database is properly mounted and prevents any loss of data. > [!TIP] > If you wish to utilize Open WebUI with Ollama included or CUDA acceleration, we recommend utilizing our official images tagged with either `:cuda` or `:ollama`. To enable CUDA, you must install the [Nvidia CUDA container toolkit](https://docs.nvidia.com/dgx/nvidia-container-runtime-upgrade/) on your Linux/WSL system. ### Installation with Default Configuration - **If Ollama is on your computer**, use this command: ```bash docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main ``` - **If Ollama is on a Different Server**, use this command: To connect to Ollama on another server, change the `OLLAMA_BASE_URL` to the server's URL: ```bash docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main ``` - **To run Open WebUI with Nvidia GPU support**, use this command: ```bash docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda ``` ### Installation for OpenAI API Usage Only - **If you're only using OpenAI API**, use this command: ```bash docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main ``` ### Installing Open WebUI with Bundled Ollama Support This installation method uses a single container image that bundles Open WebUI with Ollama, allowing for a streamlined setup via a single command. Choose the appropriate command based on your hardware setup: - **With GPU Support**: Utilize GPU resources by running the following command: ```bash docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama ``` - **For CPU Only**: If you're not using a GPU, use this command instead: ```bash docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama ``` Both commands facilitate a built-in, hassle-free installation of both Open WebUI and Ollama, ensuring that you can get everything up and running swiftly. After installation, you can access Open WebUI at [http://localhost:3000](http://localhost:3000). Enjoy! 😄 ### Other Installation Methods We offer various installation alternatives, including non-Docker native installation methods, Docker Compose, Kustomize, and Helm. Visit our [Open WebUI Documentation](https://docs.openwebui.com/getting-started/) or join our [Discord community](https://discord.gg/5rJgQTnV4s) for comprehensive guidance. ### Troubleshooting Encountering connection issues? Our [Open WebUI Documentation](https://docs.openwebui.com/troubleshooting/) has got you covered. For further assistance and to join our vibrant community, visit the [Open WebUI Discord](https://discord.gg/5rJgQTnV4s). #### Open WebUI: Server Connection Error If you're experiencing connection issues, it’s often due to the WebUI docker container not being able to reach the Ollama server at 127.0.0.1:11434 (host.docker.internal:11434) inside the container . Use the `--network=host` flag in your docker command to resolve this. Note that the port changes from 3000 to 8080, resulting in the link: `http://localhost:8080`. **Example Docker Command**: ```bash docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main ``` ### Keeping Your Docker Installation Up-to-Date Check our Updating Guide available in our [Open WebUI Documentation](https://docs.openwebui.com/getting-started/updating). ### Using the Dev Branch 🌙 > [!WARNING] > The `:dev` branch contains the latest unstable features and changes. Use it at your own risk as it may have bugs or incomplete features. If you want to try out the latest bleeding-edge features and are okay with occasional instability, you can use the `:dev` tag like this: ```bash docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --add-host=host.docker.internal:host-gateway --restart always ghcr.io/open-webui/open-webui:dev ``` ### Offline Mode If you are running Open WebUI in an offline environment, you can set the `HF_HUB_OFFLINE` environment variable to `1` to prevent attempts to download models from the internet. ```bash export HF_HUB_OFFLINE=1 ``` ## What's Next? 🌟 Discover upcoming features on our roadmap in the [Open WebUI Documentation](https://docs.openwebui.com/roadmap/). ## License 📜 This project contains code under multiple licenses. The current codebase includes components licensed under the Open WebUI License with an additional requirement to preserve the "Open WebUI" branding, as well as prior contributions under their respective original licenses. For a detailed record of license changes and the applicable terms for each section of the code, please refer to [LICENSE_HISTORY](./LICENSE_HISTORY). For complete and updated licensing details, please see the [LICENSE](./LICENSE) and [LICENSE_HISTORY](./LICENSE_HISTORY) files. ## Support 💬 If you have any questions, suggestions, or need assistance, please open an issue or join our [Open WebUI Discord community](https://discord.gg/5rJgQTnV4s) to connect with us! 🤝 ## Security 🛡️ If you believe you've found a security vulnerability, or something that shouldn't be disclosed publicly, please [reach out confidentially through our responsible disclosure program on GitHub](https://github.com/open-webui/open-webui/security). We accept reports only through GitHub, not through any other platform. Thank you for helping us keep Open WebUI secure! ## Star History <a href="https://star-history.com/#open-webui/open-webui&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=open-webui/open-webui&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=open-webui/open-webui&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=open-webui/open-webui&type=Date" /> </picture> </a> --- Created by [Timothy Jaeryang Baek](https://github.com/tjbck) - Let's make Open WebUI even more amazing together! 💪