open-webui/open-webui

GitHub Trending (daily) 工具

摘要

Open WebUI 是一个可自托管、可扩展且支持完全离线运行的 AI 平台,兼容 Ollama 与各类 OpenAI 兼容 API,提供插件系统、智能体、持久记忆与团队协作频道等丰富功能。

用户友好的 AI 界面(支持 Ollama、OpenAI API 等)
查看原文
查看缓存全文

缓存时间: 2026/10/12 12:32

open-webui/open-webui 来源: https://github.com/open-webui/open-webui

Open WebUI

👋 GitHub stars GitHub forks GitHub watchers GitHub repo size GitHub language count GitHub top language GitHub last commit Discord (https://discord.gg/5rJgQTnV4s)

Open WebUI 是 AI 的家园,一个自托管的 AI 平台,可扩展 (https://docs.openwebui.com/features/extensibility/plugin/)、功能丰富 (https://docs.openwebui.com/features/)、用户友好,并且专为 完全离线运行 (https://openwebui.com/sovereign-ai) 而构建。支持 Ollama 和 OpenAI 兼容 API,为您提供强大的、与供应商无关的界面,适用于本地和云端模型。

热爱开源 AI?加入我们的团队 → (https://careers.openwebui.com/)

Open WebUI 演示

正在寻找企业版方案 (https://docs.openwebui.com/enterprise)? – 立即联系我们的销售团队! (https://docs.openwebui.com/enterprise)

更多信息,请查看我们的 Open WebUI 文档 (https://docs.openwebui.com/)。

Open WebUI 核心功能 ⭐

  • 🚀 轻松安装:通过 pip、uv、Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装,容器部署提供带 :ollama 和 :cuda 标签的镜像。
  • 🤝 广泛的模型与 API 集成:可连接任何 OpenAI 兼容 API 以及本地 Ollama 模型。将 API URL 指向 LMStudio、GroqCloud、Mistral、OpenRouter、vLLM 等,自由组合不同供应商。
  • 🔐 细粒度 RBAC 与用户组:管理员可定义详细的角色、用户组和权限,为每个用户提供恰好所需的访问权限。默认安全,每个用户组拥有定制化体验。
  • 🧩 插件支持:通过 Filters、Actions、Pipes、Tools 和 Skills 扩展 Open WebUI。通过 MCP、MCPO 和 OpenAPI 工具服务器 连接外部服务。构建自定义集成、速率限制、审批流程、数据连接等。
  • 🤖 模型与智能体:为任何基础模型配备自定义指令、工具和知识,构建专用智能体。支持动态变量、按用户/用户组的访问控制,以及通过 Open WebUI Community (https://openwebui.com/) 导入社区预设。
  • ⚡ 通过 Open Terminal (https://github.com/open-webui/open-terminal) 实现智能体执行:赋予智能体终端和文件系统,执行多步骤任务。让它们分析数据、运行脚本、修复错误,并直接在聊天中生成文件。通过 Terminals (Enterprise) (https://github.com/open-webui/terminals) 扩展至团队规模,实现每个用户独立的环境、资源限制和自动生命周期管理。
  • 📝 笔记:专为对话之外的内容打造的工作空间。使用富文本编辑器撰写,用 AI 改写选中文本,并可将笔记附加到任何聊天中以注入完整上下文。
  • 📢 频道:实时共享空间,团队和 AI 模型在同一时间线上协作。可标记模型进行起草或点评,支持话题线程、表情回应、置顶和访问控制。
  • 🧠 持久记忆:AI 会在对话之间记住关于你的信息,将上下文从一次聊天延续到下一次。
  • ✅ 实时工作流与消息流:实时观察 AI 构建和执行检查清单。在 AI 仍在回复时排队消息;待其就绪后自动发送。
  • 📅 日历与 AI 调度:内置个人和共享日历,支持月/周/日视图、重复事件、颜色标记、参与者和提醒。模型通过原生函数调用以对话方式管理你的日程。
  • ⏱️ 自动化:按循环计划安排提示词运行,运行记录显示在日历上,每次完成的运行可链接回生成它的聊天。
  • 📱 响应式设计与 PWA:在台式机、笔记本和移动设备上提供无缝体验,配备渐进式 Web 应用(PWA),提供类原生应用体验和 localhost 离线访问。
  • ✒️🔢 完整的 Markdown 和 LaTeX 支持:全面的 Markdown 和 LaTeX 能力,丰富交互体验。
  • 🎤📹 免提语音/视频通话:集成语音和视频通话,支持多种语音转文字提供商(Local Whisper、OpenAI、Deepgram、Azure)和文字转语音引擎(Azure、ElevenLabs、OpenAI、Transformers、WebAPI)。
  • 💾 持久化制品存储:内置键值存储 API,用于制品存储,支持日志、追踪、排行榜和协作工具,具备个人和共享数据范围。
  • 📚 本地 RAG 集成:检索增强生成,支持 9 种向量数据库和多种内容提取引擎(Tika、Docling、Document Intelligence、Mistral OCR、PaddleOCR-vl、外部加载器)。支持混合搜索(BM25 + 向量)配合重排序和全上下文模式。使用 # 命令将文档加载到聊天中或从资料库中拉取。
  • 🔍 RAG 网页搜索:通过数十种提供商搜索网页,包括 SearXNG、Google PSE、Brave Search、Kagi、Mojeek、Tavily、Perplexity、Firecrawl、serpstack、serper、Serply、DuckDuckGo、SearchApi、SerpApi、Bing、Jina、Exa、Sougou、Azure AI Search 和 Ollama Cloud,将结果直接注入对话中。
  • 🌐 网页浏览能力:使用 # 命令后跟 URL 将网页拉入聊天,或让模型在需要时自行获取。
  • 🎨 图像生成与编辑:使用多种引擎创建和编辑图像,包括 OpenAI DALL·E、Gemini、ComfyUI(本地)和 AUTOMATIC1111(本地),支持生成和基于提示词的编辑。
  • ⚙️ 多模型对话:同时与多个模型交互,并行利用各自优势以获得最佳回复。
  • 📊 使用分析与模型评估:管理仪表板跟踪消息量、token 消耗和跨用户/模型的成本。通过内置竞技场、A/B 测试和基于 ELO 的排行榜评估模型。
  • 🗄️ 灵活的数据库与存储:选择 SQLite(支持可选加密)或 PostgreSQL,文件可存储在本地、S3、Google Cloud Storage 或 Azure Blob Storage。
  • 🧬 高级向量数据库支持:从 9 种向量数据库中选择:ChromaDB、PGVector、Qdrant、Milvus、Elasticsearch、OpenSearch、Pinecone、S3Vector 和 Oracle 23ai。
  • 🪪 企业级认证与供应:完整的 LDAP/Active Directory 集成、通过可信头和 OAuth 提供商的 SSO,以及面向 Okta、Azure AD 和 Google Workspace 等身份提供商的 SCIM 2.0 自动供应。
  • ☁️ 云原生文件集成:原生支持 Google Drive 和 OneDrive/SharePoint 文件选择,从企业云存储无缝导入文档。
  • 🔭 生产可观测性:内置 OpenTelemetry 支持,提供链路追踪、指标和日志,可接入你现有的监控堆栈。
  • ⚖️ 水平扩展性:基于 Redis 的会话管理和 WebSocket 支持,适用于负载均衡器后面的多 worker、多节点部署。
  • 🌐🌍 多语言支持:通过 i18n 支持,使用您偏好的语言使用 Open WebUI。我们积极寻找贡献者来扩展语言覆盖!
  • 🌟 持续更新:我们致力于通过定期更新、修复和新功能不断改进 Open WebUI。
  • 🛡️ 透明的安全流程:安全报告经过分类、修复,并通过有记录的责任披露流程以公开安全公告形式发布。请参阅我们的安全策略 (https://github.com/open-webui/open-webui/security)。

想了解更多 Open WebUI 功能?请查看我们的 Open WebUI 文档 (https://docs.openwebui.com/features) 了解全面概述!

Open WebUI 生态系统 🌐

Open WebUI 是核心,周围环绕着扩展 AI 能力、触达范围和运行方式的配套应用和基础设施:

  • 💻 Open WebUI Computer (open-webui/computer (https://github.com/open-webui/computer)):一个独立的、移动优先的计算机和编码智能体,运行在您拥有的机器上。在浏览器标签页中使用文件、终端和 git,可通过手机访问。将其作为模型连接到 Open WebUI,或从 Telegram、WhatsApp 等平台访问。
  • ⚡ Open Terminal 和 Terminals (Enterprise) (open-webui/open-terminal (https://github.com/open-webui/open-terminal) 和 open-webui/terminals (https://github.com/open-webui/terminals)):一个自托管的计算环境,可接入 Open WebUI,为 AI 提供在聊天中编写代码、运行代码、读取输出、修复错误和迭代的空间。Terminals 为您提供了每个用户独立的容器,具有独立凭据、资源限制和网络规则。支持 Docker 或 Kubernetes 上的自动生命周期管理。
  • 🔄 oikb (open-webui/oikb (https://github.com/open-webui/oikb)):从 45 多个来源(GitHub、Confluence、ServiceNow、Salesforce、Jira、Slack、SharePoint、Notion 等)向您的知识库推送数据,保持团队已有的工具持续同步。
  • 🖥️ 原生桌面应用 (open-webui/desktop (https://github.com/open-webui/desktop)):在 macOS、Windows 和 Linux 上将 Open WebUI 作为原生应用运行。系统级 Spotlight 聊天栏,支持截图捕获、按键通话语音,并可通过内置 llama.cpp 引擎实现完全本地推理。

想了解更多?请查看我们的 Open WebUI 文档 (https://docs.openwebui.com) 获取详细信息!


我们非常感谢赞助者的慷慨支持。他们的贡献帮助我们维护和改进项目,确保我们能够继续为社区提供高质量的工作。谢谢!

如何安装 🚀

通过 Python pip 安装 🐍

Open WebUI 可以使用 pip(Python 包安装器)安装。在继续之前,请确保使用 Python 3.11 以避免兼容性问题。

  1. 安装 Open WebUI:打开终端并运行以下命令安装 Open WebUI:
pip install open-webui
  1. 运行 Open WebUI:安装完成后,可以通过执行以下命令启动 Open WebUI:
open-webui serve

这将启动 Open WebUI 服务器,您可以在 http://localhost:8080 访问。

Docker 快速开始 🐳

请注意,某些 Docker 环境可能需要额外的配置。如果遇到任何连接问题,我们 Open WebUI 文档 (https://docs.openwebui.com/) 中的详细指南随时为您提供帮助。

使用 Docker 安装 Open WebUI 时,请确保在 Docker 命令中包含 -v open-webui:/app/backend/data。此步骤至关重要,因为它确保您的数据库正确挂载并防止数据丢失。

如果您希望使用包含 Ollama 或 CUDA 加速的 Open WebUI,建议使用我们带 :cuda 或 :ollama 标签的官方镜像。要启用 CUDA,您必须在 Linux/WSL 系统上安装 Nvidia CUDA 容器工具包 (https://docs.nvidia.com/dgx/nvidia-container-runtime-upgrade/)。

使用默认配置安装

  • 如果 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 的内置无麻烦安装,确保您能快速启动并运行一切。安装完成后,您可以在 http://localhost:3000 访问 Open WebUI。尽情享受吧!😄

其他安装方式

我们提供多种安装替代方案,包括非 Docker 的原生安装方法、Docker Compose、Kustomize 和 Helm。访问我们的 Open WebUI 文档 (https://docs.openwebui.com/getting-started/) 或加入我们的 Discord 社区 (https://discord.gg/5rJgQTnV4s) 获取全面指导。

故障排除

遇到连接问题?我们的 Open WebUI 文档 (https://docs.openwebui.com/troubleshooting/) 可以帮助您。如需进一步协助并加入活跃的社区,请访问 Open WebUI Discord (https://discord.gg/5rJgQTnV4s)。

Open WebUI:服务器连接错误

如果您遇到连接问题,通常是因为 WebUI docker 容器无法在容器内访问 127.0.0.1:11434(host.docker.internal:11434)的 Ollama 服务器。在 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 安装最新

请查看 Open WebUI 文档 (https://docs.openwebui.com/getting-started/updating) 中的更新指南。

使用开发分支 🌙

:dev 分支包含最新的不稳定功能和更改。请自行承担风险使用,因为它可能存在 bug 或不完整的功能。

如果您想尝试最新的前沿功能,并且不介意偶尔的不稳定,可以像这样使用 :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 License 下的组件(附带保留 “Open WebUI” 品牌的额外要求),以及在其各自原始许可证下的先前贡献。

有关许可证变更的详细记录和每个代码部分的适用条款,请参阅 LICENSE_HISTORY。

完整的最新许可详情,请参阅 LICENSE 和 LICENSE_HISTORY 文件。

支持 💬

如果您有任何问题、建议

相似文章

Open WebUI + Open Terminal

Reddit r/LocalLLaMA

作者介绍了如何通过集成 Open Terminal 与 Open WebUI,构建一个基于 Ollama 上 Qwen 27B 模型的自托管 AI 智能体。该智能体可通过 shell 命令检索大型法律文档并生成笔记。作者强调,终端访问让模型能够逐步推理,并从远超上下文窗口限制的大型文档中精准提取相关章节。

OpenCode 2.0

Product Hunt

OpenCode 2.0 作为开源 AI 编程代理正式发布,支持终端、桌面和 Web 应用,可搭配任意模型使用。

Open WebUI 桌面版发布!

Reddit r/LocalLLaMA

Open WebUI 桌面版以原生应用形态登场,无需 Docker 或终端配置即可本地运行 LLM 或连接远程服务器,支持离线运行、系统级语音输入及悬浮聊天窗口。

Open WebUI 的更简单的自托管替代方案

Reddit r/LocalLLaMA

OvertChat 是 Open WebUI 的一个更简单、精致的自托管替代方案,适用于本地 AI 模型,具有单一的 Docker Compose 设置、内置网页搜索和 Kokoro TTS,全部采用 MIT 许可证。