open-webui/open-webui

GitHub: open-webui/open-webui

一个自托管的 AI Web 平台,提供离线支持与丰富集成,简化本地模型的安全部署与运维。

Stars: 132140 | Forks: 18757

# 打开 WebUI 👋 ![Open WebUI Banner](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/462d3cc2f8172441.png) **Open WebUI 是一个[可扩展](https://docs.openwebui.com/features/extensibility/plugin)、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。** 它支持各种 LLM 运行器,如 **Ollama** 和 **OpenAI 兼容 API**,并带有内置推理引擎用于 RAG,使其成为一个**强大的 AI 部署解决方案**。 对开源 AI 充满热情?[加入我们的团队 →](https://careers.openwebui.com/) ![Open WebUI Demo](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/806e7e3da7172442.png) 有关更多信息,请务必查看我们的 [Open WebUI 文档](https://docs.openwebui.com/)。 ## Open WebUI 的关键功能 ⭐ - 🚀 **轻松设置**:使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装,支持 `:ollama` 和 `:cuda` 标记的镜像,提供无 hassle 的体验。 - 🤝 **Ollama/OpenAI API 集成**:轻松集成 OpenAI 兼容 API,与 Ollama 模型一起进行多才多艺的对话。自定义 OpenAI API URL 以链接到 **LMStudio、GroqCloud、Mistral、OpenRouter 等**。 - 🛡️ **细粒度权限和用户组**:通过允许管理员创建详细的用户角色和权限,我们确保一个安全用户环境。这种细粒度不仅增强了安全性,还允许自定义用户体验,培养用户的所有权和责任感。 - 📱 **响应式设计**:在台式机、笔记本电脑和移动设备上享受无缝体验。 - 📱 **移动设备的渐进式 Web 应用(PWA)**:通过我们的 PWA 在移动设备上享受类似原生应用的体验,提供本地主机的离线访问和无缝用户界面。 - ✒️🔢 **完整的 Markdown 和 LaTeX 支持**:通过全面的 Markdown 和 LaTeX 能力提升您的 LLM 体验,丰富交互。 - 🎤📹 **免提语音/视频通话**:使用多个语音转文本提供商(本地 Whisper、OpenAI、Deepgram、Azure)和文本转语音引擎(Azure、ElevenLabs、OpenAI、Transformers、WebAPI)体验无缝通信,实现动态和交互式聊天环境。 - 🛠️ **模型构建器**:通过 Web UI 轻松创建 Ollama 模型。创建并添加自定义角色/代理,自定义聊天元素,并通过 [Open WebUI 社区](https://openwebui.com/) 集成轻松导入模型。 - 🐍 **原生 Python 函数调用工具**:在工具工作区中通过内置代码编辑器支持增强您的 LLM。通过仅添加您的纯 Python 函数,实现与 LLM 的无缝集成,实现“自带函数(BYOF)”。 - 💾 **持久工件存储**:内置键值存储 API 用于工件,支持日志、追踪、排行榜以及跨会话的个人和共享数据范围的协作工具。 - 📚 **本地 RAG 集成**:使用您选择的 9 个向量数据库和多种内容提取引擎(Tika、Docling、Document Intelligence、Mistral OCR、外部加载器)投入聊天交互的未来。将文档直接加载到聊天中或将文件添加到文档库,在查询前使用 `#` 命令轻松访问它们。 - 🔍 **用于 RAG 的 Web 搜索**:使用 15 多个提供商(包括 `SearXNG`、`Google PSE`、`Brave Search`、`Kagi`、`Mojeek`、`Tavily`、`Perplexity`、`serpstack`、`serper`、`Serply`、`DuckDuckGo`、`SearchApi`、`SerpApi`、`Bing`、`Jina`、`Exa`、`Sougou`、`Azure AI Search` 和 `Ollama Cloud`)执行网络搜索,将结果直接注入您的聊天体验。 - 🌐 **网络浏览能力**:使用 `#` 命令后跟 URL,将网站无缝集成到聊天体验中。此功能允许您将网页内容直接纳入对话,增强交互的丰富性和深度。 - 🎨 **图像生成与编辑集成**:使用多个引擎(包括 OpenAI 的 DALL-E、Gemini、ComfyUI(本地)和 AUTOMATIC1111(本地))创建和编辑图像,支持生成和基于提示的编辑工作流程。 - ⚙️ **多模型对话**:同时轻松与各种模型交互,利用它们的独特优势获得最佳响应。通过并行使用多样化的模型集增强您的体验。 - 🔐 **基于角色的访问控制(RBAC)**:确保受限制权限的安全访问;只有授权人员可以访问您的 Ollama,并且专属模型创建/拉取权限保留给管理员。 - 🗄️ **灵活的数据库和存储选项**:从 SQLite(带可选加密)、PostgreSQL 或配置云存储后端(S3、Google Cloud Storage、Azure Blob Storage)中选择,以实现可扩展部署。 - 🔍 **高级向量数据库支持**:从 9 个向量数据库选项中选择,包括 ChromaDB、PGVector、Qdrant、Milvus、Elasticsearch、OpenSearch、Pinecone、S3Vector 和 Oracle 23ai,以实现最佳 RAG 性能。 - 🔐 **企业级认证**:完全支持 LDAP/Active Directory 集成、SCIM 2.0 自动配置,以及通过可信标头配合 OAuth 提供者的 SSO。通过 SCIM 2.0 协议实现企业级用户和组配置,支持与 Okta、Azure AD 和 Google Workspace 等身份提供者的无缝集成,实现自动用户生命周期管理。 - ☁️ **云原生集成**:对 Google Drive 和 OneDrive/SharePoint 文件选取的原生支持,实现企业云存储的无缝文档导入。 - 📊 **生产可观测性**:内置 OpenTelemetry 支持追踪、指标和日志,实现与现有可观测性堆栈的全面监控。 - ⚖️ **水平可扩展性**:基于 Redis 的会话管理和 WebSocket 支持,用于负载均衡器后面的多工作进程和多节点部署。 - 🌐🌍 **多语言支持**:使用我们的国际化(i18n)支持以您首选的语言体验 Open WebUI。加入我们扩展支持的语言!我们在积极寻找贡献者! - 🧩 **流水线、Open WebUI 插件支持**:使用 [流水线插件框架](https://github.com/open-webui/pipelines) 将自定义逻辑和 Python 库无缝集成到 Open WebUI 中。启动您的流水线实例,将 OpenAI URL 设置为流水线 URL,并探索无限可能。[示例](https://github.com/open-webui/pipelines/tree/main/examples) 包括**函数调用**、用户**速率限制**以控制访问、带 Langfuse 的**使用监控**、用于多语言支持的**LibreTranslate 实时翻译**、**有毒消息过滤**等。 - 🌟 **持续更新**:我们致力于通过定期更新、修复和新功能改进 Open WebUI。 想了解更多关于 Open WebUI 的功能?查看我们的 [Open WebUI 文档](https://docs.openwebui.com/features) 获取全面概述! ## 如何安装 🚀 ### 通过 Python pip 安装 🐍 Open WebUI 可以使用 pip(Python 包安装器)安装。在继续之前,请确保您使用的是 **Python 3.11**,以避免兼容性问题。 1. **安装 Open WebUI**: 打开终端并运行以下命令以安装 Open WebUI: pip install open-webui 2. **运行 Open WebUI**: 安装完成后,通过执行以下命令启动 Open WebUI: open-webui serve 这将启动 Open WebUI 服务器,您可以通过 [http://localhost:8080](http://localhost:8080) 访问。 ### 使用 Docker 快速入门 🐳 ### 使用默认配置安装 - **如果 Ollama 在您的计算机上**,请使用此命令: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main - **如果 Ollama 在不同的服务器上**,请使用此命令: 要连接到另一台服务器上的 Ollama,请将 `OLLAMA_BASE_URL` 更改为服务器的 URL: docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main - **要运行带有 Nvidia GPU 支持的 Open WebUI**,请使用此命令: docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda ### 仅使用 OpenAI API 的安装 - **如果仅使用 OpenAI API**,请使用此命令 docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main ### 安装带有捆绑 Ollama 支持的 Open WebUI 此安装方法使用单个容器镜像,将 Open WebUI 与 Ollama 捆绑在一起,允许通过单个命令进行精简设置。根据您的硬件设置选择合适的命令: - **带有 GPU 支持**: 利用 GPU 资源运行以下命令: docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama - **仅适用于 CPU**: 如果不使用 GPU,请改用以下命令: docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama 这两个命令都实现了 Open WebUI 和 Ollama 的内置、无 hassle 安装,确保您可以快速启动并运行所有内容。 安装完成后,您可以通过 [http://localhost:3000](http://localhost:3000) 访问 Open WebUI。享受!😄 ### 其他安装方法 我们提供各种安装替代方案,包括非 Docker 原生安装方法、Docker Compose、Kustomize 和 Helm。访问我们的 [Open WebUI 文档](https://docs.openwebui.com/getting-started/) 或加入我们的 [Discord 社区](https://discord.gg/5rJgQTnV4s) 获取全面指导。 请查看 [本地开发指南](https://docs.openwebui.com/getting-started/development) 了解设置本地开发环境的说明。 ### 故障排除 遇到连接问题?我们的 [Open WebUI 文档](https://docs.openwebui.com/troubleshooting/) 已涵盖相关内容。如需进一步帮助并加入我们充满活力的社区,请访问 [Open WebUI Discord](https://discord.gg/5rJgQTnV4s)。 #### Open WebUI:服务器连接错误 如果遇到连接问题,通常是因为 WebUI Docker 容器无法在容器内访问 Ollama 服务器(127.0.0.1:11434,即 host.docker.internal:11434)。请在 Docker 命令中使用 `--network=host` 标志来解决此问题。请注意端口会从 3000 变为 8080,最终链接为:`http://localhost:8080`。 **示例 Docker 命令**: ``` docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main ``` ### 保持 Docker 安装最新 请查看我们的 [更新指南](https://docs.openwebui.com/getting-started/updating),了解在 [Open WebUI 文档](https://docs.openwebui.com/getting-started/updating) 中的可用信息。 ### 使用开发分支 🌙 如果想尝试最新的前沿功能,并且可以接受偶尔的不稳定性,可以使用 `:dev` 标签,如下所示: ``` docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --add-host=host.docker.internal:host-gateway --restart always ghcr.io/open-webui/open-webui:dev ``` ### 离线模式 如果您在离线环境中运行 Open WebUI,可以设置 `HF_HUB_OFFLINE` 环境变量为 `1`,以防止尝试从互联网下载模型。 ``` export HF_HUB_OFFLINE=1 ``` ## 下一步是什么? 🌟 在 [Open WebUI 文档](https://docs.openwebui.com/roadmap/) 中查看路线图上的即将推出功能。 ## 许可证 📜 本项目包含受多种许可证约束的代码。当前代码库包含根据 Open WebUI 许可证许可的组件,并附加了保留“Open WebUI”品牌的要求,以及根据其各自原始许可证的先前贡献。有关许可证变更记录以及各部分代码适用条款的详细信息,请参考 [LICENSE_HISTORY](./LICENSE_HISTORY)。有关完整和更新的许可详细信息,请参阅 [LICENSE](./LICENSE) 和 [LICENSE_HISTORY](./LICENSE_HISTORY) 文件。 ## 星标历史 Star History Chart 由 [Timothy Jaeryang Baek](https://github.com/tjbck) 创建 - 让我们一起让 Open WebUI 变得更棒!💪
标签:AI平台, API集成, Docker, Helm, Kustomize, LaTeX支持, LLM评估, Markdown支持, Ollama, OpenAI API, PWA, RAG, 可观测性, 响应式设计, 子域名突变, 安全, 安全防御评估, 开源AI, 手控操作, 推理引擎, 搜索引擎查询, 无障碍, 测试用例, 渐进式Web应用, 用户代理, 用户友好界面, 用户角色, 离线AI, 移动优先, 细粒度权限, 自托管, 视频通话, 语音通话, 请求拦截, 超时处理, 逆向工具