open-webui/open-webui

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

Open WebUI – 自托管、可扩展的 AI 前端

是什么 – Open WebUI 是一个开源、自托管的 Web 界面,用于与 LLM 交互。它支持任何 OpenAI 兼容 API(OpenAI、Azure、Groq、Mistral 等)以及本地 Ollama 模型,让您可以在完全离线状态下运行 AI,或混合使用云服务与本地部署的提供商。

为何重要 – 大多数聊天式 AI 工具仅限 SaaS,将您锁定在单一提供商,并且需要互联网连接。Open WebUI 提供一个功能完整的浏览器端 UI,您可以在笔记本电脑、服务器或 Kubernetes 上运行,支持细粒度访问控制、插件、RAG、多模型聊天,甚至内置终端供代理执行代码。


核心功能(README 中列出)

  • 安装简便 – pip install open-webui,Docker 镜像(:ollama, :cuda),Docker-Compose,Kubernetes 用 Helm/Kustomize。
  • 与提供方无关的模型访问 – 连接任意 OpenAI 兼容端点和本地 Ollama 模型;可在 LMStudio、GroqCloud、Mistral、vLLM 等之间切换。
  • 细粒度 RBAC 与分组 – 管理员可定义角色、权限和分组体验。
  • 插件系统 – 支持过滤器、动作、管道、工具、技能;可通过 MCP/MCPO 或 OpenAPI 服务器扩展。
  • 代理与“Open Terminal” – 给模型分配沙盒化终端/文件系统以运行脚本、修复错误并生成文件。企业版增加用户隔离容器。
  • 笔记与频道 – 持久化笔记工作区,支持实时共享频道、线程、反应、置顶。
  • 持久记忆 – AI 可在聊天间保留关于用户的信息。
  • 实时工作流 UI – 检查清单、消息队列、实时进度。
  • 日历与调度 – 内置日历,支持 AI 驱动的函数调用调度。
  • 自动化 – 定时触发提示,查看日历中的运行记录,链接回聊天输出。
  • 响应式 PWA – 支持桌面、笔记本电脑和移动设备;本地运行时可离线使用。
  • 完整 Markdown 与 LaTeX – 支持富文本渲染。
  • 语音/视频通话 – 集成 STT(Whisper、OpenAI、Deepgram、Azure)和 TTS(Azure、ElevenLabs、OpenAI、Transformers)。
  • 工件存储 – 提供键值 API 用于持久化文件、排行榜、追踪器。
  • 本地 RAG – 支持 9 种向量数据库,10+ 内容提取器,混合 BM25+ 向量搜索,# 命令拉取文档。
  • RAG 用网络搜索 – 可插件数十个搜索提供商(SearXNG、Google PSE、Kagi、Bing 等),并注入结果。
  • 网页浏览 – 通过 # 命令将 URL 拉入聊天,或让模型自动获取。
  • 图像生成与编辑 – DALL·E、Gemini、ComfyUI、AUTOMATIC1111(本地)。
  • 多模型对话 – 可并行运行多个模型。
  • 分析与评估 – 管理员仪表板、令牌/成本追踪、竞技场、A/B 测试、ELO 排行榜。
  • 灵活持久化 – SQLite(可选加密)或 PostgreSQL;文件存储在本地或 S3/Google Cloud/Azure。
  • 高级向量数据库 – Chroma、PGVector、Qdrant、Milvus、Elasticsearch、OpenSearch、Pinecone、S3Vector、Oracle 23ai。
  • 企业级认证 – LDAP/AD、通过头部/OAuth 的 SSO、SCIM 2.0 配置(Okta、Azure AD、Google Workspace)。
  • 云原生文件选择器 – Google Drive、OneDrive/SharePoint。
  • 可观测性 – OpenTelemetry 跟踪、指标、日志。
  • 水平可扩展性 – Redis 后端会话,WebSocket 支持多节点部署。
  • i18n – 多语言 UI。
  • 安全流程 – 公开安全策略与负责任披露机制。

生态系统(配套项目)

项目 增强功能
Open WebUI Computer (open-webui/computer) 面向移动优先的编码/终端代理,可作为模型使用或通过消息应用调用。
Open Terminal / Terminals (企业版) (open-webui/open-terminal, open-webui/terminals) 自托管容器化终端,AI 可驱动;企业版提供用户级隔离与资源限制。
oikb (open-webui/oikb) 从 45+ 来源(GitHub、Confluence、ServiceNow、Salesforce、Jira、Slack、Notion 等)同步知识库至 RAG 流水线。
桌面应用 (open-webui/desktop) 原生 macOS/Windows/Linux 客户端,支持系统级 Spotlight 聊天栏、截图捕获、一键说话,以及可选的本地 llama.cpp 推理。

快速入门(来自 README 的快速启动命令)

# Python 安装(需 Python 3.11)
pip install open-webui
open-webui serve   # → http://localhost:8080

# Docker(仅 CPU,Ollama 在主机)
docker run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --add-host=host.docker.internal:host-gateway \
  --name open-webui --restart always \
  ghcr.io/open-webui/open-webui:main

# Docker 搭载内置 Ollama(CPU)
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

# Docker 搭载 GPU(CUDA 镜像)
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:cuda

README 还提到了 Docker-Compose、Helm、Kustomize 以及用于排查连接问题的 --network=host 标志。


典型使用场景

  • 需要将数据保留在本地的团队的私有 LLM 玩具场。
  • 具备日历、调度和文档感知聊天的企业级 AI 助手。
  • 从内部文档、向量存储和实时网络搜索中获取数据的 RAG 驱动知识库。
  • 通过 Open Terminal 或 Computer 代理实现的 AI 驱动编码。
  • 使用内置竞技场和分析仪表板进行多模型评估。
  • 通过插件、OpenAPI 工具或社区构建技能实现自定义扩展。

许可与治理

仓库包含多个许可证。核心代码采用 Open WebUI 许可证(要求保留“Open WebUI”品牌)以及贡献组件的原始许可证。详细条款请见 LICENSE 和 LICENSE_HISTORY。


社区与支持


TL;DR

Open WebUI 是一个功能齐全的自托管 LLM Web UI,支持本地(Ollama)和云 API,提供企业级认证、RBAC、插件、RAG、代理执行终端,以及不断增长的配套工具生态系统。可通过单个 pip 命令或 Docker/Kubernetes 运行,是任何希望掌控 AI 堆栈的人的实用选择。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目