diff --git a/docs/contributing.mdx b/docs/contributing.mdx index 23c1c3ae1f..d8d7392b5a 100644 --- a/docs/contributing.mdx +++ b/docs/contributing.mdx @@ -11,6 +11,12 @@ import { TopBanners } from "@site/src/components/TopBanners"; Your interest in contributing to Open WebUI is greatly appreciated. This document is here to guide you through the process, ensuring your contributions enhance the project effectively. Let's make Open WebUI even better, together! +## 📜 Code of Conduct + +All contributors and community participants are expected to follow our **[Code of Conduct](https://github.com/open-webui/open-webui/blob/main/CODE_OF_CONDUCT.md)**. We operate under a **zero-tolerance policy** — disrespectful, demanding, or hostile behavior will result in immediate action without prior warning. + +Our community is built on the work of volunteers who dedicate their free time to this project. Please treat every interaction with professionalism and respect. + ## 💡 Contributing Looking to contribute? Great! Here's how you can help: @@ -79,7 +85,7 @@ Let's make Open WebUI usable for *everyone*. ### 🤔 Questions & Feedback -Got questions or feedback? Join our [Discord community](https://discord.gg/5rJgQTnV4s) or open an issue. We're here to help! +Got questions or feedback? Join our [Discord community](https://discord.gg/5rJgQTnV4s), visit our [Reddit](https://www.reddit.com/r/OpenWebUI/), or open an issue. We're here to help! ### 🚨 Reporting Issues @@ -91,6 +97,8 @@ Noticed something off? Have an idea? Check our [Issues tab](https://github.com/o - **Detail is Key:** To ensure your issue is understood and can be effectively addressed, it's imperative to include comprehensive details. Descriptions should be clear, including steps to reproduce, expected outcomes, and actual results. Lack of sufficient detail may hinder our ability to resolve your issue. +- **Respectful Communication:** All interactions — including issue reports and discussions — fall under our **[Code of Conduct](https://github.com/open-webui/open-webui/blob/main/CODE_OF_CONDUCT.md)**. Hostile, entitled, or demanding behavior toward contributors will not be tolerated. + ::: ### 🧭 Scope of Support diff --git a/docs/faq.mdx b/docs/faq.mdx index 25d3448d8e..81467d59d9 100644 --- a/docs/faq.mdx +++ b/docs/faq.mdx @@ -7,6 +7,26 @@ import { TopBanners } from "@site/src/components/TopBanners"; +### Q: How can I get support or ask for help? + +**A:** Open WebUI is a community-driven, open-source project. Support is provided by **volunteers** who contribute their time and expertise for free — there is no dedicated support team, and no one is obligated to provide personalized or on-demand assistance. + +**To get the best help:** +1. **Search first.** Check these docs, [Discord](https://discord.gg/5rJgQTnV4s), [Reddit](https://www.reddit.com/r/OpenWebUI/), [GitHub Discussions](https://github.com/open-webui/open-webui/discussions), and [Issues](https://github.com/open-webui/open-webui/issues) — your question may already be answered. +2. **Try the Discord bot.** In our [Discord server](https://discord.gg/5rJgQTnV4s)'s **#questions** channel, we have an experimental bot that has access to all issues, all discussions, and the entire documentation. Simply ping the bot with your question in the same message, wait a few seconds, and it will answer you. As our documentation improves, so does the bot. +3. **Provide details.** When asking for help, always include: your Open WebUI version, deployment method (Docker/pip), model provider and model name, relevant settings (screenshots of the Admin Panel section are ideal), and steps to reproduce the issue. +4. **Be respectful.** Contributors are volunteers. Demanding, entitled, or hostile behavior is not tolerated and will result in immediate enforcement under our **[Code of Conduct](https://github.com/open-webui/open-webui/blob/main/CODE_OF_CONDUCT.md)**. + +**Where to ask:** +- 🤖 **Quick Answers**: [Discord #questions channel](https://discord.gg/5rJgQTnV4s) — try the bot first, it can answer most Open WebUI questions +- 🐛 **Bugs**: [GitHub Issues](https://github.com/open-webui/open-webui/issues) — you **must** use the issue template and provide all requested information (Open WebUI version, browser, deployment method, expected vs. actual behavior, and logs). Most importantly, your report **must include clear steps to reproduce the issue along with all relevant settings** to replicate the situation. If we cannot reproduce it, we will not investigate it. Reports that skip the template or omit key details will be closed without investigation or converted to discussions. Our contributors are volunteers — incomplete reports waste their limited time. +- 💬 **Questions & Help**: [Discord](https://discord.gg/5rJgQTnV4s) (most active community), [Reddit](https://www.reddit.com/r/OpenWebUI/), or [GitHub Discussions](https://github.com/open-webui/open-webui/discussions) +- 💡 **Feature Requests**: [GitHub Discussions](https://github.com/open-webui/open-webui/discussions/new/choose) + +:::important +All participants in the Open WebUI community are expected to follow our **[Code of Conduct](https://github.com/open-webui/open-webui/blob/main/CODE_OF_CONDUCT.md)**, which operates under a **zero-tolerance policy**. Unacceptable behavior — including hostility, entitlement, or persistent negativity toward contributors — will result in immediate action without prior warning. +::: + ### Q: How do I customize the logo and branding? **A:** You can customize the theme, logo, and branding with our **[Enterprise License](https://docs.openwebui.com/enterprise)**, which unlocks exclusive enterprise features. @@ -225,15 +245,64 @@ For more optimization tips, see the **[Performance Tips Guide](troubleshooting/p ### Q: Is MCP (Model Context Protocol) supported in Open WebUI? -**A:** Yes, Open WebUI now includes **native support for MCP Streamable HTTP**, enabling direct, first-class integration with MCP tools that communicate over the standard HTTP transport. For any **other MCP transports or non-HTTP implementations**, you should use our official proxy adapter, **MCPO**, available at 👉 [https://github.com/open-webui/mcpo](https://github.com/open-webui/mcpo). MCPO provides a unified OpenAPI-compatible layer that bridges alternative MCP transports into Open WebUI safely and consistently. This architecture ensures maximum compatibility, strict security boundaries, and predictable tool behavior across different environments while keeping Open WebUI backend-agnostic and maintainable. +**A:** Yes, Open WebUI includes **native support for MCP Streamable HTTP**, enabling direct, first-class integration with MCP tools that communicate over the standard HTTP transport. For any **other MCP transports or non-HTTP implementations**, you should use our official proxy adapter, **MCPO**, available at 👉 [https://github.com/open-webui/mcpo](https://github.com/open-webui/mcpo). MCPO provides a unified OpenAPI-compatible layer that bridges alternative MCP transports into Open WebUI safely and consistently. This architecture ensures maximum compatibility, strict security boundaries, and predictable tool behavior across different environments while keeping Open WebUI backend-agnostic and maintainable. + +### Q: Why doesn't Open WebUI natively support [Provider X]'s proprietary API? + +**A:** Open WebUI is highly modular with a plugin system including tools, functions, and most notably **[pipes](/features/plugin/functions/pipe)**. These modular pipes allow you to add support for virtually any provider you want—you can build your own or choose from the many [community-built](https://openwebui.com/) and usually well-maintained ones already available. + +That said, Open WebUI's core is built around **universal protocols**, not specific providers. Our stance is to support standard, widely-adopted APIs like the **OpenAI Chat Completions protocol**. + +This protocol-centric design ensures that Open WebUI remains backend-agnostic and compatible with dozens of providers simultaneously. We avoid implementing proprietary, provider-specific APIs in the core to prevent unsustainable architectural bloat and to maintain a truly open ecosystem. + +:::note Experimental: Open Responses +As new standards emerge that gain broad adoption, we may add experimental support. Connections can now optionally be configured to use **[Open Responses](https://www.openresponses.org/)**—an open specification for multi-provider interoperability with consistent streaming events and tool use patterns. +::: + +We understand this request comes up frequently, especially for major providers. Here's why we've made this deliberate architectural decision: + +#### 1. The Cascading Demand Problem + +Supporting one proprietary API sets a precedent. Once that precedent exists, every other major provider becomes a reasonable request. What starts as "just one provider" quickly becomes many integrations, each with their own quirks, authentication schemes, and breaking changes. + +#### 2. Maintenance is the Real Burden + +Adding integration code is the easy part. **Maintaining it forever** is where the real cost lies: +- Each provider updates their API independently—when a provider changes something, we must update and test immediately +- Changes in one integration can break compatibility with others +- Every integration requires ongoing testing across multiple scenarios +- Bug reports flood in for each provider whenever they make changes + +Contributors are **volunteers with full-time jobs**. Asking them to maintain 10+ provider integrations indefinitely is not sustainable. -### Q: Why doesn't Open WebUI support [Specific Provider]'s latest API (e.g. OpenAI Responses API)? +#### 3. Technical Complexity -**A:** Open WebUI is built around **universal protocols**, not specific providers. Our core philosophy is to support standard, widely-adopted APIs like the **OpenAI Chat Completions protocol**. +Each provider has different approaches to: +- Reasoning/thinking content format and structure +- Tool calling schemas and response formats +- Authentication and request signing +- Error handling and rate limiting -This protocol-centric design ensures that Open WebUI remains backend-agnostic and compatible with dozens of providers (like OpenRouter, LiteLLM, vLLM, and Groq) simultaneously. We avoid implementing proprietary, provider-specific APIs (such as OpenAI's stateful Responses API or Anthropic's Messages API) to prevent unsustainable architectural bloat and to maintain a truly open ecosystem. +This requires provider-specific logic throughout both the backend and frontend, significantly increasing the codebase complexity and tech debt. -If you need functionality exclusive to a proprietary API (like OpenAI's hidden reasoning traces), we recommend using a proxy like **LiteLLM** or **OpenRouter**, which translate those proprietary features into the standard Chat Completions protocol that Open WebUI supports. +#### 4. Scale and Stability Requirements + +Open WebUI is used by major organizations worldwide. At this scale, stability is paramount—extensive testing and backwards compatibility guarantees become exponentially harder with each added provider. + +#### 5. Pipes are the Modular Solution + +The pipes architecture exists precisely to solve this problem. One-click install a community pipe and you get full provider API support. This is exactly the modularity that allows: +- Community members to maintain provider-specific integrations +- Users to choose only what they need +- The core project to remain stable and maintainable + +:::tip The Recommended Path +For providers that don't follow widely adopted API standards, use: +- **[Open WebUI community](https://openwebui.com/)**: Community-maintained provider integrations (one-click install) +- **Middleware proxies**: Tools like LiteLLM or OpenRouter can translate proprietary APIs to widely adopted API formats + +These solutions exist specifically to bridge the gap, and they're maintained by teams dedicated to that purpose. +::: ### Q: Why is the frontend integrated into the same Docker image? Isn't this unscalable or problematic? @@ -280,4 +349,4 @@ We review every report in good faith and handle all submissions discreetly. Prot ### Need Further Assistance? -If you have any further questions or concerns, please reach out to our [GitHub Issues page](https://github.com/open-webui/open-webui/issues) or our [Discord channel](https://discord.gg/5rJgQTnV4s) for more help and information. +If you have any further questions or concerns, please reach out on our [Discord server](https://discord.gg/5rJgQTnV4s), [Reddit community](https://www.reddit.com/r/OpenWebUI/), [GitHub Issues](https://github.com/open-webui/open-webui/issues), or [GitHub Discussions](https://github.com/open-webui/open-webui/discussions) for more help and information. Please remember that all community interactions are governed by our **[Code of Conduct](https://github.com/open-webui/open-webui/blob/main/CODE_OF_CONDUCT.md)**. diff --git a/docs/features/chat-features/reasoning-models.mdx b/docs/features/chat-features/reasoning-models.mdx index 5233cf596c..a39a49127d 100644 --- a/docs/features/chat-features/reasoning-models.mdx +++ b/docs/features/chat-features/reasoning-models.mdx @@ -347,7 +347,7 @@ Open WebUI serializes reasoning as text wrapped in tags (e.g., `... OpenAI > Manage** (look for the wrench icon). +3. Click ➕ **Add New Connection** or edit an existing connection. + +--- + +## Step 2: Select the API Type + +In the connection modal, look for the **API Type** setting: + +- **Chat Completions** (default): Uses the standard OpenAI Chat Completions API format. +- **Responses** (experimental): Uses the Open Responses API format. + +Click the toggle to switch to **Responses**. You'll see an "Experimental" label indicating this feature is still in development. + +![API Type Toggle](/images/getting-started/quick-start/api-type-responses.gif) + +--- + +## Step 3: Configure Your Provider + +Enter the connection details for a provider that supports the Open Responses format: + +- **URL**: Your provider's API endpoint +- **API Key**: Your authentication credentials +- **Model IDs**: (Optional) Specify specific models to use + +--- + +## Supported Providers + +Open Responses is a new specification, so provider support is still growing. Check the [Open Responses website](https://www.openresponses.org/) for the latest list of compliant providers and implementations. + +--- + +## Troubleshooting + +### Connection works with Chat Completions but not Responses + +Not all providers support the Open Responses format yet. Try: + +1. Switching back to Chat Completions +2. Checking if your provider explicitly supports Open Responses +3. Using a middleware proxy that can translate to Open Responses format + +### Streaming or tool calls behave unexpectedly + +This feature is experimental. If you encounter issues: + +1. Check the [Open WebUI Discord](https://discord.gg/5rJgQTnV4s) for known issues +2. Report bugs on [GitHub](https://github.com/open-webui/open-webui/issues) + +--- + +## Learn More + +- **[Open Responses Specification](https://www.openresponses.org/specification)**: Full technical specification +- **[Open Responses GitHub](https://github.com/openresponses/openresponses)**: Source code and discussions +- **[FAQ: Why doesn't Open WebUI natively support proprietary APIs?](/faq#q-why-doesnt-open-webui-natively-support-provider-xs-proprietary-api)**: Learn about our protocol-first philosophy diff --git a/docs/getting-started/quick-start/starting-with-openai-compatible.mdx b/docs/getting-started/quick-start/starting-with-openai-compatible.mdx index a4b4de7ca9..daa03f9e46 100644 --- a/docs/getting-started/quick-start/starting-with-openai-compatible.mdx +++ b/docs/getting-started/quick-start/starting-with-openai-compatible.mdx @@ -17,10 +17,12 @@ Open WebUI is built around **Standard Protocols**. Instead of building specific This means that while Open WebUI handles the **interface and tools**, it expects your backend to follow the universal Chat Completions standard. -- **We Support Protocols**: Any provider that follows the OpenAI Chat Completions standard (like Groq, OpenRouter, or LiteLLM) is natively supported. -- **We Avoid Proprietary APIs**: We do not implement provider-specific, non-standard APIs (such as OpenAI's stateful Responses API or Anthropic's native Messages API) to maintain a universal, maintainable codebase. +- **We Support Protocols**: Any provider that follows widely adopted API standards (like Groq, OpenRouter, OpenAI, Mistral, Perplexity and many more) is natively supported. We also have experimental support for **[Open Responses](https://www.openresponses.org/)**. +- **We Avoid Proprietary APIs**: We do not implement provider-specific, non-standard APIs in the core to maintain a universal, maintainable codebase. For unsupported providers, use a pipe or middleware proxy. -If you are using a provider that requires a proprietary API, we recommend using a proxy tool like **LiteLLM** or **OpenRouter** to bridge them to the standard OpenAI protocol supported by Open WebUI. +If you are using a provider that requires a proprietary API, we recommend using a **[pipe](/features/plugin/functions/pipe)** (browse [community pipes](https://openwebui.com/)) or a middleware proxy like LiteLLM or OpenRouter to bridge them to a supported protocol. + +For a detailed explanation of why we've made this architectural decision, see our **[FAQ: Why doesn't Open WebUI natively support proprietary APIs?](/faq#q-why-doesnt-open-webui-natively-support-provider-xs-proprietary-api)** ### Popular Compatible Servers and Providers diff --git a/docs/getting-started/quick-start/starting-with-openai.mdx b/docs/getting-started/quick-start/starting-with-openai.mdx index d8485c4451..7b86d6e504 100644 --- a/docs/getting-started/quick-start/starting-with-openai.mdx +++ b/docs/getting-started/quick-start/starting-with-openai.mdx @@ -13,9 +13,9 @@ Open WebUI makes it easy to connect and use OpenAI and other OpenAI-compatible A ## Important: Protocols, Not Providers -Open WebUI is a **protocol-centric** platform. While we provide first-class support for OpenAI models, we do so exclusively through the **OpenAI Chat Completions API protocol**. +Open WebUI is a **protocol-centric** platform. While we provide first-class support for OpenAI models, we do so mainly through the **OpenAI Chat Completions API protocol**. -We do **not** support proprietary, non-standard APIs such as OpenAI’s new stateful **Responses API**. Instead, Open WebUI focuses on universal standards that are shared across dozens of providers. This approach keeps Open WebUI fast, stable, and truly open-sourced. +We focus on universal standards shared across dozens of providers, with experimental support for emerging standards like **[Open Responses](https://www.openresponses.org/)**. For a detailed explanation, see our **[FAQ on protocol support](/faq#q-why-doesnt-open-webui-natively-support-provider-xs-proprietary-api)**. --- diff --git a/docs/getting-started/quick-start/starting-with-vllm.mdx b/docs/getting-started/quick-start/starting-with-vllm.mdx index 90a4f1b141..adf2ba41ee 100644 --- a/docs/getting-started/quick-start/starting-with-vllm.mdx +++ b/docs/getting-started/quick-start/starting-with-vllm.mdx @@ -5,7 +5,11 @@ title: "Starting With vLLM" ## Overview -vLLM provides an OpenAI-compatible API, making it easy to connect to Open WebUI. This guide will show you how to connect your vLLM server. +vLLM provides an **OpenAI-compatible API** (Chat Completions), making it easy to connect to Open WebUI. This guide will show you how to connect your vLLM server. + +:::tip +Open WebUI also supports the experimental [Open Responses](/getting-started/quick-start/starting-with-open-responses) specification for providers that implement it. +::: --- diff --git a/docs/team.mdx b/docs/team.mdx index 457195d714..7945eab824 100644 --- a/docs/team.mdx +++ b/docs/team.mdx @@ -38,5 +38,11 @@ Beyond our contributors, Open WebUI, Inc. has an incredible global team working We greatly appreciate enthusiasm and thoughtful suggestions from our community. At the same time, **we're not looking for unsolicited governance recommendations or guidance on how to operate**—we know exactly how we want to run our project (just as, for example, you wouldn't tell OpenAI how to run theirs). Open WebUI maintains strong, opinionated leadership because that's precisely what we believe is necessary to build something truly great, fast-moving, and purposeful. +## 📜 Community Standards + +All community members — contributors, users, and collaborators alike — are expected to uphold our **[Code of Conduct](https://github.com/open-webui/open-webui/blob/main/CODE_OF_CONDUCT.md)**. This project is built by volunteers who dedicate their time and expertise freely. We enforce a **zero-tolerance policy**: disrespectful, entitled, or hostile behavior toward any community member will result in immediate action without prior warning. + +We believe that protecting our contributors from burnout and abuse is essential to the long-term health of this project. A respectful, professional environment isn't optional — it's a requirement for participation. + Thank you for respecting our perspective and for your continued support and contributions. We're excited to keep building with the community around the vision we've established together! diff --git a/docs/troubleshooting/index.mdx b/docs/troubleshooting/index.mdx index bbec3251b7..046c3056ee 100644 --- a/docs/troubleshooting/index.mdx +++ b/docs/troubleshooting/index.mdx @@ -17,7 +17,7 @@ With this project constantly evolving, updates and fixes are regularly added. Ke ### 🤝 Community Support -This project thrives on community spirit and passion. If you still face problems after updating, we warmly invite you to join our vibrant community on [Discord](https://discord.com/invite/5rJgQTnV4s). There, you can share your experiences, find solutions, and connect with fellow enthusiasts who might be navigating similar challenges. Engaging with our community doesn't just help solve your problems; it strengthens the entire network of support, so we all grow together. 🌱 +This project thrives on community spirit and passion. If you still face problems after updating, we warmly invite you to join our vibrant community on [Discord](https://discord.com/invite/5rJgQTnV4s) or [Reddit](https://www.reddit.com/r/OpenWebUI/). There, you can share your experiences, find solutions, and connect with fellow enthusiasts who might be navigating similar challenges. Engaging with our community doesn't just help solve your problems; it strengthens the entire network of support, so we all grow together. 🌱 🌟 If your issues are pressing and you need a quicker resolution, consider [supporting our project](/sponsorships). Your sponsorship not only fast-tracks your queries in a dedicated sponsor-only channel, but also directly supports the [dedicated maintainer](/mission) who is passionately committed to refining and enhancing this tool for everyone. diff --git a/static/images/getting-started/quick-start/api-type-responses.gif b/static/images/getting-started/quick-start/api-type-responses.gif new file mode 100644 index 0000000000..d3daae0e05 Binary files /dev/null and b/static/images/getting-started/quick-start/api-type-responses.gif differ