mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 10:58:17 -05:00
[GH-ISSUE #19876] feat: Support "Embeddable Chat JS Widget for Custom-Models" for individual websites #34553
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 @alperreha on GitHub (Dec 11, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19876
Problem Description
Today, many websites are building their own AI chatbot widgets from scratch:
Open WebUI already provides most of these pieces built-in:
.txt/PDF file).The missing piece is:
There is no official, first-class way to expose a single custom model / chat panel as a minimal embeddable widget on an external website (e.g. a company docs site, product page, or SaaS dashboard).
Right now, I can create a model like
my-solidjs-modelwith a RAG context (solidjs-full-llms.txt) and use it inside Open WebUI, but I cannot easily embed that exact “Custom-Model Chat” as a floating HTML/JS widget on arbitrary external websites.Desired Solution you'd like
I’d like Open WebUI to support an “Embeddable Chat Panel” mode for custom models / chat panels, so that a website can do something like:
High-level idea:
On
/workspace/models/edit?id=my-solidjs-model(or equivalent UI), add an “Embeddable widget” option for a custom model / chat panel.When enabled, Open WebUI:
Exposes built-in manager a small JS bundle (e.g.
openwebui-embed-manager.js) that:Provides a copy-paste embed snippet (like above) for website owners.
Widget UX & technical requirements (proposal):
Uses Shadow DOM to isolate styles and avoid conflicts with the host website.
Uses a simple card layout with:
card-header: widget title, logo, optional links (e.g. “Docs”, “Help”).card-content: chat messages, thinking traces, citations.card-footer: input area, send button, optional extra controls.Uses Tailwind-compatible structure internally, but does not leak classes or variables into the host page.
Includes an optional built-in feedback form whose events can be surfaced to a creator dashboard or webhook (e.g. to log “this answer was helpful / not helpful”, bug reports, etc.).
Respects existing Open WebUI capabilities:
my-solidjs-model) and its RAG context.{ sub, user: { id, name, avatar } }so the embed can still be personalized and secure.In short:
Take the existing “Custom-Model Chat Panel” experience and make it available as a pluggable, floating widget that any website can embed with a small
<script>snippet.Alternatives Considered
Building a custom backend + UI per site
I could re-implement a smaller version of Open WebUI using its APIs (or other LLM backends). This means:
This defeats the purpose of having Open WebUI as a central, powerful control plane.
iFrame-based embedding
It is technically possible to embed a full Open WebUI page inside an
<iframe>, but:Third-party chatbot widget providers
There are many hosted chatbot widget solutions, but:
qwen3:4b-thinking).The most natural and powerful solution is for Open WebUI itself to expose embeddable chat widgets tied directly to its own custom models and chat panels.
Additional Context
Example use case:
I run Open WebUI with a local Ollama model
qwen3:4b-thinking.I create a custom model
my-solidjs-modelat/workspace/models/edit?id=my-solidjs-model.I upload
solidjs-full-llms.txt(or PDFs / docs) as RAG context so this model becomes a Solid.js expert.I use it inside Open WebUI as a dedicated chat panel, which already works great.
Now I want to embed this exact experience on:
For that, I’d like:
A toggle on the model/edit page: “Enable as embeddable widget”.
A generated snippet like:
Internally, Open WebUI would:
Render a floating chat UI using Shadow DOM.
Apply Tailwind-based styling for the widget (card header/content/footer).
Allow me to configure:
Provide a small feedback form whose submissions are visible in a creator/admin view.
Proposed implementation checklist (as a starting point):
/workspace/models/edit?id=<model-id>.header/content/footerwithin the widget.@owui-terminator[bot] commented on GitHub (Dec 11, 2025):
🔍 Similar Issues Found
I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:
#14431 feat: Comfy UI Improvements to support Keywords, which opens the door for Audio and Video Generation.
by digitalassassins • May 28, 2025
#16936 feat: Embed browser-use/web-ui for immersive browser-based agent interaction in Open WebUI
by Varun-SV • Aug 26, 2025
💡 Tips:
This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
@Classic298 commented on GitHub (Dec 11, 2025):
cool