mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 19:08:59 -05:00
feat: native desktop app #3163
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @tjbck on GitHub (Jan 2, 2025).
Originally assigned to: @tjbck on GitHub.
needed for real time push notifications.
for both desktop & mobile
related: https://github.com/open-webui/open-webui/issues/470
https://github.com/open-webui/app
@motin commented on GitHub (Jan 3, 2025):
Related, for the desktop: https://github.com/open-webui/open-webui/issues/470, mobile: https://github.com/open-webui/open-webui/issues/3025 https://github.com/open-webui/open-webui/discussions/3031
I can take a stab at packaging open webui using Tauri, which has both desktop and mobile. Mobile version would need a remote backend endpoint probably, since installing python apps as tauri sidecars is not an option on mobile (unless the whole backend somehow would run via pyodide...)
Note: I have previously packaged open webui as an electron app as part of https://rememberthis.ai/, but find Electron clunky and hard to get right cross-platform-wise.
@motin commented on GitHub (Jan 3, 2025):
Started a discussion thread about native app packaging here: https://github.com/open-webui/open-webui/discussions/8294
@MaximeRivest commented on GitHub (Jan 3, 2025):
With a native app 'paired' to a backend running on a server 'online', I presume it would make it easier for users to get OpenWebUI to run something on their machine.
Something like: I have a server hosting the messages, install config, and functions/prompt templates etc. But I want Llama-70B (again running on the server) to send code to the client which the user can run and provide the context back to Llama. Questions like: "My laptop is full, can you tell me what the 5 biggest folders are?" could be tackled elegantly with such an integration between the server and the client. This, in my experience, requires some sort of 'tiny' server on the client. A native app would be the 'opportunity' to install such a server. Probably should be opt-in for security.
@reecelikesramen commented on GitHub (Jan 4, 2025):
I agree, the full server built into app would be a good option for less advanced users and could increase adoption. But, even if you're pairing with remote servers, having that API for interacting with the system remotely or locally would be good and could lead to very useful features. Especially if there are intents to bring some useful features from the ChatGPT app like window screenshots or Mac OS app context, or extend into the agentic computer-use territory.
I mentioned this in the other thread, but I have what could be some useful code to springboard a native desktop app in https://github.com/reecelikesramen/open-webui-desktop.
@motin commented on GitHub (Jan 4, 2025):
@MaximeRivest That use case can probably be solved most elegantly with a MCP Server running locally, which Open WebUI has access to.
Interesting question to @tjbck - would an MCP Server also be enough for the real time push notifications? If so, it'd probably be a better path forward to set up a very tiny MCP Server which allows for users to have real time push notifications and some other local actions enabled.
@tjbck commented on GitHub (Jan 4, 2025):
Thank you everyone for the great input and ideas—it’s fantastic to see so much interest and collaboration on this! Here's where my head's at regarding the native companion app:
What I'm envisioning here is something modeled more closely after apps like Slack or Discord. The key functionality would allow users to seamlessly switch between multiple Open WebUI servers (e.g., hosted instances, someone else’s, or a local server) within the same app, paired with robust real-time push notification support. This would align perfectly with the recently introduced "channels" feature, which increases the need for such functionality. A webview-based approach, as implemented by @reecelikesramen, is a solid starting point, and could work much like how Slack or Discord structure their apps.
Mobile support is another area we should prioritize. While I wouldn’t expect a complex mobile app in the short term, a lightweight, webview-based companion app for mobile users should absolutely be on our roadmap. It would need to include core functionalities such as real-time notifications to ensure a seamless user experience across desktop and mobile platforms.
@motin MCP servers seem promising, particularly for tool calling integrations—something I'll be investigating further. That said, our core ethos is being framework-agnostic, so it wouldn’t be a good fit here. Still, I encourage experimentation to explore all possibilities.
Thank you again for everyone’s thoughts—Let’s keep iterating!
@motin commented on GitHub (Jan 4, 2025):
Ok thanks for additional context @tjbck! To deduplicate discussion threads I suggest we continue discussing Tauri-based packaging in https://github.com/open-webui/open-webui/discussions/8294. There is also https://github.com/open-webui/open-webui/issues/470 but it is closed for others than maintainers so we can't use that issue at the moment.
Maybe if @tjbck you can contribute your thoughts on https://github.com/open-webui/open-webui/discussions/8294#discussioncomment-11731670 then we can execute on whatever of the options that we decide.
@tjbck commented on GitHub (Jan 4, 2025):
I would consider https://github.com/open-webui/open-webui/issues/470 a entirely different feature (w/ some overlap), single binary executable is still needed to make running Open WebUI itself as easy as possible for admins (just like Ollama). Whereas the focus for this feature request is to create a companion app for the end-users of the system.
@tjbck commented on GitHub (Jan 5, 2025):
Perhaps https://github.com/open-webui/open-webui/issues/470 could be somehow combined with this, I'll be allocating more of my mental resources into thinking about this.
Related: https://github.com/open-webui/app
https://github.com/jupyterlab/jupyterlab-desktop
@motin commented on GitHub (Jan 5, 2025):
To distill the various features discussed so far:
These maps to ongoing efforts as follows:
I have implemented features 1 and 2 for Mac already using Pyinstaller + Electron as part of https://rememberthis.ai and I am happy to contribute the Pyinstaller part (I find Electron a bit clunky so I'd rather see we use Tauri for packaging the native desktop/mobile apps), I just wonder where to contribute it? Directly to this repo, or to https://github.com/open-webui/app? Once that is in place, it is trivial to bundle the single binary executable as a sidecar to a simple Tauri/Electron app and get the same ease of installation as Ollama.
Or @tjbck do you prefer to run with this yourself, if so, we'll step back and wait for whatever you have in mind to take shape, then come back and see what we can contribute...
@tjbck commented on GitHub (Jan 6, 2025):
Thanks for laying all this out. I’m still trying to come up with an implementation that just clicks in my head, so give me a moment to piece everything together. Like you mentioned I’ll definitely set up the scaffolding first (I’m leaning toward something closer to the approach used by JupyterLab Desktop for installation) to set the direction of the development. The more I think about it, merging this effort with #470 makes a lot of sense, especially since it could help address some of the common issues less technical folks face—like tricky Docker networking problems.
With that being said, don’t let this stop you from starting your own version in parallel if you’ve got some ideas! It’s always great to have multiple approaches to learn from. Let’s keep the momentum going, and I’ll circle back with a clearer picture soon. Thanks again for your willingness to contribute here—it’s much appreciated!
@rgaricano commented on GitHub (Jan 9, 2025):
For notifications maybe this help: https://github.com/binwiederhier/ntfy
or the original: https://github.com/dschep/ntfy (and webpush too https://github.com/dschep/ntfy-webpush )
@thgoebel commented on GitHub (Jan 17, 2025):
Why not use WebPush?
See:
Of course, there may still be reasons for doing native apps. I'm just saying that push shouldn't be one of them, the web supports push.
@spammenotinoz commented on GitHub (Feb 25, 2025):
There are already a few Apps, iOS and Android that work well with Open-Webui. In my experience Pretty much any app that supports and OpenAI compatible API Endpoint works well. My only issue\concern is you need to jump through numerous sales pitch setup screens promoting their monthly plans before you can configure custom providers.
Pal Chat and Chatbox AI are two that I use. Pal Chat supports the iOS shortcuts.
Soo many apps, really suprised someone hasn't published \ made available for sale a generic API powered app.
Like it's probably in the store, but too difficult to find.
@spammenotinoz commented on GitHub (May 28, 2025):
That would be of limited value given Open-Webui is already a PWA app, and the entire purpose of Native Alpha is to turn web-sites that don't have a PWA manifest into a PWA App. Perhaps look into your setup as to why PWA is not working, or use many apps already in the App Store that support OpenAI compatible APIs.
I use, Pal Chat and Chatbox AI to connect to my Open-WebUI instance.
For Chrome\Edge I use UltimateAI browser extension, but many options that support OpenAI API's can be found in the store.
My Open-Webui functions still work, via API, such as GPT-Image Generation and Google Image Generation, but at the end of the day the PWA app experience is pretty good. The only let-downs are lack of real-time voice and direct integration into Android\iOS (but that seems unlikely)
@SadmL commented on GitHub (May 28, 2025):
Coz I'm not using Google stuff (except Youtube via NewPipe and local Gemma 3). My browser is Fennec.
@thgoebel commented on GitHub (May 28, 2025):
Firefox for Android (and by implication Fennec) has PWA support:
@SadmL commented on GitHub (May 28, 2025):
Oh-uh. Never noticed. Thank you.
@spammenotinoz commented on GitHub (May 28, 2025):
He's using Fennec, I believe PWA is quite limited compared to most other browsers, including non-google.
ie: It's just a bookmark, won't install\run fullscreen like an app.
@FooleanBool commented on GitHub (May 28, 2025):
Vanadium (chrome based) also works for PWA.
https://github.com/GrapheneOS/Vanadium
@silentoplayz commented on GitHub (Aug 15, 2025):
Because nothing was said here officially, I will mention that Tim pushed out a new release for the Open WebUI desktop app 2 weeks ago over at https://github.com/open-webui/desktop with https://github.com/open-webui/desktop/releases/tag/build-e7e54042.
@KaKi87 commented on GitHub (Aug 15, 2025):
Nothing for Linux though 😭
@cloudhan commented on GitHub (Aug 16, 2025):
⚠️WARNING⚠️: the installation of open-webui/desktop takes 3GB of diskspace with a full python enviroment is installed!
@rgaricano commented on GitHub (Aug 16, 2025):
yes, you can build it as is in doc: https://github.com/open-webui/desktop
If you only want an app for run an already running open-webui instance you can use https://github.com/n1kozor/OpenWebUISimpleDesktop , https://github.com/reecelikesramen/open-webui-desktop or others similar (there are some in github)
@KaKi87 commented on GitHub (Aug 16, 2025):
I meant no downloadable DEB, Flatpak or AppImage.
@rgaricano commented on GitHub (Aug 16, 2025):
Yes, It's necessary someone built it, if time permit I can do its,
but right now It's a experimental lab feature!
@rgaricano commented on GitHub (Aug 16, 2025):
@KaKi87
ubuntu release built: https://github.com/rgaricano/desktop/releases/tag/ubuntu_v0.0.1
@KaKi87 commented on GitHub (Aug 16, 2025):
Thank you, I'm going to try it !
@cogwheel0 commented on GitHub (Sep 10, 2025):
I actually have been building a native mobile app for the past month or so. I just discovered an issue exists for this!
Here's a link if anyone wants to try it out and give me feedback: https://github.com/cogwheel0/conduit
@steveepreston commented on GitHub (Sep 11, 2025):
@cogwheel0 Looks great!