Open WebUI

3天前更新 6 0 0

自托管AI平台,完全离线,ChatGPT级界面,Docker一键启动。

语言:
中文
收录时间:
2026-07-27
Open WebUIOpen WebUI
核心定位:自托管AI平台与ChatGPT级界面
开源协议:MIT
核心能力:完全离线,RAG,智能体,MCP,多用户
特色功能:知识库,文档上传,模型管理,插件
GPU 必需:否(纯前端,后端依赖Ollama等)

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持 Ollama 和兼容 OpenAI 的 API,使其成为适用于本地和云端模型且不绑定特定提供商的强大解决方案。

用户可以通过它获得 ChatGPT 级别的聊天体验,同时支持多模型对话、RAG 知识库、智能体、Python 工具调用、MCP 集成等高级功能。内置管道(Pipelines)插件框架,可通过 Python 函数、OpenAPI 或 MCP 服务器扩展任意能力。

多用户架构从第一天起就是原生的,支持 RBAC 角色权限、SSO/OIDC/LDAP 联合认证、SCIM 2.0 自动配置。MIT 协议,免费商用。

 

产品概述

Open WebUI 的设计哲学是”协议优先”——围绕 Ollama 和 OpenAI 兼容协议(特别是 Chat Completions)构建,因此成为一个强大的、不绑定特定供应商的 AI 部署解决方案,适用于本地和云端模型。

部署方式极其灵活:Docker 一条命令即可启动(默认映射 3000 端口),也支持 Python pip 安装、Kubernetes/Helm 生产编排、原生桌面应用。Docker 镜像提供多个变体::main(标准)、:cuda(NVIDIA GPU 支持)、:ollama(捆绑 Ollama 一体化)、:main-slim(精简版)。生产环境建议固定版本号(如 :v0.8.6)而非使用滚动更新的 :main

功能层面,Open WebUI 已远超”聊天界面”范畴,演变成一个完整的 AI 工作台:聊天支持多模型对比、文件/图像上传、网页搜索、代码执行、语音视频通话、图像生成;知识库支持 9 种向量数据库、BM25+向量混合搜索、5 种文档提取引擎、智能体检索;可扩展性方面支持 Python 工具、管道插件、MCP 原生流式 HTTP、OpenAPI 服务器自动发现工具;管理面提供使用分析、模型评估竞技场、Webhooks、OpenTelemetry 可观测性。水平扩展通过 Redis 支持的会话管理实现,支持多 Worker、多节点部署。

 

核心能力

  • 聊天与对话:与 Ollama/OpenAI/Anthropic/任意 OpenAI 兼容提供商聊天,对话中途切换模型保持上下文
  • 多模型聊天:同时运行两个模型并对比响应
  • 文件与图像上传:上传文档、图像、代码供 AI 分析
  • 网页搜索:AI 实时搜索网络并引用来源
  • 代码执行:浏览器内或通过 Open Terminal 运行 Python
  • RAG 知识库:9 种向量数据库(ChromaDB/PGVector/Qdrant/Milvus 等),BM25+向量混合搜索,跨编码器重排序
  • 智能体检索:模型自主搜索、浏览并整合整个知识库
  • 模型与智能体:模型预设、动态变量、绑定工具、访问控制
  • 笔记:富文本编辑器 + AI 增强 + 上下文注入
  • 频道:团队协作空间,@模型标记召唤任意 AI 参与对话
  • Open Terminal:为 AI 提供沙盒终端、文件浏览器和代码执行环境
  • 可扩展性:Python 工具、管道插件、MCP 支持、OpenAPI 服务器
  • 身份验证与访问控制:RBAC、SSO/OIDC/LDAP、SCIM 2.0、API 密钥
  • 管理功能:使用分析、模型评估竞技场、横幅公告、Webhooks
  • 随处部署:Docker/Kubernetes/pip/裸机,水平扩展,OpenTelemetry 可观测性

 

优势亮点

  • 100% 离线运行:所有数据本地存储,无外部请求,隐私性极强
  • ChatGPT 级用户体验:响应式设计 + PWA 渐进式 Web 应用,移动端原生应用般体验
  • 协议优先,不绑定供应商:Ollama + OpenAI 兼容 API,可同时对接本地和云端模型
  • 功能完整度最高:聊天、RAG、智能体、工具、MCP、管道、多用户、SSO 一应俱全
  • MIT 协议:免费商用,可自部署、可修改、可分发
  • 部署灵活:Docker 一条命令 / Python pip / Kubernetes / 原生桌面应用,全平台覆盖
  • 水平扩展能力:Redis 支持的会话管理,多 Worker、多节点部署,企业级就绪
  • 生态丰富:Open Terminal、oikb 知识库同步、mcpo(MCP 到 OpenAPI 代理)、原生桌面应用
  • 9 种向量数据库支持:ChromaDB/PGVector 官方维护,Qdrant/Milvus/Elasticsearch 等社区可选
  • 企业级权限:RBAC + SSO/OIDC/LDAP + SCIM 2.0,可与任何身份提供商联合认证

 

短板

  • 本身不做推理:必须对接 Ollama/vLLM/LM Studio 等后端推理引擎,或接入云端 OpenAI 兼容 API
  • 资源占用高于纯前端:虽轻量但全功能栈(含 RAG 向量库)比简单聊天界面吃内存,2核4G 是底线
  • 功能繁多导致上手成本:智能体、管道、MCP、知识库等概念需要一定学习曲线
  • 多用户权限配置复杂:RBAC/SSO/LDAP/SCIM 全套企业特性配置门槛较高
  • 与后端推理引擎耦合:后端推理性能瓶颈直接决定 Open WebUI 的体验上限
  • Docker 部署需注意 WebSocket:网络配置需允许 WebSocket 连接,否则功能异常

 

适用人群

已在本地部署 Ollama/vLLM/LM Studio 的用户(最需要统一界面)、需要 ChatGPT 级体验但要求数据不出本机的个人和团队、隐私敏感企业、需要 RAG 知识库和智能体的开发者、需要多用户权限管理的组织、Kubernetes 生产部署团队。

 


安装与快速开始

 

Step 1: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

启动后访问 http://localhost:3000,首次注册的账号即为管理员。

NVIDIA GPU 支持

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

捆绑 Ollama 一体化(无需本机预装 Ollama):

# 带 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
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 run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:v0.8.6

镜像标签说明::main 标准镜像(推荐);:main-slim 更小体积,首次使用下载所需模型;:cuda NVIDIA GPU 支持;:ollama 捆绑 Ollama 一体化部署。Docker Hub(openwebui/open-webui)与 GitHub Container Registry 镜像内容相同。

 

Step 2:Python pip 安装(低资源环境)

pip install open-webui
open-webui serve

启动后访问 http://localhost:8080

或使用 uv:

curl -LsSf https://astral.sh/uv/install.sh | sh
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve

 

Step 3:对接模型后端

对接本机 Ollama:Docker 部署时用 --add-host=host.docker.internal:host-gateway 参数,Open WebUI 自动识别 localhost:11434 的 Ollama 服务。

连接其他服务器的 Ollama

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

对接 vLLM 等 OpenAI 兼容 API:在 Open WebUI 管理后台 → Connections → OpenAI → 添加连接,填写:

  • API URL:http://localhost:8000/v1(vLLM 服务地址)
  • API Key:vLLM 启动时的 --api-key
  • 保存后,vLLM 提供的模型自动出现在模型选择器

单用户模式(禁用登录)

docker run -d -p 3000:8080 -e WEBUI_AUTH=False -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

 

Step 4:调用后端 API(任选一种方式)

Open WebUI 本身作为前端工作台,调用的是后端推理引擎(如 vLLM)暴露的 OpenAI 兼容 API。

curl 调用 vLLM(经 Open WebUI 对接)

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer token-abc123" \
  -d '{
    "model": "Qwen/Qwen2.5-1.5B-Instruct",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Python 调用

from openai import OpenAI

# 对接 vLLM 后端
client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="token-abc123"
)

response = client.chat.completions.create(
    model="Qwen/Qwen2.5-1.5B-Instruct",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)

在 Open WebUI 的聊天界面里,你只需在模型选择器切换已配置的模型即可对话,无需手写 API 调用。上述 API 调用示例用于程序化集成场景。

 

硬件配置参考

部署规模 推荐配置
个人使用(对接 Ollama) 2核4G,Open WebUI 自身轻量;推理性能取决于 Ollama 后端的硬件
小团队(5-10 人) 4核8G + 后端推理 GPU(如 RTX 4090)
企业部署 Kubernetes 集群 + 多 GPU 推理节点 + PostgreSQL + Redis + 对象存储
生产环境 固定版本镜像 + 数据卷持久化 + 反向代理(Nginx)+ TLS 证书

*最佳实践:首次部署用 :main:ollama 快速验证;生产环境固定版本号(如 :v0.8.6);数据卷 -v open-webui:/app/backend/data 务必挂载以防数据丢失;Docker 环境需允许 WebSocket 连接;GPU 场景下推理性能取决于所对接的后端引擎(Ollama/vLLM 等)。

相关导航