diff --git a/docs/alternatives/index.mdx b/docs/alternatives/index.mdx index 5885810a..1bb5f38a 100644 --- a/docs/alternatives/index.mdx +++ b/docs/alternatives/index.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 1500 -title: "๐ŸŒ Alternatives to Open WebUI" +title: "Alternatives to Open WebUI" description: "Looking for an Open WebUI alternative? Honest comparisons of local runners, desktop apps, enterprise platforms, and commercial AI by the Open WebUI team." keywords: ["open webui alternatives", "open webui alternative", "best open webui alternatives", "best open webui alternative", "open webui vs", "open webui comparison", "tools like open webui", "self-hosted AI chat", "self-hosted ChatGPT alternative"] --- diff --git a/docs/brand.mdx b/docs/brand.mdx index 6d4ce8fa..e5bd0ccf 100644 --- a/docs/brand.mdx +++ b/docs/brand.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 1850 -title: ๐ŸŽจ Brand Guidelines +title: Brand Guidelines --- # Open WebUI Design Guidelines @@ -87,4 +87,4 @@ For questions about usage or to request permission for other uses, please contac --- -Thank you for helping maintain a consistent and clear brand identity for Open WebUI. \ No newline at end of file +Thank you for helping maintain a consistent and clear brand identity for Open WebUI. diff --git a/docs/contributing.mdx b/docs/contributing.mdx index 74425e00..6fa98701 100644 --- a/docs/contributing.mdx +++ b/docs/contributing.mdx @@ -1,9 +1,9 @@ --- sidebar_position: 1600 -title: "๐Ÿค Contributing" +title: "Contributing" --- -# ๐Ÿค Contributing +# Contributing **Help build the AI interface everyone deserves.** diff --git a/docs/ecosystem/_category_.json b/docs/ecosystem/_category_.json new file mode 100644 index 00000000..a1457bf6 --- /dev/null +++ b/docs/ecosystem/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Ecosystem", + "position": 201, + "collapsible": true, + "collapsed": false +} diff --git a/docs/features/computer/_category_.json b/docs/ecosystem/computer/_category_.json similarity index 60% rename from docs/features/computer/_category_.json rename to docs/ecosystem/computer/_category_.json index f10afece..dcd32489 100644 --- a/docs/features/computer/_category_.json +++ b/docs/ecosystem/computer/_category_.json @@ -1,5 +1,5 @@ { - "label": "๐Ÿ–ฅ๏ธ Computer (cptr)", + "label": "Open WebUI Computer (cptr)", "position": 36, "collapsible": true, "collapsed": true diff --git a/docs/features/computer/features.md b/docs/ecosystem/computer/capabilities.md similarity index 79% rename from docs/features/computer/features.md rename to docs/ecosystem/computer/capabilities.md index 240d1db2..a61a7f9e 100644 --- a/docs/features/computer/features.md +++ b/docs/ecosystem/computer/capabilities.md @@ -1,11 +1,11 @@ --- -title: "Features" +title: "Capabilities" sidebar_position: 2 --- -# Features +# Capabilities -Everything cptr gives you, grouped by what it is for. The [overview](/features/computer) has the short version; this is the full list. +Everything Open WebUI Computer gives you, grouped by what it is for. The [overview](/ecosystem/computer) has the short version; this is the full list. ## The computer you operate @@ -17,25 +17,25 @@ Everything cptr gives you, grouped by what it is for. The [overview](/features/c - **Port preview.** A built-in reverse proxy detects ports your processes open, so you can preview a running app in another tab. - **System info.** A "System info" entry in the sidebar menu opens a modal showing the machine's hostname, OS, CPU, memory, disk and running processes. - **Voice memos.** Record audio from the `+` menu or `Cmd+Shift+M`. Recordings save to the workspace as audio files with an auto-generated transcript, via any OpenAI-compatible speech-to-text API (Whisper and similar), configured in Settings > Audio. -- **Installable app (PWA).** Install cptr to a phone, tablet or desktop home screen for a standalone, app-like experience, with offline caching and a fallback page when the server is unreachable. Home screen shortcuts jump straight to a new chat, workspace, note, terminal or search, a share target sends files, text or links from other apps into a chat, and opening a supported file with cptr imports it into a workspace you choose. Manage install status and the offline cache from Settings > PWA. +- **Installable app (PWA).** Install Open WebUI Computer to a phone, tablet or desktop home screen for a standalone, app-like experience, with offline caching and a fallback page when the server is unreachable. Home screen shortcuts jump straight to a new chat, workspace, note, terminal or search, a share target sends files, text or links from other apps into a chat, and opening a supported file with Open WebUI Computer imports it into a workspace you choose. Manage install status and the offline cache from Settings > PWA. ## The AI agent (optional) - **Optional AI agent.** A chat panel with multi-provider support (Anthropic, OpenAI, Ollama and OpenAI-compatible endpoints). With a key it reads, searches and edits files, runs shell commands, searches the web and reads URLs. It also reads and describes images in your workspace and can drive a real browser (navigate, click, type, screenshot, run JavaScript) via local Chrome, Firecrawl or Browser-Use. Web search runs through Exa, Tavily, Brave, DuckDuckGo, Perplexity (with a configurable base URL for proxies such as LiteLLM), Firecrawl (with a self-hosted endpoint option) or any OpenAI-compatible endpoint. For bigger tasks it can draft an implementation plan to approve before it starts (plan mode), and long conversations are compacted automatically, with a context-usage indicator showing how full the window is. Every edit or command waits for your approval, and its file tools refuse to read or write `.env` files. Mention files with `@` and queue follow-up messages while it works. - **Coding agents as backends.** Connect coding agents you already subscribe to as native AI backends, configured from the **Agents** admin tab where you set the command path, the model list and an approval/permission mode (install status and auto-detect are shown). Supported: Codex, Claude Code, Cursor, Grok and OpenCode. They appear as selectable models, run in the workspace with full tool access and resume across sessions. 0.7.1 added live streaming output and approval-request handling. -- **Voice mode and text-to-speech.** Talk to the AI hands-free: tap the voice button, speak, and cptr transcribes your message, sends it and reads the reply back aloud, re-arming the mic for a back-and-forth. Connect any OpenAI-compatible TTS API in Settings > Audio, pick a voice and a playback speed (0.5x to 2x), or click the speaker on any message to hear it. An auto-stream toggle in Settings > Audio reads each AI response aloud as it arrives. +- **Voice mode and text-to-speech.** Talk to the AI hands-free: tap the voice button, speak, and Open WebUI Computer transcribes your message, sends it and reads the reply back aloud, re-arming the mic for a back-and-forth. Connect any OpenAI-compatible TTS API in Settings > Audio, pick a voice and a playback speed (0.5x to 2x), or click the speaker on any message to hear it. An auto-stream toggle in Settings > Audio reads each AI response aloud as it arrives. - **Reasoning display.** Models that think before answering (such as o3 or Claude with extended thinking) show their reasoning as collapsible steps in the chat. Tool calls and reasoning render as compact, groupable rows with live status. - **Memory.** The AI remembers facts about you and your projects, stored per user and per workspace and pulled into future conversations automatically. View, edit and delete them from the Memory tab in Settings. Admins can enable background memory review, which lets the AI pick up preferences and patterns quietly as you chat. Memories are stored as an organized Markdown "memory vault" the AI can link, move, split and merge to keep things tidy. - **Image generation and editing.** Ask the AI to create or edit images right in the chat. Results save to your workspace and display inline. Works with any OpenAI-compatible image API, configured in the Images admin tab. - **Tool servers.** Connect external tools over MCP or OpenAPI from the Tool Servers admin tab (bearer auth and custom headers supported). Once verified, the AI uses them alongside its built-in tools. - **Sub-agents and parallel tools.** The AI can spin up sub-agents that work on tasks in parallel, each with full tool access and inspectable afterwards as its own chat. Multiple tool calls in a single response also run concurrently. Sub-agents can also run in the **background**: the AI kicks off a long task, keeps chatting with you and brings the results back when they are done (labeled as a background sub-agent). Set concurrency and limits in the Subagents admin tab. - **Skills.** Drop reusable `SKILL.md` instruction sets in a workspace or globally. The AI discovers them and loads them on demand, and you can pull one in with `$` in the chat input. -- **Model configuration.** Set parameters and a system prompt per model or as a global default, and pick a **default model** (Settings > Models) that new chats and gateway requests use automatically. System prompts take `{{VARIABLE}}` placeholders (workspace name, file tree, OS, date, skills, plus runtime environment, hostname, platform, architecture, shell, home directory and cptr version), and a workspace `.cptr/system.md` file overrides the prompt for that project. +- **Model configuration.** Set parameters and a system prompt per model or as a global default, and pick a **default model** (Settings > Models) that new chats and gateway requests use automatically. System prompts take `{{VARIABLE}}` placeholders (workspace name, file tree, OS, date, skills, plus runtime environment, hostname, platform, architecture, shell, home directory and Open WebUI Computer version), and a workspace `.cptr/system.md` file overrides the prompt for that project. ## Automation and reach - **Automations.** Schedule recurring tasks on a timer, or ask the AI to set one up. Each automation runs as a real chat with full tool access, and can alert you when it finishes by browser notification or a webhook (Slack, Discord, Teams). - **Messaging bots.** Connect the AI to Telegram, Discord, Slack, WhatsApp or Signal from Settings. Each bot has full tool access, streams its replies and syncs the conversation back to the web UI. Send `/workspace` to switch projects and `/new` to start a fresh chat. -- **OpenAI-compatible gateway.** Expose each workspace as a model over `/v1/models` and `/v1/chat/completions`, so Open WebUI or any OpenAI-compatible client can drive the full cptr agent loop as if it were a model. See [**Connect to Open WebUI**](/features/computer/open-webui) for setup and the first-class Open WebUI integration (branching, background-task filtering). +- **OpenAI-compatible gateway.** Expose each workspace as a model over `/v1/models` and `/v1/chat/completions`, so Open WebUI or any OpenAI-compatible client can drive the full Open WebUI Computer agent loop as if it were a model. See [**Connect to Open WebUI**](/ecosystem/computer/open-webui) for setup and the first-class Open WebUI integration (branching, background-task filtering). Chats are stored as files too, so your AI conversations are searchable, editable and commit-able alongside your code. diff --git a/docs/features/computer/index.md b/docs/ecosystem/computer/index.md similarity index 54% rename from docs/features/computer/index.md rename to docs/ecosystem/computer/index.md index d8c357d7..cf260d0b 100644 --- a/docs/features/computer/index.md +++ b/docs/ecosystem/computer/index.md @@ -1,15 +1,15 @@ --- -title: "Computer (cptr)" +title: "Open WebUI Computer" sidebar_position: 1 --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# ๐Ÿ–ฅ๏ธ Computer (cptr) +# Open WebUI Computer `. Chatting with that model in Open WebUI runs the full Open WebUI Computer agent loop, reading files, editing code and running commands, in that workspace, and the conversation appears in both Open WebUI and the Open WebUI Computer sidebar. + +:::info What this does, and what it does not +This lets Open WebUI **drive** an Open WebUI Computer workspace as a model: new chats you start in Open WebUI run through Open WebUI Computer. It is **not** a sync of Open WebUI Computer's existing standalone chats into Open WebUI, and it does not share Open WebUI knowledge bases into Open WebUI Computer. +::: + +## Setup + +1. **Create a gateway API key in Open WebUI Computer.** Open the **Gateway** admin tab, create a key and copy it. Keys are stored hashed and shown only once. +2. **Note the base URL.** The Gateway tab shows it: your Open WebUI Computer server origin plus `/v1`, for example `http://localhost:8000/v1` (use your host's address if Open WebUI Computer runs elsewhere). +3. **Add Open WebUI Computer as a connection in Open WebUI.** In **Admin Panel > Settings > Connections**, add an **OpenAI API** connection. Set the base URL to the gateway URL from step 2 and paste the API key from step 1. +4. **Add the recommended headers.** The Gateway tab has a one-click copy of the header config. Paste it into the connection's custom headers: + + ```json + { + "X-OpenWebUI-Chat-Id": "{{CHAT_ID}}", + "X-OpenWebUI-Message-Id": "{{MESSAGE_ID}}", + "X-OpenWebUI-User-Message-Id": "{{USER_MESSAGE_ID}}", + "X-OpenWebUI-User-Message-Parent-Id": "{{USER_MESSAGE_PARENT_ID}}", + "X-OpenWebUI-Task": "{{TASK}}" + } + ``` + +5. **Pick a workspace and chat.** Your workspaces now appear in the Open WebUI model picker as `cptr/`. Select one and start a conversation; it runs the Open WebUI Computer agent loop in that workspace. + +## Why the headers matter + +The `{{...}}` values are Open WebUI's [custom-header placeholders](/reference/env-configuration#enable_forward_user_info_headers), filled in per request from the chat metadata. They give Open WebUI Computer the chat and message lineage it needs to: + +- **Branch correctly.** Regenerating or editing a message in Open WebUI creates a matching branch in the Open WebUI Computer sidebar (via `X-OpenWebUI-User-Message-Id` and `X-OpenWebUI-User-Message-Parent-Id`), instead of appending in the wrong place. +- **Ignore background work.** Open WebUI also calls the gateway for title generation, tag extraction and follow-up suggestions. `X-OpenWebUI-Task` tells Open WebUI Computer which requests are background tasks, so it skips them instead of spawning ghost chats or running a full agent loop. + +:::caution Requires Open WebUI 0.10.0 or newer +The `{{USER_MESSAGE_ID}}`, `{{USER_MESSAGE_PARENT_ID}}` and `{{TASK}}` placeholders were added in Open WebUI 0.10.0. On 0.9.6 the basic gateway connection still works, you can chat with a workspace as a model, but those three headers are not filled in, so branching and background-task filtering do not work yet. +::: diff --git a/docs/ecosystem/index.md b/docs/ecosystem/index.md new file mode 100644 index 00000000..77d1bc37 --- /dev/null +++ b/docs/ecosystem/index.md @@ -0,0 +1,25 @@ +--- +title: "Ecosystem" +sidebar_position: 1 +--- + +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Ecosystem + + + +Open WebUI is the core AI interface. The ecosystem is the set of separate Open WebUI projects that connect to it, extend it, or solve adjacent jobs while staying useful on their own. + +## Projects + +- [**Knowledge Base Sync (oikb)**](/ecosystem/knowledge-base-sync): mirror folders, repos, buckets, wikis, and other sources into Open WebUI Knowledge Bases with incremental sync. +- [**Open WebUI Computer**](/ecosystem/computer): your computer in a browser tab, with files, terminal, git, editor, and optional AI. It connects to Open WebUI through an OpenAI-compatible gateway. diff --git a/docs/features/knowledge-base-sync/_category_.json b/docs/ecosystem/knowledge-base-sync/_category_.json similarity index 60% rename from docs/features/knowledge-base-sync/_category_.json rename to docs/ecosystem/knowledge-base-sync/_category_.json index e7ea4072..6ee9d9ef 100644 --- a/docs/features/knowledge-base-sync/_category_.json +++ b/docs/ecosystem/knowledge-base-sync/_category_.json @@ -1,5 +1,5 @@ { - "label": "๐Ÿ”„ Knowledge Base Sync", + "label": "Knowledge Base Sync (oikb)", "position": 34, "collapsible": true, "collapsed": true diff --git a/docs/features/knowledge-base-sync/daemon.md b/docs/ecosystem/knowledge-base-sync/daemon.md similarity index 95% rename from docs/features/knowledge-base-sync/daemon.md rename to docs/ecosystem/knowledge-base-sync/daemon.md index 7a69de58..04f89cd9 100644 --- a/docs/features/knowledge-base-sync/daemon.md +++ b/docs/ecosystem/knowledge-base-sync/daemon.md @@ -5,7 +5,7 @@ title: "Daemon, Webhooks & Deployment" # Running the daemon -The CLI on the [main page](/features/knowledge-base-sync) covers one-off and watched syncs. For anything unattended, scheduled or driven by external events, run oikb as a long-lived **daemon**. It reads your [`.oikb.yaml`](#the-oikbyaml-config-file), syncs each source on its own schedule and exposes a small HTTP API for health checks, metrics, history and on-demand triggers. +The CLI on the [main page](/ecosystem/knowledge-base-sync) covers one-off and watched syncs. For anything unattended, scheduled or driven by external events, run oikb as a long-lived **daemon**. It reads your [`.oikb.yaml`](#the-oikbyaml-config-file), syncs each source on its own schedule and exposes a small HTTP API for health checks, metrics, history and on-demand triggers. ```bash oikb daemon @@ -331,12 +331,12 @@ The scheduler and per-KB locks live in one process, so the daemon is meant to ru ### GitHub Actions -For push-based, build-time syncing instead of a long-running daemon, run the image as a one-shot step. See [One-shot sync in CI](/features/knowledge-base-sync#one-shot-sync-in-ci) on the main page. +For push-based, build-time syncing instead of a long-running daemon, run the image as a one-shot step. See [One-shot sync in CI](/ecosystem/knowledge-base-sync#one-shot-sync-in-ci) on the main page. --- ## See also -- **[Knowledge Base Sync (oikb)](/features/knowledge-base-sync)**: installation, sources, connectors, filtering and the CLI. +- **[Knowledge Base Sync (oikb)](/ecosystem/knowledge-base-sync)**: installation, sources, connectors, filtering and the CLI. - **[Knowledge](/features/workspace/knowledge)**: the Knowledge Base feature this keeps in sync. - **[OpenAPI / MCP tool servers](/features/extensibility/mcp)**: connecting external tool servers to Open WebUI. diff --git a/docs/features/knowledge-base-sync/index.md b/docs/ecosystem/knowledge-base-sync/index.md similarity index 91% rename from docs/features/knowledge-base-sync/index.md rename to docs/ecosystem/knowledge-base-sync/index.md index 4caf7279..8f2d834c 100644 --- a/docs/features/knowledge-base-sync/index.md +++ b/docs/ecosystem/knowledge-base-sync/index.md @@ -1,13 +1,13 @@ --- sidebar_position: 1 title: "Knowledge Base Sync (oikb)" -slug: /features/knowledge-base-sync +slug: /ecosystem/knowledge-base-sync --- import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# ๐Ÿ”„ Knowledge Base Sync (oikb) +# Knowledge Base Sync (oikb) ` | Incremental sync from a source to a KB (`--kb-id`). Omit `` to sync every entry in [`.oikb.yaml`](/features/knowledge-base-sync/daemon#the-oikbyaml-config-file). | +| `oikb sync ` | Incremental sync from a source to a KB (`--kb-id`). Omit `` to sync every entry in [`.oikb.yaml`](/ecosystem/knowledge-base-sync/daemon#the-oikbyaml-config-file). | | `oikb sync --dry-run` | Preview added/modified/deleted without uploading. | | `oikb sync --concurrency N` | Upload N files in parallel (default 1, sequential). | | `oikb sync --max-file-size 50mb` | Skip files above a size. | @@ -303,7 +303,7 @@ The Docker image runs as a one-shot command, which makes it a drop-in [GitHub Ac | `oikb watch --kb-id ID` | Auto-sync a local directory on change (`--debounce`). | | `oikb init` | Interactive wizard that writes a `.oikb.yaml`. | | `oikb validate` | Check `.oikb.yaml` syntax. Add `--deep` to also ping Open WebUI, verify the API key and confirm each KB exists. | -| `oikb daemon` | Run the scheduled [daemon](/features/knowledge-base-sync/daemon) with an HTTP API. | +| `oikb daemon` | Run the scheduled [daemon](/ecosystem/knowledge-base-sync/daemon) with an HTTP API. | | `oikb ls --kb-id ID` | List files in a KB. | | `oikb status --kb-id ID` | Show a KB's name, file count and total size. | | `oikb history` | View sync history (`--json`, `--errors`, `--kb-id`, `--clear --days N`). | @@ -350,7 +350,7 @@ The incremental sync endpoints landed in v0.9.6. Against an older server there i ### The daemon runs as one process -Scheduling and the per-KB locks live in a single process, so the [daemon](/features/knowledge-base-sync/daemon#deployment) is meant to run as one replica. To cover more sources, add entries to one daemon rather than running several copies. +Scheduling and the per-KB locks live in a single process, so the [daemon](/ecosystem/knowledge-base-sync/daemon#deployment) is meant to run as one replica. To cover more sources, add entries to one daemon rather than running several copies. ### Indexing still happens server-side @@ -374,6 +374,6 @@ oikb uploads fast, but Open WebUI extracts and embeds each new file asynchronous ## See also -- **[Running the daemon โ†’](/features/knowledge-base-sync/daemon)**: scheduled sync, webhooks, the HTTP API, observability, deployment and letting a model trigger syncs. +- **[Running the daemon โ†’](/ecosystem/knowledge-base-sync/daemon)**: scheduled sync, webhooks, the HTTP API, observability, deployment and letting a model trigger syncs. - **[Knowledge](/features/workspace/knowledge)**: the Knowledge Base feature oikb feeds, including the server-side [sync endpoints](/features/workspace/knowledge#api-access). - **[OpenAPI / MCP tool servers](/features/extensibility/mcp)**: how the daemon plugs in as a tool the model can call. diff --git a/docs/enterprise/index.mdx b/docs/enterprise/index.mdx index d28e8b1d..51970fec 100644 --- a/docs/enterprise/index.mdx +++ b/docs/enterprise/index.mdx @@ -1,19 +1,26 @@ --- sidebar_position: 400 -title: "๐Ÿข Open WebUI for Enterprise" +title: "Open WebUI for Enterprise" --- import { Testimonals } from "@site/src/components/Testimonals"; - +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; ### The AI Platform Trusted by Leading Organizations - Open WebUI is one of the **fastest-growing AI platforms** in the world. Designed for **enterprise deployment**, Open WebUI enables businesses to deploy AI capabilities with **full control** over their data, infrastructure, and roadmap. Whether you're a startup scaling fast or a Fortune 500 managing global operations, Open WebUI is built for the reliability, security, and flexibility your teams need to deploy AI confidently and securely, **without vendor lock-in**. -![Open WebUI Inc.](/images/enterprise/hero.png) + ### See Open WebUI in Action @@ -119,4 +126,4 @@ Even if you **don't need an enterprise license**, consider becoming a **sponsor* Open WebUI is free to use, but building, maintaining, and improving a platform of this scale takes real time, resources, and ongoing engineering work. Sponsorships help fund stability, security, new features, and long-term development. -๐Ÿ’™ **[Sponsor Open WebUI](https://github.com/sponsors/tjbck)** +๐Ÿ’™ **[Sponsor Open WebUI](https://github.com/sponsors/open-webui)** diff --git a/docs/faq.mdx b/docs/faq.mdx index 82b7e1c5..17601da6 100644 --- a/docs/faq.mdx +++ b/docs/faq.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 1200 -title: "โ“ FAQ" +title: "FAQ" --- diff --git a/docs/features/administration/_category_.json b/docs/features/administration/_category_.json index fe419a9e..66b1b215 100644 --- a/docs/features/administration/_category_.json +++ b/docs/features/administration/_category_.json @@ -1,5 +1,5 @@ { - "label": "๐Ÿ”ง Administration", + "label": "Administration", "position": 46, "collapsible": true, "collapsed": true diff --git a/docs/features/administration/index.mdx b/docs/features/administration/index.mdx index df6a67fe..d6e41091 100644 --- a/docs/features/administration/index.mdx +++ b/docs/features/administration/index.mdx @@ -6,7 +6,7 @@ title: "Administration" import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# ๐Ÿ”ง Administration +# Administration `. Chatting with that model in Open WebUI runs the full cptr agent loop, reading files, editing code and running commands, in that workspace, and the conversation appears in both Open WebUI and the cptr sidebar. - -:::info What this does, and what it does not -This lets Open WebUI **drive** a cptr workspace as a model: new chats you start in Open WebUI run through cptr. It is **not** a sync of cptr's existing standalone chats into Open WebUI, and it does not share Open WebUI knowledge bases into cptr. -::: - -## Setup - -1. **Create a gateway API key in cptr.** Open the **Gateway** admin tab, create a key and copy it. Keys are stored hashed and shown only once. -2. **Note the base URL.** The Gateway tab shows it: your cptr server origin plus `/v1`, for example `http://localhost:8000/v1` (use your host's address if cptr runs elsewhere). -3. **Add cptr as a connection in Open WebUI.** In **Admin Panel > Settings > Connections**, add an **OpenAI API** connection. Set the base URL to the gateway URL from step 2 and paste the API key from step 1. -4. **Add the recommended headers.** The Gateway tab has a one-click copy of the header config. Paste it into the connection's custom headers: - - ```json - { - "X-OpenWebUI-Chat-Id": "{{CHAT_ID}}", - "X-OpenWebUI-Message-Id": "{{MESSAGE_ID}}", - "X-OpenWebUI-User-Message-Id": "{{USER_MESSAGE_ID}}", - "X-OpenWebUI-User-Message-Parent-Id": "{{USER_MESSAGE_PARENT_ID}}", - "X-OpenWebUI-Task": "{{TASK}}" - } - ``` - -5. **Pick a workspace and chat.** Your workspaces now appear in the Open WebUI model picker as `cptr/`. Select one and start a conversation; it runs the cptr agent loop in that workspace. - -## Why the headers matter - -The `{{...}}` values are Open WebUI's [custom-header placeholders](/reference/env-configuration#enable_forward_user_info_headers), filled in per request from the chat metadata. They give cptr the chat and message lineage it needs to: - -- **Branch correctly.** Regenerating or editing a message in Open WebUI creates a matching branch in the cptr sidebar (via `X-OpenWebUI-User-Message-Id` and `X-OpenWebUI-User-Message-Parent-Id`), instead of appending in the wrong place. -- **Ignore background work.** Open WebUI also calls the gateway for title generation, tag extraction and follow-up suggestions. `X-OpenWebUI-Task` tells cptr which requests are background tasks, so it skips them instead of spawning ghost chats or running a full agent loop. - -:::caution Requires Open WebUI 0.10.0 or newer -The `{{USER_MESSAGE_ID}}`, `{{USER_MESSAGE_PARENT_ID}}` and `{{TASK}}` placeholders were added in Open WebUI 0.10.0. On 0.9.6 the basic gateway connection still works, you can chat with a workspace as a model, but those three headers are not filled in, so branching and background-task filtering do not work yet. -::: diff --git a/docs/features/extensibility/_category_.json b/docs/features/extensibility/_category_.json index d8470a22..38efd324 100644 --- a/docs/features/extensibility/_category_.json +++ b/docs/features/extensibility/_category_.json @@ -1,5 +1,5 @@ { - "label": "๐Ÿ”Œ Plugins & Extensibility", + "label": "Plugins & Extensibility", "position": 40, "collapsible": true, "collapsed": true diff --git a/docs/features/extensibility/community.mdx b/docs/features/extensibility/community.mdx index 86309b9c..5d8b9169 100644 --- a/docs/features/extensibility/community.mdx +++ b/docs/features/extensibility/community.mdx @@ -6,7 +6,7 @@ sidebar_position: 1 import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# ๐Ÿงฉ Community Plugins +# Community Plugins - -**Your computer in a browser tab, from any device. A separate app, not a plugin.** - -cptr serves a machine you own to the browser: files, an editor, a terminal and git, built mobile-first. You operate it; AI is an optional helper. Not to be confused with Open Terminal, which is a tool the chat AI drives. - -| | | -| :--- | :--- | -| ๐Ÿ“ฑ **Mobile-first** | A full computer from your phone, sessions survive disconnects | -| ๐Ÿ–ฅ๏ธ **Terminal, editor, git** | PTY shell, file editor and a git panel in one tab | -| ๐Ÿค– **Optional AI agent** | Bring your own key; it reads, edits and runs in your project | -| ๐Ÿ”‘ **Your machine** | Runs on your hardware, full host access like SSH | - -[**Learn about Computer (cptr) โ†’**](/features/computer) - ---- - ## ๐Ÿ”Œ Extensibility diff --git a/docs/features/notes/_category_.json b/docs/features/notes/_category_.json index 345bf33c..6295e7d3 100644 --- a/docs/features/notes/_category_.json +++ b/docs/features/notes/_category_.json @@ -1,5 +1,5 @@ { - "label": "๐Ÿ“ Notes", + "label": "Notes", "position": 31, "collapsible": true, "collapsed": true diff --git a/docs/features/notes/index.md b/docs/features/notes/index.md index e291b2fb..4dd43236 100644 --- a/docs/features/notes/index.md +++ b/docs/features/notes/index.md @@ -6,7 +6,7 @@ title: "Notes" import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; -# ๐Ÿ“ Notes +# Notes Gateway**. 3. Enter a name for the key and click **Create Key**. 4. Copy the key (`sk-cptr-...`). You will only see it once. @@ -82,10 +82,10 @@ http://host.docker.internal:8000/v1 ## Step 4: Configure Custom Headers (Recommended) -For the best experience, set up custom request headers so that Open WebUI passes conversation metadata to cptr. This enables proper session mapping (conversations stay in sync between both interfaces) and ensures background tasks like title generation are handled efficiently. +For the best experience, set up custom request headers so that Open WebUI passes conversation metadata to Open WebUI Computer. This enables proper session mapping (conversations stay in sync between both interfaces) and ensures background tasks like title generation are handled efficiently. 1. In Open WebUI, go to **Admin Settings > Connections**. -2. Find the cptr connection and click the **โ‹ฎ** menu, then **Custom Headers**. +2. Find the Open WebUI Computer connection and click the **โ‹ฎ** menu, then **Custom Headers**. 3. Paste the following: ```json @@ -99,24 +99,24 @@ For the best experience, set up custom request headers so that Open WebUI passes ``` :::tip -You can copy these headers directly from cptr's **Settings > Gateway** page. +You can copy these headers directly from Open WebUI Computer's **Settings > Gateway** page. ::: --- ## Step 5: Start Chatting -Your cptr workspaces should now appear in the model dropdown as `cptr/`. Select one and start chatting. The AI has full access to that workspace: files, terminal, web search, and any configured tools. +Your Open WebUI Computer workspaces should now appear in the model dropdown as `cptr/`. Select one and start chatting. The AI has full access to that workspace: files, terminal, web search, and any configured tools. -Conversations are synced. Work done through Open WebUI appears in cptr's sidebar, and vice versa. +Conversations are synced. Work done through Open WebUI appears in Open WebUI Computer's sidebar, and vice versa. --- ## Choosing a Gateway Model -By default, cptr uses the first available model connection for gateway requests. To use a specific model: +By default, Open WebUI Computer uses the first available model connection for gateway requests. To use a specific model: -1. In cptr, go to **Settings > Gateway**. +1. In Open WebUI Computer, go to **Settings > Gateway**. 2. Select a model from the dropdown. 3. Click **Save**. @@ -133,7 +133,7 @@ echo "anthropic/claude-sonnet-4-20250514" > /path/to/workspace/.cptr/model ### No models appear in the dropdown - Verify the URL includes `/v1`: `http://localhost:8000/v1` (not just `:8000`) -- Check that cptr is running and accessible +- Check that Open WebUI Computer is running and accessible - Confirm the API key is correct ### Connection test passes but no models load @@ -150,11 +150,11 @@ docker run --add-host=host.docker.internal:host-gateway ... ### Conversations not syncing -Make sure the custom headers from Step 4 are configured. Without them, cptr creates a new chat for each request instead of continuing the existing conversation. +Make sure the custom headers from Step 4 are configured. Without them, Open WebUI Computer creates a new chat for each request instead of continuing the existing conversation. --- ## Learn More -- [cptr on GitHub](https://github.com/open-webui/computer) +- [Open WebUI Computer on GitHub](https://github.com/open-webui/computer) - [Open WebUI Connections](/getting-started/quick-start/connect-a-provider/starting-with-openai-compatible) diff --git a/docs/getting-started/quick-start/connect-an-agent/index.md b/docs/getting-started/quick-start/connect-an-agent/index.md index 71ef61aa..e7d4968a 100644 --- a/docs/getting-started/quick-start/connect-an-agent/index.md +++ b/docs/getting-started/quick-start/connect-an-agent/index.md @@ -3,7 +3,7 @@ sidebar_position: 0 title: "Connect an Agent" --- -# ๐Ÿค– Connect an Agent +# Connect an Agent **Use Open WebUI as the chat frontend for autonomous AI agents.** @@ -32,7 +32,7 @@ The agent decides when and how to use these tools based on your message, and Ope | Agent | Description | Guide | |-------|-------------|-------| -| **cptr** (Open WebUI Computer) | Your computer in a browser tab, by the Open WebUI team. Each workspace connects to Open WebUI as a model with full tool access via an OpenAI-compatible gateway. | [Set up cptr โ†’](/getting-started/quick-start/connect-an-agent/cptr) | +| **Open WebUI Computer** | Your computer in a browser tab, by the Open WebUI team. Each workspace connects to Open WebUI as a model with full tool access via an OpenAI-compatible gateway. | [Set up Open WebUI Computer โ†’](/getting-started/quick-start/connect-an-agent/cptr) | | **Hermes Agent** | Autonomous agent by Nous Research with terminal, file ops, web search, memory, and extensible skills | [Set up Hermes Agent โ†’](/getting-started/quick-start/connect-an-agent/hermes-agent) | | **OpenClaw** | Open-source self-hosted agent framework with shell access, file operations, web browsing, and messaging channel integrations | [Set up OpenClaw โ†’](/getting-started/quick-start/connect-an-agent/openclaw) | diff --git a/docs/intro.mdx b/docs/intro.mdx index 5c613c81..b1ffb0bb 100644 --- a/docs/intro.mdx +++ b/docs/intro.mdx @@ -1,7 +1,7 @@ --- sidebar_position: 0 slug: / -title: ๐Ÿก Home +title: Home hide_title: true --- @@ -78,7 +78,7 @@ Installed Open WebUI but not sure where to start? The [**Essentials for Open Web - [**Quick Start**](/getting-started/quick-start): Docker, Python, Kubernetes install options - [**Connect a Provider**](/getting-started/quick-start/connect-a-provider): Ollama, OpenAI, Anthropic, vLLM, and more - [**Essentials for Open WebUI**](/getting-started/essentials): Start here after your first install. Plugins, tool calling, task models, context management, RAG, Open Terminal. -- [**Connect an Agent**](/getting-started/quick-start/connect-an-agent): Open WebUI Computer (`cptr`), Hermes Agent, OpenClaw, and other autonomous AI agents +- [**Connect an Agent**](/getting-started/quick-start/connect-an-agent): Open WebUI Computer, Hermes Agent, OpenClaw, and other autonomous AI agents - [**Updating**](/getting-started/updating): Keep your instance current - [**Development Branch**](/getting-started/quick-start): Help test the latest changes before stable release - [**Advanced Topics**](/getting-started/advanced-topics): Scaling, logging, and advanced configuration @@ -97,7 +97,7 @@ Installed Open WebUI but not sure where to start? The [**Essentials for Open Web ## Also by Open WebUI -- [**cptr**](https://github.com/open-webui/computer) (Open WebUI Computer): Your computer in a browser tab. Files, terminal, git, editor, and AI, accessible from any device. [Connect it to Open WebUI โ†’](/getting-started/quick-start/connect-an-agent/cptr) +- [**Open WebUI Computer**](https://github.com/open-webui/computer): Your computer in a browser tab. Files, terminal, git, editor, and AI, accessible from any device. [Connect it to Open WebUI โ†’](/getting-started/quick-start/connect-an-agent/cptr) - [**open-terminal**](https://github.com/open-webui/open-terminal): Give your AI a real computer. Sandboxed terminal, file browser, and code execution for Open WebUI. - [**oikb**](https://github.com/open-webui/oikb): Keep your Open WebUI knowledge bases in sync. Watches local folders, GitHub repos, S3 buckets, Confluence, and 40+ other sources. - [**mcpo**](https://github.com/open-webui/mcpo): MCP-to-OpenAPI proxy. Use any MCP tool server with Open WebUI (or any OpenAPI client) without custom glue code. diff --git a/docs/license.mdx b/docs/license.mdx index 1edabda6..be4eb754 100644 --- a/docs/license.mdx +++ b/docs/license.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 1900 -title: "โš–๏ธ Open WebUI License" +title: "Open WebUI License" --- @@ -19,7 +19,7 @@ As a small, independent team building mission-critical AI tooling, we rely on fa And for those who prefer a fully permissive path, **[anyone can still fork from v0.6.5 with zero restrictions and build from there however they choose](https://github.com/open-webui/open-webui/blob/main/LICENSE_HISTORY)**. Itโ€™s a simple, balanced step that protects the ecosystem, strengthens the project, and **ensures we can sustain our mission of empowering everyone**. ::: -If you've been following Open WebUIโ€™s journey, you know our goal has always been: empower everyone with cutting-edge AI, with as few barriers as possible. Open WebUI is an independent project, built and maintained by a small, dedicated core team. Over the last year, weโ€™ve poured **countless hours, late nights, and real financial resources** into making this the best tool we can, **and we trust our users enough to keep it free and open**. +If you've been following Open WebUIโ€™s journey, you know our goal has always been: empower everyone with cutting-edge AI, with as few barriers as possible. Open WebUI is an independent project, built and maintained by a small, dedicated core team. Over the years, weโ€™ve poured **countless hours, late nights, and real financial resources** into making this the best tool we can, **and we trust our users enough to keep it free and open**. But with Open WebUIโ€™s rapid growth, we began seeing a pattern that put real pressure on the projectโ€™s **long-term sustainability**: some groups were stripping out the branding, repackaging our work as their own, and monetizing it without any acknowledgment or participation. This wasnโ€™t just about credit, it created confusion for end users, **obscured the projectโ€™s availability as free software**, and made it harder for people to understand where the software came from. Worse, these same groups often came back to us for fixes, support, and updates, placing extreme strain on a small, independent team for products they were profiting from, quietly shifting the burden of their commercial offerings. That dynamic ultimately drained time, focus, our limited bandwidth and resources away from the people weโ€™re actually here to serve: **the real community**. @@ -296,4 +296,4 @@ If youโ€™re ever unsure, please feel free to contact us and share your planned d *This page is provided for informational purposes only and does not constitute legal advice. For exact and legally binding terms, refer to the full text of the [LICENSE](https://github.com/open-webui/open-webui/blob/main/LICENSE).* -**Thank you for respecting the Open WebUI community, our contributors, and our projectโ€™s future.** \ No newline at end of file +**Thank you for respecting the Open WebUI community, our contributors, and our projectโ€™s future.** diff --git a/docs/mission.mdx b/docs/mission.mdx index 23406a38..4b869cce 100644 --- a/docs/mission.mdx +++ b/docs/mission.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 2000 -title: "๐ŸŽฏ Our Mission" +title: "Our Mission" --- ## Bring Intelligence Home diff --git a/docs/reference/_category_.json b/docs/reference/_category_.json index 837217df..b8b7bff6 100644 --- a/docs/reference/_category_.json +++ b/docs/reference/_category_.json @@ -1,4 +1,4 @@ { - "label": "๐Ÿ“– Reference", + "label": "Reference", "position": 150 } diff --git a/docs/reference/env-configuration.mdx b/docs/reference/env-configuration.mdx index e606b320..c15543bf 100644 --- a/docs/reference/env-configuration.mdx +++ b/docs/reference/env-configuration.mdx @@ -32,7 +32,7 @@ Please note that `ConfigVar` environment variables are clearly marked as such in To disable this behavior and force Open WebUI to always use your environment variables (ignoring the database), set `ENABLE_PERSISTENT_CONFIG` to `False`. -**CRITICAL WARNING:** When `ENABLE_PERSISTENT_CONFIG` is `False`, you may still be able to edit settings in the Admin UI. However, these changes are **NOT saved permanently**. They will persist only for the current session and will be **lost** when you restart the container, as the system will revert to the values defined in your environment variables. +**CRITICAL WARNING:** When `ENABLE_PERSISTENT_CONFIG` is `False`, you may still be able to edit settings in the Admin UI. However, these changes are **NOT saved**. ::: diff --git a/docs/reference/index.md b/docs/reference/index.md index 62c25291..b589eacc 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -1,6 +1,6 @@ --- sidebar_position: 150 -title: "๐Ÿ“– Reference" +title: "Reference" --- # Reference diff --git a/docs/reference/monitoring/index.md b/docs/reference/monitoring/index.md index f27c59bd..5edfcc82 100644 --- a/docs/reference/monitoring/index.md +++ b/docs/reference/monitoring/index.md @@ -3,7 +3,7 @@ sidebar_position: 6 title: "Monitoring" --- -# ๐Ÿ“Š Monitoring +# Monitoring **Know when something breaks before your users do.** diff --git a/docs/roadmap.mdx b/docs/roadmap.mdx index 364538bd..59bcb7d1 100644 --- a/docs/roadmap.mdx +++ b/docs/roadmap.mdx @@ -1,9 +1,9 @@ --- sidebar_position: 1400 -title: "๐Ÿ›ฃ๏ธ Roadmap" +title: "Roadmap" --- -# ๐Ÿ›ฃ๏ธ Roadmap +# Roadmap Open WebUI is building the AI interface that aims to be the only one you need on your desktop. Here's where we're going. @@ -72,4 +72,4 @@ Everything on this page is a step toward that goal. Want to help us ship faster? Run the [dev branch](https://github.com/open-webui/open-webui), test upcoming features, and report what you find. Every bug caught early lets us tackle more. -For discussion and real-time progress, join us on [Discord](https://discord.gg/5rJgQTnV4s) or follow development on [GitHub](https://github.com/open-webui/open-webui). \ No newline at end of file +For discussion and real-time progress, join us on [Discord](https://discord.gg/5rJgQTnV4s) or follow development on [GitHub](https://github.com/open-webui/open-webui). diff --git a/docs/security/accepted-risks/_category_.json b/docs/security/accepted-risks/_category_.json index de31bc05..6d5d5a36 100644 --- a/docs/security/accepted-risks/_category_.json +++ b/docs/security/accepted-risks/_category_.json @@ -1,4 +1,4 @@ { - "label": "โš–๏ธ Accepted Risks", + "label": "Accepted Risks", "position": 101 } diff --git a/docs/security/accepted-risks/index.mdx b/docs/security/accepted-risks/index.mdx index 9f236016..1f4b096c 100644 --- a/docs/security/accepted-risks/index.mdx +++ b/docs/security/accepted-risks/index.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 0 -title: "โš–๏ธ Accepted Risks" +title: "Accepted Risks" --- # Known & Accepted Risks diff --git a/docs/security/index.mdx b/docs/security/index.mdx index 330f8171..9e418125 100644 --- a/docs/security/index.mdx +++ b/docs/security/index.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 1500 -title: "๐Ÿ›ก๏ธ Security" +title: "Security" --- # Security diff --git a/docs/security/vendor-dispositions/index.mdx b/docs/security/vendor-dispositions/index.mdx index ad99a72d..1c36fe6d 100644 --- a/docs/security/vendor-dispositions/index.mdx +++ b/docs/security/vendor-dispositions/index.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 0 -title: "๐Ÿ“„ Vendor Dispositions" +title: "Vendor Dispositions" --- # Vendor Dispositions diff --git a/docs/sponsorships.mdx b/docs/sponsorships.mdx index e5cd163d..bd351949 100644 --- a/docs/sponsorships.mdx +++ b/docs/sponsorships.mdx @@ -1,11 +1,11 @@ --- sidebar_position: 1800 -title: "๐Ÿ’– Sponsorships" +title: "Sponsorships" --- ## The Impact of Your Support -[![Image Description](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/tjbck) +[![Image Description](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/open-webui) As Open WebUI grows, the tasks and challenges we face expand as well. [Tim](/team) is at the heart of this project, tirelessly working to ensure all aspects of Open WebUI not only function but thrive. Yet, imagine the additional improvements we could make with a little extra support. diff --git a/docs/team.mdx b/docs/team.mdx index b8fb2fba..6db4ed71 100644 --- a/docs/team.mdx +++ b/docs/team.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 2200 -title: "๐Ÿ‘ฅ Our Team" +title: "Our Team" --- diff --git a/docs/troubleshooting/context-window.mdx b/docs/troubleshooting/context-window.mdx index db466ede..23250150 100644 --- a/docs/troubleshooting/context-window.mdx +++ b/docs/troubleshooting/context-window.mdx @@ -3,7 +3,7 @@ sidebar_position: 17 title: "Context Window / Prompt Too Long" --- -# "The prompt is too long" / Model Context Length Exceeded +# "The prompt is too long"/ Model Context Length Exceeded ## What you're seeing diff --git a/docs/troubleshooting/index.mdx b/docs/troubleshooting/index.mdx index 036c0717..187f2aee 100644 --- a/docs/troubleshooting/index.mdx +++ b/docs/troubleshooting/index.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 300 -title: "๐Ÿ› ๏ธ Troubleshooting" +title: "Troubleshooting" --- # Troubleshooting @@ -76,4 +76,4 @@ If you're still stuck after following the relevant guide: - Search existing issues on [GitHub](https://github.com/open-webui/open-webui/issues) - Ask on [Discord](https://discord.com/invite/5rJgQTnV4s) or [Reddit](https://www.reddit.com/r/OpenWebUI/) -- [Sponsors](/sponsorships) get access to a dedicated support channel with faster response times \ No newline at end of file +- [Sponsors](/sponsorships) get access to a dedicated support channel with faster response times diff --git a/docs/troubleshooting/startup.mdx b/docs/troubleshooting/startup.mdx index ff82499d..49171842 100644 --- a/docs/troubleshooting/startup.mdx +++ b/docs/troubleshooting/startup.mdx @@ -3,7 +3,7 @@ title: "Startup & Docker Failures" sidebar_position: 1 --- -# ๐Ÿšฆ Startup & Docker Failures +# Startup & Docker Failures Open WebUI not coming up at all? Start here. For failures specifically about Alembic migrations (`no such table`, `Can't locate revision`), see [Database Migration](./manual-database-migration) instead. diff --git a/docs/tutorials/_category_.json b/docs/tutorials/_category_.json index 90e18aef..b043b634 100644 --- a/docs/tutorials/_category_.json +++ b/docs/tutorials/_category_.json @@ -1,4 +1,4 @@ { - "label": "๐ŸŽ“ Tutorials", + "label": "Tutorials", "position": 800 } diff --git a/docs/tutorials/auth-sso/dual-oauth-configuration.mdx b/docs/tutorials/auth-sso/dual-oauth-configuration.mdx index f86f0de4..260daee3 100644 --- a/docs/tutorials/auth-sso/dual-oauth-configuration.mdx +++ b/docs/tutorials/auth-sso/dual-oauth-configuration.mdx @@ -5,7 +5,7 @@ sidebar_position: 30 description: Learn how to configure both Microsoft and Google OAuth providers simultaneously in Open WebUI using an unofficial community workaround. --- -# ๐Ÿ” Dual OAuth Configuration (Microsoft & Google) +# Dual OAuth Configuration (Microsoft & Google) :::caution Unofficial Workaround This configuration is a community-contributed workaround and is **not officially supported** by the Open WebUI team. While it works in current versions, behavior may change in future updates. This tutorial serves as a demonstration for advanced users. diff --git a/docs/tutorials/auth-sso/index.md b/docs/tutorials/auth-sso/index.md index 8b233aea..6d33c3fe 100644 --- a/docs/tutorials/auth-sso/index.md +++ b/docs/tutorials/auth-sso/index.md @@ -3,7 +3,7 @@ sidebar_position: 0 title: "Authentication & SSO" --- -# ๐Ÿ” Authentication & SSO Tutorials +# Authentication & SSO Tutorials **Connect Open WebUI to your identity provider for single sign-on, LDAP, and group synchronization.** diff --git a/docs/tutorials/auth-sso/okta-oidc-sso.md b/docs/tutorials/auth-sso/okta-oidc-sso.md index 78339958..f3052c63 100644 --- a/docs/tutorials/auth-sso/okta-oidc-sso.md +++ b/docs/tutorials/auth-sso/okta-oidc-sso.md @@ -3,7 +3,7 @@ sidebar_position: 10 title: "Okta SSO (OIDC)" --- -# ๐Ÿ”— Okta OIDC SSO Integration +# Okta OIDC SSO Integration :::warning diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index c4be2cf3..67992b04 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -3,7 +3,7 @@ sidebar_position: 0 title: "Tutorials" --- -# ๐ŸŽ“ Tutorials +# Tutorials **Step-by-step guides for real-world scenarios, contributed by the Open WebUI community.** diff --git a/docs/tutorials/integrations/index.md b/docs/tutorials/integrations/index.md index df6c7d95..8486d679 100644 --- a/docs/tutorials/integrations/index.md +++ b/docs/tutorials/integrations/index.md @@ -3,7 +3,7 @@ sidebar_position: 0 title: "Integrations" --- -# ๐Ÿ”Œ Integration Tutorials +# Integration Tutorials **Connect Open WebUI to LLM providers, developer tools, monitoring platforms, and external services.** diff --git a/docs/tutorials/integrations/monitoring/langfuse.md b/docs/tutorials/integrations/monitoring/langfuse.md index 25f22dc4..930e731c 100644 --- a/docs/tutorials/integrations/monitoring/langfuse.md +++ b/docs/tutorials/integrations/monitoring/langfuse.md @@ -1,6 +1,6 @@ --- sidebar_position: 20 -title: "Langfuse โš ๏ธ" +title: "Langfuse" --- :::warning diff --git a/docs/tutorials/integrations/redis.md b/docs/tutorials/integrations/redis.md index 20990005..20e2f3b2 100644 --- a/docs/tutorials/integrations/redis.md +++ b/docs/tutorials/integrations/redis.md @@ -3,7 +3,7 @@ sidebar_position: 50 title: "Redis Websocket Support" --- -# ๐Ÿ”— Redis Websocket Support +# Redis Websocket Support :::warning diff --git a/docs/tutorials/integrations/valkey.md b/docs/tutorials/integrations/valkey.md index f617623b..5f204b4a 100644 --- a/docs/tutorials/integrations/valkey.md +++ b/docs/tutorials/integrations/valkey.md @@ -3,7 +3,7 @@ sidebar_position: 51 title: "Using Valkey (Redis-compatible)" --- -# ๐Ÿ”— Using Valkey +# Using Valkey :::warning diff --git a/docs/tutorials/maintenance/index.md b/docs/tutorials/maintenance/index.md index eff188ef..b43f1757 100644 --- a/docs/tutorials/maintenance/index.md +++ b/docs/tutorials/maintenance/index.md @@ -3,7 +3,7 @@ sidebar_position: 0 title: "Maintenance" --- -# ๐Ÿ”ง Maintenance Tutorials +# Maintenance Tutorials **Keep your Open WebUI deployment healthy: backups, storage, offline mode, and database management.** diff --git a/docs/tutorials/maintenance/offline-mode.mdx b/docs/tutorials/maintenance/offline-mode.mdx index 2d88fe12..ae83f96f 100644 --- a/docs/tutorials/maintenance/offline-mode.mdx +++ b/docs/tutorials/maintenance/offline-mode.mdx @@ -3,7 +3,7 @@ sidebar_position: 300 title: "Offline Mode" --- -# Running Open WebUI in offline mode ๐Ÿ”Œ +# Running Open WebUI in offline mode :::warning diff --git a/docs/tutorials/maintenance/s3-storage.md b/docs/tutorials/maintenance/s3-storage.md index 6545dcb2..55dfa1a9 100644 --- a/docs/tutorials/maintenance/s3-storage.md +++ b/docs/tutorials/maintenance/s3-storage.md @@ -3,7 +3,7 @@ sidebar_position: 40 title: "S3 Storage" --- -# ๐Ÿชฃ Switching to S3 Storage +# Switching to S3 Storage :::warning diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 4a807c58..bf0f2173 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -89,8 +89,8 @@ const config: Config = { navbar: { title: "Open WebUI", logo: { - src: "images/logo.png", - srcDark: "images/logo-dark.png", + src: "images/favicon.png", + srcDark: "images/favicon.png", }, items: [ { @@ -181,7 +181,7 @@ const config: Config = { styles: [], }, darkTheme: { - plain: { color: "#ccc", backgroundColor: "#1a1a1a" }, + plain: { color: "#ccc", backgroundColor: "#000" }, styles: [], }, }, diff --git a/src/components/SponsorList.tsx b/src/components/SponsorList.tsx index 7e8b25a8..64c6da2d 100644 --- a/src/components/SponsorList.tsx +++ b/src/components/SponsorList.tsx @@ -25,7 +25,7 @@ export const SponsorList = () => { const sponsors = [ { - imgSrc: "/sponsors/sponsor.png", + imgSrc: "/images/favicon.png", url: "https://openwebui.com", name: "Open WebUI", description: "On a mission to build the best AI user interface.", diff --git a/src/css/custom.css b/src/css/custom.css index 32de435e..683df132 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -4,8 +4,7 @@ * Brutal minimalism theme for Open WebUI docs. * Inspired by benji.app โ€” typography-first, zero chrome. */ -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap"); -@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono&display=swap"); /* Tailwind base styles */ @tailwind base; @@ -30,12 +29,14 @@ --ifm-global-shadow-md: none; --ifm-footer-background-color: #fff; --ifm-font-family-base: - "Inter", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, + "IBM Plex Sans", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif; + --ifm-heading-font-family: var(--ifm-font-family-base); --ifm-font-size-base: 15px; --ifm-line-height-base: 1.65; --ifm-font-weight-base: 400; - --ifm-heading-font-weight: 600; + --ifm-font-weight-bold: 600; + --ifm-heading-font-weight: 500; --ifm-navbar-shadow: none; --ifm-toc-border-color: transparent; --ifm-menu-link-padding-horizontal: 0.75rem; @@ -69,10 +70,20 @@ --ifm-link-color: #ccc; --ifm-heading-color: #eee; --ifm-font-color-base: #bbb; - --ifm-background-color: #0a0a0a; - --ifm-navbar-background-color: #0a0a0a; - --ifm-footer-background-color: #0a0a0a; + --ifm-background-color: #000; + --ifm-background-surface-color: #000; + --ifm-code-background: #000; + --ifm-pre-background: #000; + --ifm-card-background-color: #000; + --ifm-dropdown-background-color: #000; + --ifm-hero-background-color: #000; + --ifm-menu-color-background-active: #000; + --ifm-menu-color-background-hover: #000; + --ifm-navbar-background-color: #000; + --ifm-footer-background-color: #000; + --ifm-toc-border-color: #101010; --ifm-footer-color: #555; + --ifm-hover-overlay: rgb(255 255 255 / 4%); --ifm-menu-color: #888; --docusaurus-highlighted-code-line-bg: rgb(255 255 255 / 8%); } @@ -108,10 +119,6 @@ p { transition: transform var(--ifm-transition-fast) ease-in-out; } -.theme-doc-sidebar-menu.menu__list { - margin-top: 16px; -} - nav.menu { margin-right: 1px; padding: 0; @@ -131,7 +138,7 @@ nav.menu::-webkit-scrollbar { } .menu__link--active { - font-weight: 600; + font-weight: 500; } [data-theme="light"] .menu__link--active { @@ -141,7 +148,7 @@ nav.menu::-webkit-scrollbar { [data-theme="dark"] .menu__link--active { color: #fff; - background-color: #1a1a1a; + background-color: var(--ifm-menu-color-background-active); } /* โ”€โ”€โ”€ Hide breadcrumbs โ”€โ”€โ”€ */ @@ -167,7 +174,7 @@ code { [data-theme="dark"] code { color: #ccc; - background-color: #222; + background-color: var(--ifm-code-background); } [data-theme="light"] code { @@ -176,7 +183,7 @@ code { /* stylelint-disable-next-line no-duplicate-selectors */ [data-theme="dark"] code { - background-color: #222; + background-color: var(--ifm-code-background); } .theme-code-block { @@ -220,7 +227,7 @@ code { /* stylelint-disable-next-line no-duplicate-selectors */ [data-theme="dark"] .shiki-code-block pre { - background-color: var(--shiki-dark-bg, #1a1a1a) !important; + background-color: var(--ifm-pre-background) !important; } .shiki-code-block-content { @@ -251,7 +258,7 @@ code { } [data-theme="dark"] .shiki-copy-button { - background: #1a1a1a; + background: var(--ifm-pre-background); color: #ccc; } @@ -291,6 +298,41 @@ blockquote { color: #999; } +/* โ”€โ”€โ”€ Admonitions โ”€โ”€โ”€ */ +.alert { + background: transparent; + border-width: 0 0 0 1px; + border-radius: 0; + box-shadow: none; + padding: 0.85rem 0 0.85rem 1rem; +} + +.alert .admonition-heading, +.alert [class*="admonitionHeading"] { + font-family: "IBM Plex Mono", monospace; + font-size: 0.72rem; + font-weight: 500; + letter-spacing: 0.06em; + text-transform: uppercase; +} + +.alert [class*="admonitionIcon"] { + display: none; +} + +.alert p:last-child { + margin-bottom: 0; +} + +[data-theme="dark"] .table-of-contents__left-border { + border-left-color: #101010; +} + +.table-of-contents.table-of-contents__left-border { + padding-top: 0; + padding-bottom: 0; +} + /* โ”€โ”€โ”€ Navbar โ”€โ”€โ”€ */ [data-theme="light"] .navbar__brand:hover { color: #000; @@ -300,6 +342,28 @@ blockquote { color: #fff; } +.navbar__toggle, +[class*="toggleButton"] { + color: var(--ifm-navbar-link-color); + line-height: 0; + transition: color var(--ifm-transition-fast) + var(--ifm-transition-timing-default); +} + +.navbar__toggle:hover, +[class*="toggleButton"]:hover { + color: var(--ifm-navbar-link-hover-color); +} + +.navbar__toggle svg { + display: block; +} + +[class*="toggleButton"] svg { + height: 18px; + width: 18px; +} + /* โ”€โ”€โ”€ Pagination โ”€โ”€โ”€ */ .pagination-nav__link { border-radius: 0; @@ -380,7 +444,6 @@ article p a { max-width: 700px; margin-left: auto; margin-right: auto; - padding-top: 20px; } } @@ -388,7 +451,7 @@ article p a { @media screen and (width <= 996px) { h1 { font-size: 1.5rem !important; - font-weight: 600; + font-weight: 500; } .hero .hero__title { @@ -496,47 +559,128 @@ article p a { } /* โ”€โ”€โ”€ Tables โ”€โ”€โ”€ */ -div.special_table + table { - border: none; +/* stylelint-disable no-descending-specificity */ +.theme-doc-markdown > table { + margin: 1.1rem 0 1.35rem; } -div.special_table + table thead { - background: rgb(120 120 120 / 6%); - overflow: hidden; +.markdown table { + display: table; + width: 100%; + min-width: 100%; + max-width: 100%; + border-collapse: separate; + border-spacing: 0; + table-layout: fixed; + border-width: 1px 0 !important; + border-style: solid; + font-size: 0.92rem; + line-height: 1.55; } -div.special_table + table thead tr { +[data-theme="light"] .markdown table { + border-color: rgb(17 17 17 / 12%); +} + +[data-theme="dark"] .markdown table { + border-color: rgb(255 255 255 / 14%); +} + +.markdown details table { + width: calc(100% - 3rem); + min-width: 0; + margin-inline: auto; +} + +.markdown thead, +.markdown thead tr, +.markdown tr, +.markdown tr:nth-child(even) { background: transparent; - border-top: 0; - border-bottom: 0; + border: 0; } -th, -td, -div.special_table + table { +.markdown th, +.markdown td { border-width: 0 !important; + padding: 0.72rem 1rem; + text-align: left; + vertical-align: top; } -div.special_table + table tr th { - background: transparent; +.markdown th { + font-family: "IBM Plex Mono", monospace; + font-size: 0.7rem; + font-weight: 500; + letter-spacing: 0.04em; + line-height: 1.35; + text-transform: uppercase; + white-space: nowrap; +} + +[data-theme="light"] .markdown th { + background: rgb(17 17 17 / 3.5%); color: #333; - font-weight: 600; - padding: 6px 20px; } -[data-theme="dark"] div.special_table + table tr th { +[data-theme="dark"] .markdown th { + background: rgb(255 255 255 / 5%); color: #ccc; } -div.special_table + table tr td { - padding: 6px 20px; - text-align: left; +.markdown table:has(thead th:empty):not(:has(thead th:not(:empty))) thead { + display: none; } -div.special_table + table tr:nth-child(even) { - background: transparent; +.markdown + table:has(thead th:empty):not(:has(thead th:not(:empty))) + tbody + tr:first-child + td { + border-top-width: 0 !important; } +.markdown td { + border-top-width: 1px !important; + border-top-style: solid; +} + +[data-theme="light"] .markdown td { + border-top-color: rgb(17 17 17 / 8%); + color: #333; +} + +[data-theme="dark"] .markdown td { + border-top-color: rgb(255 255 255 / 10%); + color: #bbb; +} + +[data-theme="light"] .markdown tbody tr:hover { + background: rgb(17 17 17 / 2.5%); +} + +[data-theme="dark"] .markdown tbody tr:hover { + background: rgb(255 255 255 / 4%); +} + +.markdown td code, +.markdown th code { + overflow-wrap: anywhere; + white-space: normal; + word-break: break-word; +} + +div.special_table + table { + border: none !important; +} + +div.special_table + table tr th, +div.special_table + table tr td { + padding-top: 0.45rem; + padding-bottom: 0.45rem; +} +/* stylelint-enable no-descending-specificity */ + /* โ”€โ”€โ”€ Custom tags โ”€โ”€โ”€ */ .custom-tag { display: inline; @@ -545,12 +689,12 @@ div.special_table + table tr:nth-child(even) { margin-right: 4px; border-radius: 3px; font-size: 0.7em; - font-weight: 600; + font-weight: 500; color: #333; } [data-theme="dark"] .custom-tag { - background-color: #1a1a1a; + background-color: var(--ifm-background-surface-color); color: #ccc; } @@ -559,7 +703,7 @@ div.special_table + table tr:nth-child(even) { } [data-theme="dark"] .custom-tag:hover { - background-color: #222; + background-color: var(--ifm-menu-color-background-active); } .navbar__link:has(div.custom-tag) { @@ -576,7 +720,7 @@ div.special_table + table tr:nth-child(even) { .category-header .menu__link--sublist { text-transform: uppercase; font-size: 11px; - font-weight: 600; + font-weight: 500; letter-spacing: 0.05em; margin-top: 32px; color: #999; @@ -586,6 +730,27 @@ div.special_table + table tr:nth-child(even) { display: none; } +.theme-doc-sidebar-menu .menu__link--sublist-caret::after, +.theme-doc-sidebar-menu .menu__caret::before { + background: none; + border-color: currentcolor; + border-style: solid; + border-width: 0 1px 1px 0; + filter: none; + height: 0.35rem; + min-width: 0.35rem; + opacity: 0.28; + transform: rotate(45deg); + width: 0.35rem; +} + +.theme-doc-sidebar-menu + .menu__list-item--collapsed + .menu__link--sublist-caret::after, +.theme-doc-sidebar-menu .menu__list-item--collapsed .menu__caret::before { + transform: rotate(-45deg); +} + .category-link a::after { content: "\2192"; font-size: 16px; @@ -601,7 +766,7 @@ div.special_table + table tr:nth-child(even) { font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; - font-weight: 600; + font-weight: 500; } [data-theme="light"] a.footer__link-item { @@ -625,12 +790,12 @@ a.footer__link-item:hover { } [data-theme="dark"] .footer--dark { - background-color: #0a0a0a; + background-color: var(--ifm-footer-background-color); } /* โ”€โ”€โ”€ Hiring link โ”€โ”€โ”€ */ .hiring-link { - background-color: #111; + background-color: #000; color: #fff; font-weight: 500; padding: 4px 10px; @@ -664,10 +829,18 @@ a.footer__link-item:hover { margin-right: 12px; } +.header-github-link::before, +.header-discord-link::before { + flex: 0 0 18px; + mask-position: center; + mask-repeat: no-repeat; + mask-size: contain; +} + .header-github-link::before { content: ""; - width: 20px; - height: 20px; + width: 18px; + height: 18px; display: flex; background-color: var(--ifm-navbar-link-color); mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E"); @@ -681,8 +854,8 @@ a.footer__link-item:hover { .header-discord-link::before { content: ""; - width: 20px; - height: 20px; + width: 18px; + height: 18px; display: flex; background-color: var(--ifm-navbar-link-color); mask-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' role='img' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M19.73 4.87a18.2 18.2 0 0 0-4.6-1.44c-.21.4-.4.8-.58 1.21-1.69-.25-3.4-.25-5.1 0-.18-.41-.37-.82-.59-1.2-1.6.27-3.14.75-4.6 1.43A19.04 19.04 0 0 0 .96 17.7a18.43 18.43 0 0 0 5.63 2.87c.46-.62.86-1.28 1.2-1.98-.65-.25-1.29-.55-1.9-.92.17-.12.32-.24.47-.37 3.58 1.7 7.7 1.7 11.28 0l.46.37c-.6.36-1.25.67-1.9.92.35.7.75 1.35 1.2 1.98 2.03-.63 3.94-1.6 5.64-2.87.47-4.87-.78-9.09-3.3-12.83ZM8.3 15.12c-1.1 0-2-1.02-2-2.27 0-1.24.88-2.26 2-2.26s2.02 1.02 2 2.26c0 1.25-.89 2.27-2 2.27Zm7.4 0c-1.1 0-2-1.02-2-2.27 0-1.24.88-2.26 2-2.26s2.02 1.02 2 2.26c0 1.25-.88 2.27-2 2.27Z' %3E%3C/path%3E%3C/svg%3E"); @@ -714,6 +887,35 @@ a.footer__link-item:hover { border-right-width: 0 !important; } +html[data-theme="dark"], +html[data-theme="dark"] body, +html[data-theme="dark"] [id="__docusaurus"], +html[data-theme="dark"] .main-wrapper, +html[data-theme="dark"] main, +html[data-theme="dark"] .container, +html[data-theme="dark"] .row, +html[data-theme="dark"] .col, +html[data-theme="dark"] div[class*="docsWrapper"], +html[data-theme="dark"] div[class*="docRoot"], +html[data-theme="dark"] main[class*="docMainContainer"], +html[data-theme="dark"] div[class*="docItemWrapper"], +html[data-theme="dark"] div[class*="docItemCol"], +html[data-theme="dark"] div[class*="docItemContainer"], +html[data-theme="dark"] article, +html[data-theme="dark"] .theme-doc-markdown, +html[data-theme="dark"] .theme-doc-sidebar-container { + background-color: #000 !important; +} + +html[data-theme="dark"] .navbar { + background-color: var(--ifm-navbar-background-color) !important; +} + +.container.padding-top--md.padding-bottom--lg { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + /* โ”€โ”€โ”€ Misc โ”€โ”€โ”€ */ .small-text { @@ -726,7 +928,7 @@ a.footer__link-item:hover { .select-language { font-size: 1em; - font-weight: 600; + font-weight: 500; margin-bottom: 8px; } @@ -743,7 +945,7 @@ a.footer__link-item:hover { } [data-theme="dark"] .homepage-svg svg { - background-color: #111 !important; + background-color: #000 !important; color: #fff !important; } @@ -804,11 +1006,11 @@ a.footer__link-item:hover { } [data-theme="dark"] .hero--bg { - background-color: #111 !important; + background-color: #000 !important; } .btn--black { - background-color: #111; + background-color: #000; color: #fff; border-radius: 2px; } diff --git a/src/theme/Icon/Menu/index.tsx b/src/theme/Icon/Menu/index.tsx new file mode 100644 index 00000000..6eeb0e74 --- /dev/null +++ b/src/theme/Icon/Menu/index.tsx @@ -0,0 +1,29 @@ +import React, { type ReactNode } from "react"; +import type { Props } from "@theme/Icon/Menu"; + +export default function IconMenu({ + width = 24, + height = 24, + className, + ...restProps +}: Props): ReactNode { + return ( + + ); +} diff --git a/static/images/banners/administration-dark.svg b/static/images/banners/administration-dark.svg index c7a816c1..a260ac1a 100644 --- a/static/images/banners/administration-dark.svg +++ b/static/images/banners/administration-dark.svg @@ -1,32 +1,29 @@ - + - - - - - - + - - - - - - - - - Admin Panel - DashboardUsersEvaluationsBannersSettings - - Overview - Last 30 days - Users1,284+12%Messages48.2k+8%Active now86 - - Messages over time - - - - + + + + + + OPEN WEBUI + ACCESS CONTROL + Administration + policy / roles / audit + 01POLICY MATRIX02ROLE SCOPES03AUDIT TRAIL + + + + + + + + VIEWWRITERUNADMINOWNEREDITORMEMBERGUESTSCOPE LOCKED - - \ No newline at end of file + + + + DOCS + ACCESS + diff --git a/static/images/banners/administration-light.svg b/static/images/banners/administration-light.svg index a1dc1732..21bd3201 100644 --- a/static/images/banners/administration-light.svg +++ b/static/images/banners/administration-light.svg @@ -1,32 +1,29 @@ - + - - - - - - + - - - - - - - - - Admin Panel - DashboardUsersEvaluationsBannersSettings - - Overview - Last 30 days - Users1,284+12%Messages48.2k+8%Active now86 - - Messages over time - - - - + + + + + + OPEN WEBUI + ACCESS CONTROL + Administration + policy / roles / audit + 01POLICY MATRIX02ROLE SCOPES03AUDIT TRAIL + + + + + + + + VIEWWRITERUNADMINOWNEREDITORMEMBERGUESTSCOPE LOCKED - - \ No newline at end of file + + + + DOCS + ACCESS + diff --git a/static/images/banners/authentication-access-dark.svg b/static/images/banners/authentication-access-dark.svg index af3b313d..3b60c42d 100644 --- a/static/images/banners/authentication-access-dark.svg +++ b/static/images/banners/authentication-access-dark.svg @@ -1,33 +1,29 @@ - + - - - - + - - - - - - - - Sign in to Open WebUI - you@company.com - Continue - or - Microsoft - Google - SSO - - Access & Roles - Groups - - AAlex Chen - AdminSSam Lee - UserPPriya N. - UserJJordan Kim - Pending + + + + + + OPEN WEBUI + IDENTITY LAYER + Authentication + keys / sessions / trust + 01IDENTITY02SESSION03BOUNDARY + + + + + + + + USERSESSIONTOKENACCESS - - \ No newline at end of file + + + + DOCS + IDENTITY + diff --git a/static/images/banners/authentication-access-light.svg b/static/images/banners/authentication-access-light.svg index 42587b8e..73654fa4 100644 --- a/static/images/banners/authentication-access-light.svg +++ b/static/images/banners/authentication-access-light.svg @@ -1,33 +1,29 @@ - + - - - - + - - - - - - - - Sign in to Open WebUI - you@company.com - Continue - or - Microsoft - Google - SSO - - Access & Roles - Groups - - AAlex Chen - AdminSSam Lee - UserPPriya N. - UserJJordan Kim - Pending + + + + + + OPEN WEBUI + IDENTITY LAYER + Authentication + keys / sessions / trust + 01IDENTITY02SESSION03BOUNDARY + + + + + + + + USERSESSIONTOKENACCESS - - \ No newline at end of file + + + + DOCS + IDENTITY + diff --git a/static/images/banners/calendar-dark.svg b/static/images/banners/calendar-dark.svg index bf2958ae..64b6f98a 100644 --- a/static/images/banners/calendar-dark.svg +++ b/static/images/banners/calendar-dark.svg @@ -1,29 +1,29 @@ - + - - - - - + - - - - - - March2026 - Today - - SMTWTFS12345678910111213141516171819202122232425262728293031 - - - - - - - “Standup every weekday - at 9am” - + + + + + + OPEN WEBUI + SCHEDULED OPERATIONS + Calendar + time / queue / handoff + 01SCHEDULE02QUEUE03HANDOFF + + + + + + + + T+00T+01T+02T+03HANDOFF WINDOW - - \ No newline at end of file + + + + DOCS + TIMELINE + diff --git a/static/images/banners/calendar-light.svg b/static/images/banners/calendar-light.svg index 685f6a8e..4cc6c6b3 100644 --- a/static/images/banners/calendar-light.svg +++ b/static/images/banners/calendar-light.svg @@ -1,29 +1,29 @@ - + - - - - - + - - - - - - March2026 - Today - - SMTWTFS12345678910111213141516171819202122232425262728293031 - - - - - - - “Standup every weekday - at 9am” - + + + + + + OPEN WEBUI + SCHEDULED OPERATIONS + Calendar + time / queue / handoff + 01SCHEDULE02QUEUE03HANDOFF + + + + + + + + T+00T+01T+02T+03HANDOFF WINDOW - - \ No newline at end of file + + + + DOCS + TIMELINE + diff --git a/static/images/banners/channels-dark.svg b/static/images/banners/channels-dark.svg index c3f6fbe2..b18531bf 100644 --- a/static/images/banners/channels-dark.svg +++ b/static/images/banners/channels-dark.svg @@ -1,43 +1,29 @@ - + - - - - + - - - - - + + + + - - #product-launch - SA - +6 - + OPEN WEBUI + CONVERSATION ROUTING + Channels + threads / teams / context + 01THREADS02TEAMS03CONTEXT - - S - Sarah10:24 - @gpt-5what stands out in the Q3 numbers? - - - gpt-5 - AI - + + + - - A - Alex10:25 - @claudeagree? anything missing? - 3 - - - - @Message #product-launch - + + TEAMOPSUSERBOTCHANNEL - - \ No newline at end of file + + + + DOCS + ROUTING + diff --git a/static/images/banners/channels-light.svg b/static/images/banners/channels-light.svg index d4259819..c4abfa7e 100644 --- a/static/images/banners/channels-light.svg +++ b/static/images/banners/channels-light.svg @@ -1,43 +1,29 @@ - + - - - - + - - - - - + + + + - - #product-launch - SA - +6 - + OPEN WEBUI + CONVERSATION ROUTING + Channels + threads / teams / context + 01THREADS02TEAMS03CONTEXT - - S - Sarah10:24 - @gpt-5what stands out in the Q3 numbers? - - - gpt-5 - AI - + + + - - A - Alex10:25 - @claudeagree? anything missing? - 3 - - - - @Message #product-launch - + + TEAMOPSUSERBOTCHANNEL - - \ No newline at end of file + + + + DOCS + ROUTING + diff --git a/static/images/banners/chat-conversations-audio-dark.svg b/static/images/banners/chat-conversations-audio-dark.svg index 396a74a8..8782acca 100644 --- a/static/images/banners/chat-conversations-audio-dark.svg +++ b/static/images/banners/chat-conversations-audio-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchImagesMemoryData ControlsConnections - Audio - - + + + + + + OPEN WEBUI + VOICE INTERFACE + Audio + speech / playback / notes + 01SPEECH02PLAYBACK03NOTES + + + + + + + + TRANSCRIPT / 00:34 - - \ No newline at end of file + + + + DOCS + AUDIO + diff --git a/static/images/banners/chat-conversations-audio-light.svg b/static/images/banners/chat-conversations-audio-light.svg index 8a4ee7d5..b714b722 100644 --- a/static/images/banners/chat-conversations-audio-light.svg +++ b/static/images/banners/chat-conversations-audio-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchImagesMemoryData ControlsConnections - Audio - - + + + + + + OPEN WEBUI + VOICE INTERFACE + Audio + speech / playback / notes + 01SPEECH02PLAYBACK03NOTES + + + + + + + + TRANSCRIPT / 00:34 - - \ No newline at end of file + + + + DOCS + AUDIO + diff --git a/static/images/banners/chat-conversations-chat-dark.svg b/static/images/banners/chat-conversations-chat-dark.svg index a9a8696e..a356fb54 100644 --- a/static/images/banners/chat-conversations-chat-dark.svg +++ b/static/images/banners/chat-conversations-chat-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - DocumentsWeb SearchAudioImagesMemoryData ControlsConnections - Chat - - + + + + + + OPEN WEBUI + LIVE EXECUTION + Chat + messages / tools / review + 01MESSAGE02TOOL CALL03REVIEW + + + + + + + + USER MESSAGETOOL CALLRESULTREVIEW - - \ No newline at end of file + + + + DOCS + CHAT + diff --git a/static/images/banners/chat-conversations-chat-light.svg b/static/images/banners/chat-conversations-chat-light.svg index f34eaec1..74ebaceb 100644 --- a/static/images/banners/chat-conversations-chat-light.svg +++ b/static/images/banners/chat-conversations-chat-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - DocumentsWeb SearchAudioImagesMemoryData ControlsConnections - Chat - - + + + + + + OPEN WEBUI + LIVE EXECUTION + Chat + messages / tools / review + 01MESSAGE02TOOL CALL03REVIEW + + + + + + + + USER MESSAGETOOL CALLRESULTREVIEW - - \ No newline at end of file + + + + DOCS + CHAT + diff --git a/static/images/banners/chat-conversations-connections-dark.svg b/static/images/banners/chat-conversations-connections-dark.svg index f93d8d7c..dcd911ce 100644 --- a/static/images/banners/chat-conversations-connections-dark.svg +++ b/static/images/banners/chat-conversations-connections-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioImagesMemoryData Controls - Connections - - + + + + + + OPEN WEBUI + MODEL FABRIC + Connections + providers / endpoints / keys + 01PROVIDERS02ENDPOINTS03KEYS + + + + + + + + PROVIDER APROVIDER BPROVIDER CPROVIDER DROUTER - - \ No newline at end of file + + + + DOCS + CONNECTIONS + diff --git a/static/images/banners/chat-conversations-connections-light.svg b/static/images/banners/chat-conversations-connections-light.svg index a174a944..dad9dd43 100644 --- a/static/images/banners/chat-conversations-connections-light.svg +++ b/static/images/banners/chat-conversations-connections-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioImagesMemoryData Controls - Connections - - + + + + + + OPEN WEBUI + MODEL FABRIC + Connections + providers / endpoints / keys + 01PROVIDERS02ENDPOINTS03KEYS + + + + + + + + PROVIDER APROVIDER BPROVIDER CPROVIDER DROUTER - - \ No newline at end of file + + + + DOCS + CONNECTIONS + diff --git a/static/images/banners/chat-conversations-dark.svg b/static/images/banners/chat-conversations-dark.svg index 1a6daf7c..293dc09b 100644 --- a/static/images/banners/chat-conversations-dark.svg +++ b/static/images/banners/chat-conversations-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - - ChatDocumentsWeb SearchAudioImagesMemoryData ControlsConnections - - + + + + + + OPEN WEBUI + AGENT WORKSPACE + Conversations + chat / files / terminal + 01CHAT02FILES03TERMINAL + + + + + + + + $ run - - \ No newline at end of file + + + + DOCS + WORKSPACE + diff --git a/static/images/banners/chat-conversations-data-dark.svg b/static/images/banners/chat-conversations-data-dark.svg index fcb1fd68..451af735 100644 --- a/static/images/banners/chat-conversations-data-dark.svg +++ b/static/images/banners/chat-conversations-data-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioImagesMemoryConnections - Data Controls - - + + + + + + OPEN WEBUI + STATE SURFACE + Data + tables / records / lineage + 01TABLES02RECORDS03LINEAGE + + + + + + + + LINEAGE - - \ No newline at end of file + + + + DOCS + DATA + diff --git a/static/images/banners/chat-conversations-data-light.svg b/static/images/banners/chat-conversations-data-light.svg index d877bd83..f6536b31 100644 --- a/static/images/banners/chat-conversations-data-light.svg +++ b/static/images/banners/chat-conversations-data-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioImagesMemoryConnections - Data Controls - - + + + + + + OPEN WEBUI + STATE SURFACE + Data + tables / records / lineage + 01TABLES02RECORDS03LINEAGE + + + + + + + + LINEAGE - - \ No newline at end of file + + + + DOCS + DATA + diff --git a/static/images/banners/chat-conversations-documents-dark.svg b/static/images/banners/chat-conversations-documents-dark.svg index 94ab2862..948fd5a5 100644 --- a/static/images/banners/chat-conversations-documents-dark.svg +++ b/static/images/banners/chat-conversations-documents-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatWeb SearchAudioImagesMemoryData ControlsConnections - Documents - - + + + + + + OPEN WEBUI + FILE INTELLIGENCE + Documents + parse / cite / reuse + 01PARSE02CITE03REUSE + + + + + + + + - - \ No newline at end of file + + + + DOCS + DOCUMENTS + diff --git a/static/images/banners/chat-conversations-documents-light.svg b/static/images/banners/chat-conversations-documents-light.svg index 84aa7ce9..1322a17b 100644 --- a/static/images/banners/chat-conversations-documents-light.svg +++ b/static/images/banners/chat-conversations-documents-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatWeb SearchAudioImagesMemoryData ControlsConnections - Documents - - + + + + + + OPEN WEBUI + FILE INTELLIGENCE + Documents + parse / cite / reuse + 01PARSE02CITE03REUSE + + + + + + + + - - \ No newline at end of file + + + + DOCS + DOCUMENTS + diff --git a/static/images/banners/chat-conversations-images-dark.svg b/static/images/banners/chat-conversations-images-dark.svg index dcec9a14..26cc8b45 100644 --- a/static/images/banners/chat-conversations-images-dark.svg +++ b/static/images/banners/chat-conversations-images-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioMemoryData ControlsConnections - Images - - + + + + + + OPEN WEBUI + VISUAL CONTEXT + Images + media / visual / review + 01MEDIA02CONTEXT03REVIEW + + + + + + + + - - \ No newline at end of file + + + + DOCS + IMAGES + diff --git a/static/images/banners/chat-conversations-images-light.svg b/static/images/banners/chat-conversations-images-light.svg index 6ddef0c5..4f206a4a 100644 --- a/static/images/banners/chat-conversations-images-light.svg +++ b/static/images/banners/chat-conversations-images-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioMemoryData ControlsConnections - Images - - + + + + + + OPEN WEBUI + VISUAL CONTEXT + Images + media / visual / review + 01MEDIA02CONTEXT03REVIEW + + + + + + + + - - \ No newline at end of file + + + + DOCS + IMAGES + diff --git a/static/images/banners/chat-conversations-light.svg b/static/images/banners/chat-conversations-light.svg index 43408028..be088237 100644 --- a/static/images/banners/chat-conversations-light.svg +++ b/static/images/banners/chat-conversations-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - - ChatDocumentsWeb SearchAudioImagesMemoryData ControlsConnections - - + + + + + + OPEN WEBUI + AGENT WORKSPACE + Conversations + chat / files / terminal + 01CHAT02FILES03TERMINAL + + + + + + + + $ run - - \ No newline at end of file + + + + DOCS + WORKSPACE + diff --git a/static/images/banners/chat-conversations-memory-dark.svg b/static/images/banners/chat-conversations-memory-dark.svg index 89635499..65a102ee 100644 --- a/static/images/banners/chat-conversations-memory-dark.svg +++ b/static/images/banners/chat-conversations-memory-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioImagesData ControlsConnections - Memory - - + + + + + + OPEN WEBUI + RECALL LAYER + Memory + workspace / user / history + 01WORKSPACE02USER03HISTORY + + + + + + + + RECALL PATH - - \ No newline at end of file + + + + DOCS + MEMORY + diff --git a/static/images/banners/chat-conversations-memory-light.svg b/static/images/banners/chat-conversations-memory-light.svg index a925875b..5f8c2c7c 100644 --- a/static/images/banners/chat-conversations-memory-light.svg +++ b/static/images/banners/chat-conversations-memory-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsWeb SearchAudioImagesData ControlsConnections - Memory - - + + + + + + OPEN WEBUI + RECALL LAYER + Memory + workspace / user / history + 01WORKSPACE02USER03HISTORY + + + + + + + + RECALL PATH - - \ No newline at end of file + + + + DOCS + MEMORY + diff --git a/static/images/banners/chat-conversations-websearch-dark.svg b/static/images/banners/chat-conversations-websearch-dark.svg index 63ec3efa..9c9aeca9 100644 --- a/static/images/banners/chat-conversations-websearch-dark.svg +++ b/static/images/banners/chat-conversations-websearch-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsAudioImagesMemoryData ControlsConnections - Web Search - - + + + + + + OPEN WEBUI + EXTERNAL SIGNAL + Web Search + search / verify / cite + 01SEARCH02VERIFY03CITE + + + + + + + + - - \ No newline at end of file + + + + DOCS + SEARCH + diff --git a/static/images/banners/chat-conversations-websearch-light.svg b/static/images/banners/chat-conversations-websearch-light.svg index e010a094..e17a29f2 100644 --- a/static/images/banners/chat-conversations-websearch-light.svg +++ b/static/images/banners/chat-conversations-websearch-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ChatDocumentsAudioImagesMemoryData ControlsConnections - Web Search - - + + + + + + OPEN WEBUI + EXTERNAL SIGNAL + Web Search + search / verify / cite + 01SEARCH02VERIFY03CITE + + + + + + + + - - \ No newline at end of file + + + + DOCS + SEARCH + diff --git a/static/images/banners/community-dark.svg b/static/images/banners/community-dark.svg index 58d480d3..4ef06ec5 100644 --- a/static/images/banners/community-dark.svg +++ b/static/images/banners/community-dark.svg @@ -1,43 +1,29 @@ - + - - - - - - - + - - - - - - + + + + + + OPEN WEBUI + SHARED NETWORK + Community + models / prompts / tools + 01MODELS02PROMPTS03TOOLS + + + + + + + + SHARED REGISTRY - - - - - - - - - - Pipe - - - Tool - - - Action - - - Event - - - Filter - - - MCP - \ No newline at end of file + + + + DOCS + NETWORK + diff --git a/static/images/banners/community-light.svg b/static/images/banners/community-light.svg index 05eb1149..6242a7bf 100644 --- a/static/images/banners/community-light.svg +++ b/static/images/banners/community-light.svg @@ -1,43 +1,29 @@ - + - - - - - - - + - - - - - - + + + + + + OPEN WEBUI + SHARED NETWORK + Community + models / prompts / tools + 01MODELS02PROMPTS03TOOLS + + + + + + + + SHARED REGISTRY - - - - - - - - - - Pipe - - - Tool - - - Action - - - Event - - - Filter - - - MCP - \ No newline at end of file + + + + DOCS + NETWORK + diff --git a/static/images/banners/computer-dark.svg b/static/images/banners/computer-dark.svg index 8cf6b341..f18a6116 100644 --- a/static/images/banners/computer-dark.svg +++ b/static/images/banners/computer-dark.svg @@ -1,39 +1,29 @@ - + - - - - + - - - - - - - - - - - - - - - - $ - - - - - - - - $ - - - - - + + + + + + OPEN WEBUI + REMOTE MACHINE + Computer + files / shell / git + 01FILES02SHELL03GIT + + + + + + + + LOCAL MACHINE - - \ No newline at end of file + + + + DOCS + COMPUTER + diff --git a/static/images/banners/computer-light.svg b/static/images/banners/computer-light.svg index de40db88..3c5aee24 100644 --- a/static/images/banners/computer-light.svg +++ b/static/images/banners/computer-light.svg @@ -1,39 +1,29 @@ - + - - - - + - - - - - - - - - - - - - - - - $ - - - - - - - - $ - - - - - + + + + + + OPEN WEBUI + REMOTE MACHINE + Computer + files / shell / git + 01FILES02SHELL03GIT + + + + + + + + LOCAL MACHINE - - \ No newline at end of file + + + + DOCS + COMPUTER + diff --git a/static/images/banners/ecosystem-dark.svg b/static/images/banners/ecosystem-dark.svg new file mode 100644 index 00000000..29520b10 --- /dev/null +++ b/static/images/banners/ecosystem-dark.svg @@ -0,0 +1,29 @@ + + + + + + + + + + OPEN WEBUI + MADE BY OPEN WEBUI + Ecosystem + projects / connectors / tools + 01PROJECTS02CONNECTORS03AGENTS + + + + + + + + PROJECTSCONNECTAGENTSTOOLSOPEN WEBUIECOSYSTEMEXPANDING SURFACE + + + + + DOCS + ECOSYSTEM + diff --git a/static/images/banners/ecosystem-light.svg b/static/images/banners/ecosystem-light.svg new file mode 100644 index 00000000..83790dc6 --- /dev/null +++ b/static/images/banners/ecosystem-light.svg @@ -0,0 +1,29 @@ + + + + + + + + + + OPEN WEBUI + MADE BY OPEN WEBUI + Ecosystem + projects / connectors / tools + 01PROJECTS02CONNECTORS03AGENTS + + + + + + + + PROJECTSCONNECTAGENTSTOOLSOPEN WEBUIECOSYSTEMEXPANDING SURFACE + + + + + DOCS + ECOSYSTEM + diff --git a/static/images/banners/enterprise-dark.svg b/static/images/banners/enterprise-dark.svg new file mode 100644 index 00000000..cd5f5fdf --- /dev/null +++ b/static/images/banners/enterprise-dark.svg @@ -0,0 +1,29 @@ + + + + + + + + + + OPEN WEBUI + CONTROLLED AI PLATFORM + Enterprise + security / scale / support + 01SECURITY02DEPLOYMENT03INTEGRATION + + + + + + + + IDENTITYDATADEPLOYSUPPORTOPEN WEBUIFULL CONTROLSELF-HOSTED / PRIVATE CLOUD / AIR-GAPPED + + + + + DOCS + ENTERPRISE + diff --git a/static/images/banners/enterprise-light.svg b/static/images/banners/enterprise-light.svg new file mode 100644 index 00000000..cbf7695c --- /dev/null +++ b/static/images/banners/enterprise-light.svg @@ -0,0 +1,29 @@ + + + + + + + + + + OPEN WEBUI + CONTROLLED AI PLATFORM + Enterprise + security / scale / support + 01SECURITY02DEPLOYMENT03INTEGRATION + + + + + + + + IDENTITYDATADEPLOYSUPPORTOPEN WEBUIFULL CONTROLSELF-HOSTED / PRIVATE CLOUD / AIR-GAPPED + + + + + DOCS + ENTERPRISE + diff --git a/static/images/banners/event-function-dark.svg b/static/images/banners/event-function-dark.svg index 230328ae..2255ec14 100644 --- a/static/images/banners/event-function-dark.svg +++ b/static/images/banners/event-function-dark.svg @@ -1,31 +1,29 @@ - + - - - + - - - - - - - - - - - auth.signup - - - - chat.deleted - - - - system.startup - - - - config.updated + + + + + + OPEN WEBUI + AUTOMATION HOOKS + Event Functions + events / functions / triggers + 01EVENTS02FUNCTIONS03TRIGGERS + + + + + + + + EVENTFILTERFUNCTIONACTION - \ No newline at end of file + + + + DOCS + PIPELINE + diff --git a/static/images/banners/event-function-light.svg b/static/images/banners/event-function-light.svg index 5d617fcf..aecdcc2f 100644 --- a/static/images/banners/event-function-light.svg +++ b/static/images/banners/event-function-light.svg @@ -1,31 +1,29 @@ - + - - - + - - - - - - - - - - - auth.signup - - - - chat.deleted - - - - system.startup - - - - config.updated + + + + + + OPEN WEBUI + AUTOMATION HOOKS + Event Functions + events / functions / triggers + 01EVENTS02FUNCTIONS03TRIGGERS + + + + + + + + EVENTFILTERFUNCTIONACTION - \ No newline at end of file + + + + DOCS + PIPELINE + diff --git a/static/images/banners/extensibility-dark.svg b/static/images/banners/extensibility-dark.svg index a11b6c17..001ce4e8 100644 --- a/static/images/banners/extensibility-dark.svg +++ b/static/images/banners/extensibility-dark.svg @@ -1,21 +1,29 @@ - + - - - - - - - - - - + - - - - - - - PipeToolActionEventFilter - \ No newline at end of file + + + + + + OPEN WEBUI + PLUGIN SURFACE + Extensibility + tools / functions / skills + 01TOOLS02FUNCTIONS03SKILLS + + + + + + + + CAPABILITY BUS + + + + + DOCS + MODULES + diff --git a/static/images/banners/extensibility-light.svg b/static/images/banners/extensibility-light.svg index e55ceb58..c6a330a8 100644 --- a/static/images/banners/extensibility-light.svg +++ b/static/images/banners/extensibility-light.svg @@ -1,21 +1,29 @@ - + - - - - - - - - - - + - - - - - - - PipeToolActionEventFilter - \ No newline at end of file + + + + + + OPEN WEBUI + PLUGIN SURFACE + Extensibility + tools / functions / skills + 01TOOLS02FUNCTIONS03SKILLS + + + + + + + + CAPABILITY BUS + + + + + DOCS + MODULES + diff --git a/static/images/banners/features-dark.svg b/static/images/banners/features-dark.svg index b37a13b4..796261b6 100644 --- a/static/images/banners/features-dark.svg +++ b/static/images/banners/features-dark.svg @@ -1,24 +1,29 @@ - + - - - + - - ChatMulti-model, all your history.Q3 revenue analysisTrip to Japan itineraryDebug the API clientModelsAny provider, switch anytime. - OllamaOpenAIOpen ResponsesvLLM - Run two side by side and compare.Web SearchSearches the live web. - - cites sourcesPrivateSelf-hosted. Your data stays yours. - Self-hostedFree to useAir-gappedNo telemetry - Runs entirely on your hardware.WorkspaceKnowledge, prompts and custom models. - Knowledge Bases - Prompts - Custom ModelsImagesGenerate & edit, inline.VoiceTalk & listen.ChannelsTeam + AI, one timeline. - SA - @gpt-5 - Summon any model with @.ExtensibleBuild anything onto the platform. - ToolsFiltersActionsMCPOpenAPIPlugins - One-click community imports. - - \ No newline at end of file + + + + + + OPEN WEBUI + FULL STACK + Features + voice / vision / retrieval + 01VOICE02VISION03RETRIEVAL + + + + + + + + VOICEVISIONRETRIEVALTOOLS + + + + + DOCS + STACK + diff --git a/static/images/banners/features-light.svg b/static/images/banners/features-light.svg index 6075cfe9..4c895290 100644 --- a/static/images/banners/features-light.svg +++ b/static/images/banners/features-light.svg @@ -1,24 +1,29 @@ - + - - - + - - ChatMulti-model, all your history.Q3 revenue analysisTrip to Japan itineraryDebug the API clientModelsAny provider, switch anytime. - OllamaOpenAIOpen ResponsesvLLM - Run two side by side and compare.Web SearchSearches the live web. - - cites sourcesPrivateSelf-hosted. Your data stays yours. - Self-hostedFree to useAir-gappedNo telemetry - Runs entirely on your hardware.WorkspaceKnowledge, prompts and custom models. - Knowledge Bases - Prompts - Custom ModelsImagesGenerate & edit, inline.VoiceTalk & listen.ChannelsTeam + AI, one timeline. - SA - @gpt-5 - Summon any model with @.ExtensibleBuild anything onto the platform. - ToolsFiltersActionsMCPOpenAPIPlugins - One-click community imports. - - \ No newline at end of file + + + + + + OPEN WEBUI + FULL STACK + Features + voice / vision / retrieval + 01VOICE02VISION03RETRIEVAL + + + + + + + + VOICEVISIONRETRIEVALTOOLS + + + + + DOCS + STACK + diff --git a/static/images/banners/kbsync-dark.svg b/static/images/banners/kbsync-dark.svg index d9e5ac86..acc5ce6c 100644 --- a/static/images/banners/kbsync-dark.svg +++ b/static/images/banners/kbsync-dark.svg @@ -1,25 +1,29 @@ - + - - - - - - - + - - - - - - - - - - - - oikb + + + + + + OPEN WEBUI + KNOWLEDGE PIPELINE + Knowledge Sync + sync / index / retrieve + 01SYNC02INDEX03RETRIEVE + + + + + + + + SOURCECHUNKINDEXQUERY - - \ No newline at end of file + + + + DOCS + SYNC + diff --git a/static/images/banners/kbsync-light.svg b/static/images/banners/kbsync-light.svg index 6a0b0dd6..eb0c15dc 100644 --- a/static/images/banners/kbsync-light.svg +++ b/static/images/banners/kbsync-light.svg @@ -1,25 +1,29 @@ - + - - - - - - - + - - - - - - - - - - - - oikb + + + + + + OPEN WEBUI + KNOWLEDGE PIPELINE + Knowledge Sync + sync / index / retrieve + 01SYNC02INDEX03RETRIEVE + + + + + + + + SOURCECHUNKINDEXQUERY - - \ No newline at end of file + + + + DOCS + SYNC + diff --git a/static/images/banners/knowledge-dark.svg b/static/images/banners/knowledge-dark.svg index f3168d0d..844f7f2e 100644 --- a/static/images/banners/knowledge-dark.svg +++ b/static/images/banners/knowledge-dark.svg @@ -1,14 +1,29 @@ - + - - - + - - - - - - - - \ No newline at end of file + + + + + + OPEN WEBUI + RETRIEVAL CORE + Knowledge + docs / chunks / citations + 01DOCS02CHUNKS03CITATIONS + + + + + + + + CITATION TRACE + + + + + DOCS + KNOWLEDGE + diff --git a/static/images/banners/knowledge-light.svg b/static/images/banners/knowledge-light.svg index 12263775..2d0a0d8f 100644 --- a/static/images/banners/knowledge-light.svg +++ b/static/images/banners/knowledge-light.svg @@ -1,14 +1,29 @@ - + - - - + - - - - - - - - \ No newline at end of file + + + + + + OPEN WEBUI + RETRIEVAL CORE + Knowledge + docs / chunks / citations + 01DOCS02CHUNKS03CITATIONS + + + + + + + + CITATION TRACE + + + + + DOCS + KNOWLEDGE + diff --git a/static/images/banners/notes-dark.svg b/static/images/banners/notes-dark.svg index 65cb3505..75476c1b 100644 --- a/static/images/banners/notes-dark.svg +++ b/static/images/banners/notes-dark.svg @@ -1,44 +1,29 @@ - + - - - - - + - - - - - - - Q3 Launch Brief - - Access + + + + - Goals - Ship the new onboarding flow - Announce broadly to all users - Draft the announcement - Loop in design and support + OPEN WEBUI + PLAIN FILES + Notes + capture / edit / search + 01CAPTURE02EDIT03SEARCH - - - Chat - - - Add specific channels and a date + + + - - gpt-5 - Announce via email, in-app and X - on launch day, Mar 14. - - Announce broadly to all users - - Ask to editโ€ฆ - + + PLAIN TEXT - - \ No newline at end of file + + + + DOCS + NOTES + diff --git a/static/images/banners/notes-light.svg b/static/images/banners/notes-light.svg index 65027817..3abbd496 100644 --- a/static/images/banners/notes-light.svg +++ b/static/images/banners/notes-light.svg @@ -1,44 +1,29 @@ - + - - - - - + - - - - - - - Q3 Launch Brief - - Access + + + + - Goals - Ship the new onboarding flow - Announce broadly to all users - Draft the announcement - Loop in design and support + OPEN WEBUI + PLAIN FILES + Notes + capture / edit / search + 01CAPTURE02EDIT03SEARCH - - - Chat - - - Add specific channels and a date + + + - - gpt-5 - Announce via email, in-app and X - on launch day, Mar 14. - - Announce broadly to all users - - Ask to editโ€ฆ - + + PLAIN TEXT - - \ No newline at end of file + + + + DOCS + NOTES + diff --git a/static/images/banners/terminal-dark.svg b/static/images/banners/terminal-dark.svg index 71b4ac0d..5bd1f717 100644 --- a/static/images/banners/terminal-dark.svg +++ b/static/images/banners/terminal-dark.svg @@ -1,32 +1,29 @@ - + - - - - - + - - - - - - - - - - - - open-terminal - - - $python report.py - 1,240 rows, chart.png written - $npm run dev - ready on localhost:3000 - $ - - + + + + + + OPEN WEBUI + SHELL ACCESS + Terminal + commands / logs / sessions + 01COMMANDS02LOGS03SESSIONS + + + + + + + + $ open-webui runok session ready$ open-webui runok session ready$ open-webui runok session ready - - \ No newline at end of file + + + + DOCS + TERMINAL + diff --git a/static/images/banners/terminal-light.svg b/static/images/banners/terminal-light.svg index af7ea516..931310c8 100644 --- a/static/images/banners/terminal-light.svg +++ b/static/images/banners/terminal-light.svg @@ -1,32 +1,29 @@ - + - - - - - + - - - - - - - - - - - - open-terminal - - - $python report.py - 1,240 rows, chart.png written - $npm run dev - ready on localhost:3000 - $ - - + + + + + + OPEN WEBUI + SHELL ACCESS + Terminal + commands / logs / sessions + 01COMMANDS02LOGS03SESSIONS + + + + + + + + $ open-webui runok session ready$ open-webui runok session ready$ open-webui runok session ready - - \ No newline at end of file + + + + DOCS + TERMINAL + diff --git a/static/images/banners/workspace-dark.svg b/static/images/banners/workspace-dark.svg index 3d65340c..d37a4ea8 100644 --- a/static/images/banners/workspace-dark.svg +++ b/static/images/banners/workspace-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - - ModelsKnowledgePromptsSkillsTools - - + + + + + + OPEN WEBUI + LOCAL CONTEXT + Workspace + repo / state / environment + 01REPO02STATE03ENVIRONMENT + + + + + + + + $ run - - \ No newline at end of file + + + + DOCS + WORKSPACE + diff --git a/static/images/banners/workspace-knowledge-dark.svg b/static/images/banners/workspace-knowledge-dark.svg index 9a229d98..35dbde39 100644 --- a/static/images/banners/workspace-knowledge-dark.svg +++ b/static/images/banners/workspace-knowledge-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ModelsPromptsSkillsTools - Knowledge - - + + + + + + OPEN WEBUI + PROJECT MEMORY + WorkspaceKnowledge + repo / docs / decisions + 01REPO02DOCS03DECISIONS + + + + + + + + CITATION TRACE - - \ No newline at end of file + + + + DOCS + KNOWLEDGE + diff --git a/static/images/banners/workspace-knowledge-light.svg b/static/images/banners/workspace-knowledge-light.svg index 2c158142..cb7f2a0c 100644 --- a/static/images/banners/workspace-knowledge-light.svg +++ b/static/images/banners/workspace-knowledge-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ModelsPromptsSkillsTools - Knowledge - - + + + + + + OPEN WEBUI + PROJECT MEMORY + WorkspaceKnowledge + repo / docs / decisions + 01REPO02DOCS03DECISIONS + + + + + + + + CITATION TRACE - - \ No newline at end of file + + + + DOCS + KNOWLEDGE + diff --git a/static/images/banners/workspace-light.svg b/static/images/banners/workspace-light.svg index 49a1ce3f..dbbd1aad 100644 --- a/static/images/banners/workspace-light.svg +++ b/static/images/banners/workspace-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - - ModelsKnowledgePromptsSkillsTools - - + + + + + + OPEN WEBUI + LOCAL CONTEXT + Workspace + repo / state / environment + 01REPO02STATE03ENVIRONMENT + + + + + + + + $ run - - \ No newline at end of file + + + + DOCS + WORKSPACE + diff --git a/static/images/banners/workspace-models-dark.svg b/static/images/banners/workspace-models-dark.svg index 6974fad7..bd796033 100644 --- a/static/images/banners/workspace-models-dark.svg +++ b/static/images/banners/workspace-models-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - KnowledgePromptsSkillsTools - Models - - + + + + + + OPEN WEBUI + MODEL SELECTION + Workspace Models + routing / params / control + 01ROUTING02PARAMS03CONTROL + + + + + + + + LOCALFASTVISIONLONGROUTING POLICY - - \ No newline at end of file + + + + DOCS + MODELS + diff --git a/static/images/banners/workspace-models-light.svg b/static/images/banners/workspace-models-light.svg index 83ce2f77..d029e2df 100644 --- a/static/images/banners/workspace-models-light.svg +++ b/static/images/banners/workspace-models-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - KnowledgePromptsSkillsTools - Models - - + + + + + + OPEN WEBUI + MODEL SELECTION + Workspace Models + routing / params / control + 01ROUTING02PARAMS03CONTROL + + + + + + + + LOCALFASTVISIONLONGROUTING POLICY - - \ No newline at end of file + + + + DOCS + MODELS + diff --git a/static/images/banners/workspace-prompts-dark.svg b/static/images/banners/workspace-prompts-dark.svg index 91a81450..055b1d6e 100644 --- a/static/images/banners/workspace-prompts-dark.svg +++ b/static/images/banners/workspace-prompts-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ModelsKnowledgeSkillsTools - Prompts - - + + + + + + OPEN WEBUI + SYSTEM INTENT + WorkspacePrompts + templates / roles / policy + 01TEMPLATES02ROLES03POLICY + + + + + + + + SYSTEM:ROLE BOUNDARY - - \ No newline at end of file + + + + DOCS + PROMPTS + diff --git a/static/images/banners/workspace-prompts-light.svg b/static/images/banners/workspace-prompts-light.svg index 6ff31253..5ccc5375 100644 --- a/static/images/banners/workspace-prompts-light.svg +++ b/static/images/banners/workspace-prompts-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ModelsKnowledgeSkillsTools - Prompts - - + + + + + + OPEN WEBUI + SYSTEM INTENT + WorkspacePrompts + templates / roles / policy + 01TEMPLATES02ROLES03POLICY + + + + + + + + SYSTEM:ROLE BOUNDARY - - \ No newline at end of file + + + + DOCS + PROMPTS + diff --git a/static/images/banners/workspace-skills-dark.svg b/static/images/banners/workspace-skills-dark.svg index ae51e31d..731e8539 100644 --- a/static/images/banners/workspace-skills-dark.svg +++ b/static/images/banners/workspace-skills-dark.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ModelsKnowledgePromptsTools - Skills - - + + + + + + OPEN WEBUI + CAPABILITY PACKS + Workspace Skills + instructions / tools / reuse + 01INSTRUCTIONS02TOOLS03REUSE + + + + + + + + INSTRUCTTOOLREUSERUN - - \ No newline at end of file + + + + DOCS + SKILLS + diff --git a/static/images/banners/workspace-skills-light.svg b/static/images/banners/workspace-skills-light.svg index 867a35b9..116196b6 100644 --- a/static/images/banners/workspace-skills-light.svg +++ b/static/images/banners/workspace-skills-light.svg @@ -1,18 +1,29 @@ - + - - - - + - - - - - ModelsKnowledgePromptsTools - Skills - - + + + + + + OPEN WEBUI + CAPABILITY PACKS + Workspace Skills + instructions / tools / reuse + 01INSTRUCTIONS02TOOLS03REUSE + + + + + + + + INSTRUCTTOOLREUSERUN - - \ No newline at end of file + + + + DOCS + SKILLS +