mirror of
https://github.com/open-webui/docs.git
synced 2025-12-12 07:29:49 +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
|
||||
|
||||
**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?**
|
||||
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.
|
||||
|
||||
**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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
- Branding must remain clearly visible, unless:
|
||||
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.
|
||||
- **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*:
|
||||
- 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.
|
||||
|
||||
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",
|
||||
},
|
||||
|
||||
{
|
||||
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",
|
||||
// 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",
|
||||
// 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",
|
||||
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/placeholder.png",
|
||||
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||
url: "https://forms.gle/92mvG3ESYj47zzRL9",
|
||||
name: "Open WebUI",
|
||||
description:
|
||||
"The top banner spot is reserved for Emerald+ Enterprise sponsors",
|
||||
},
|
||||
|
||||
{
|
||||
imgSrc: "/sponsors/banners/placeholder.png",
|
||||
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||
|
||||
@@ -15,12 +15,12 @@ export const SponsorList = () => {
|
||||
name: "Warp",
|
||||
description: "The intelligent terminal for developers",
|
||||
},
|
||||
{
|
||||
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",
|
||||
name: "Tailscale",
|
||||
description: "Connect self-hosted AI to any device with Tailscale",
|
||||
},
|
||||
// {
|
||||
// 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",
|
||||
// name: "Tailscale",
|
||||
// description: "Connect self-hosted AI to any device with Tailscale",
|
||||
// },
|
||||
];
|
||||
|
||||
const sponsors = [
|
||||
|
||||
@@ -40,22 +40,30 @@ export const TopBanners = ({
|
||||
description: "The intelligent terminal for developers",
|
||||
},
|
||||
|
||||
{
|
||||
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",
|
||||
// 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",
|
||||
// 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",
|
||||
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/placeholder.png",
|
||||
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||
url: "https://forms.gle/92mvG3ESYj47zzRL9",
|
||||
name: "Open WebUI",
|
||||
description:
|
||||
"The top banner spot is reserved for Emerald+ Enterprise sponsors",
|
||||
},
|
||||
|
||||
{
|
||||
imgSrc: "/sponsors/banners/placeholder.png",
|
||||
mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",
|
||||
|
||||
Reference in New Issue
Block a user