mirror of
https://github.com/open-webui/docs.git
synced 2025-12-13 16:09:33 +07:00
6
docs/features/channels/index.md
Normal file
6
docs/features/channels/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 7
|
||||||
|
title: "📢 Channels"
|
||||||
|
---
|
||||||
|
|
||||||
|
Soon...
|
||||||
@@ -46,7 +46,11 @@ Browser-based, multi-user deployments increase the surface area (CORS/CSRF, per-
|
|||||||
## ❓ FAQ
|
## ❓ FAQ
|
||||||
|
|
||||||
**Do you support stdio or SSE transports?**
|
**Do you support stdio or SSE transports?**
|
||||||
No. Open WebUI only supports **MCP via Streamable HTTP**.
|
Native MCP support in Open WebUI is **Streamable HTTP only**. This design choice reflects our architecture: Open WebUI is a **web-based, multi-tenant environment**, not a local desktop process.
|
||||||
|
|
||||||
|
Browsers operate within strict **sandboxed and event-driven HTTP constraints**, making long-lived stdio or SSE connections difficult to maintain securely across users and sessions.
|
||||||
|
|
||||||
|
If you need to bridge those other MCP transports, check out [**mcpo**](https://github.com/open-webui/mcpo) — an open-source proxy that translates **stdio or SSE-based MCP servers into OpenAPI-compatible endpoints**. It effectively lets you run traditional MCP tools inside Open WebUI without modifying their transport layer.
|
||||||
|
|
||||||
**Is MCP considered stable here?**
|
**Is MCP considered stable here?**
|
||||||
Supported and improving. The broader ecosystem is still evolving; expect occasional breaking changes.
|
Supported and improving. The broader ecosystem is still evolving; expect occasional breaking changes.
|
||||||
|
|||||||
@@ -921,7 +921,9 @@ The value of `API_KEY_ALLOWED_ENDPOINTS` should be a comma-separated list of end
|
|||||||
|
|
||||||
Setting `JWT_EXPIRES_IN` to `-1` disables JWT expiration, making issued tokens valid forever. **This is extremely dangerous in production** and exposes your system to severe security risks if tokens are leaked or compromised.
|
Setting `JWT_EXPIRES_IN` to `-1` disables JWT expiration, making issued tokens valid forever. **This is extremely dangerous in production** and exposes your system to severe security risks if tokens are leaked or compromised.
|
||||||
|
|
||||||
**Always set a reasonable expiration time (e.g., `3600s`, `1h`, etc.) in production to limit the lifespan of authentication tokens.** Never use `-1` in a production environment.
|
**Always set a reasonable expiration time in production environments (e.g., `3600s`, `1h`, `7d` etc.) to limit the lifespan of authentication tokens.**
|
||||||
|
|
||||||
|
**NEVER use `-1` in a production environment.**
|
||||||
|
|
||||||
If you have already deployed with `JWT_EXPIRES_IN=-1`, you can rotate or change your `WEBUI_SECRET_KEY` to immediately invalidate all existing tokens.
|
If you have already deployed with `JWT_EXPIRES_IN=-1`, you can rotate or change your `WEBUI_SECRET_KEY` to immediately invalidate all existing tokens.
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ Open WebUI’s license now:
|
|||||||
- **You may NOT alter, remove, or obscure any “Open WebUI” branding** (name, logo, UI marks, etc.) in any deployment or distribution, except in the circumstances below.
|
- **You may NOT alter, remove, or obscure any “Open WebUI” branding** (name, logo, UI marks, etc.) in any deployment or distribution, except in the circumstances below.
|
||||||
- Branding must remain clearly visible, unless:
|
- Branding must remain clearly visible, unless:
|
||||||
1. **You have 50 or fewer users** in a 30-day period;
|
1. **You have 50 or fewer users** in a 30-day period;
|
||||||
2. **You are a contributor**, and have gotten written permission from us for an internal deployment;
|
2. **You are a substantive contributor**, and have gotten written permission from us for an internal deployment;
|
||||||
3. **You’ve secured an enterprise license** from us which explicitly allows branding changes.
|
3. **You’ve secured an enterprise license** from us which explicitly allows branding changes.
|
||||||
- **CLA required for new contributions** after v0.6.5 (v0.6.6+) under the updated license.
|
- **CLA required for new contributions** after v0.6.5 (v0.6.6+) under the updated license.
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ This is not legal advice—refer to the full [LICENSE](https://github.com/open-w
|
|||||||
|
|
||||||
**Absolutely.** You can change, extend, and customize the code or the user interface for your organization’s needs—but you’re required to keep “Open WebUI” branding visible *unless*:
|
**Absolutely.** You can change, extend, and customize the code or the user interface for your organization’s needs—but you’re required to keep “Open WebUI” branding visible *unless*:
|
||||||
- Your deployment is for **50 or fewer users in any 30-day window**; or
|
- Your deployment is for **50 or fewer users in any 30-day window**; or
|
||||||
- You’re a recognized project contributor **and** have received written permission to adjust branding for an internal deployment; or
|
- You’re a substantive project contributor **and** have received written permission to adjust branding for an internal deployment; or
|
||||||
- You’ve secured an **enterprise license** with us that explicitly allows branding changes.
|
- You’ve secured an **enterprise license** with us that explicitly allows branding changes.
|
||||||
|
|
||||||
If you remove or modify branding without meeting these criteria, that’s a material breach of the license.
|
If you remove or modify branding without meeting these criteria, that’s a material breach of the license.
|
||||||
|
|||||||
@@ -35,22 +35,30 @@ export const SidebarBanners = () => {
|
|||||||
description: "The intelligent terminal for developers",
|
description: "The intelligent terminal for developers",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
// {
|
||||||
imgSrc: "/sponsors/banners/tailscale-banner.png",
|
// imgSrc: "/sponsors/banners/tailscale-banner.png",
|
||||||
mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
// mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
||||||
url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
// url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
||||||
name: "Tailscale",
|
// name: "Tailscale",
|
||||||
description: "Connect self-hosted AI to any device with Tailscale",
|
// description: "Connect self-hosted AI to any device with Tailscale",
|
||||||
},
|
// },
|
||||||
|
|
||||||
|
// {
|
||||||
|
// imgSrc: "/sponsors/banners/tailscale-banner.png",
|
||||||
|
// mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
||||||
|
// url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
||||||
|
// name: "Tailscale",
|
||||||
|
// description: "Connect self-hosted AI to any device with Tailscale",
|
||||||
|
// },
|
||||||
|
|
||||||
{
|
{
|
||||||
imgSrc: "/sponsors/banners/tailscale-banner.png",
|
imgSrc: "/sponsors/banners/placeholder.png",
|
||||||
mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||||
url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
url: "https://forms.gle/92mvG3ESYj47zzRL9",
|
||||||
name: "Tailscale",
|
name: "Open WebUI",
|
||||||
description: "Connect self-hosted AI to any device with Tailscale",
|
description:
|
||||||
|
"The top banner spot is reserved for Emerald+ Enterprise sponsors",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
imgSrc: "/sponsors/banners/placeholder.png",
|
imgSrc: "/sponsors/banners/placeholder.png",
|
||||||
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ export const SponsorList = () => {
|
|||||||
name: "Warp",
|
name: "Warp",
|
||||||
description: "The intelligent terminal for developers",
|
description: "The intelligent terminal for developers",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
imgSrc: "/sponsors/logos/tailscale.png",
|
// imgSrc: "/sponsors/logos/tailscale.png",
|
||||||
url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
// url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
||||||
name: "Tailscale",
|
// name: "Tailscale",
|
||||||
description: "Connect self-hosted AI to any device with Tailscale",
|
// description: "Connect self-hosted AI to any device with Tailscale",
|
||||||
},
|
// },
|
||||||
];
|
];
|
||||||
|
|
||||||
const sponsors = [
|
const sponsors = [
|
||||||
|
|||||||
@@ -40,22 +40,30 @@ export const TopBanners = ({
|
|||||||
description: "The intelligent terminal for developers",
|
description: "The intelligent terminal for developers",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
// {
|
||||||
imgSrc: "/sponsors/banners/tailscale-banner.png",
|
// imgSrc: "/sponsors/banners/tailscale-banner.png",
|
||||||
mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
// mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
||||||
url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
// url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
||||||
name: "Tailscale",
|
// name: "Tailscale",
|
||||||
description: "Connect self-hosted AI to any device with Tailscale",
|
// description: "Connect self-hosted AI to any device with Tailscale",
|
||||||
},
|
// },
|
||||||
|
|
||||||
|
// {
|
||||||
|
// imgSrc: "/sponsors/banners/tailscale-banner.png",
|
||||||
|
// mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
||||||
|
// url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
||||||
|
// name: "Tailscale",
|
||||||
|
// description: "Connect self-hosted AI to any device with Tailscale",
|
||||||
|
// },
|
||||||
|
|
||||||
{
|
{
|
||||||
imgSrc: "/sponsors/banners/tailscale-banner.png",
|
imgSrc: "/sponsors/banners/placeholder.png",
|
||||||
mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png",
|
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||||
url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs",
|
url: "https://forms.gle/92mvG3ESYj47zzRL9",
|
||||||
name: "Tailscale",
|
name: "Open WebUI",
|
||||||
description: "Connect self-hosted AI to any device with Tailscale",
|
description:
|
||||||
|
"The top banner spot is reserved for Emerald+ Enterprise sponsors",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
imgSrc: "/sponsors/banners/placeholder.png",
|
imgSrc: "/sponsors/banners/placeholder.png",
|
||||||
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||||
|
|||||||
Reference in New Issue
Block a user