
什么是 Open WebUI?
Open WebUI 是一个可扩展的自托管 AI 平台,配置本地资源后可完全离线运行。它为本地 Ollama 模型、OpenAI 兼容 API,以及用于检索增强生成(通常称为 RAG)的内置推理引擎提供基于浏览器的界面。
你可以将其用作个人 AI 工作空间,也可以为团队部署。除对话功能外,该平台还包括笔记、共享频道、持久记忆、日历、定时自动化、图像生成集成、语音和视频通话、分析、模型评估以及细粒度访问控制。

主要功能
灵活的模型连接: 可同时使用本地 Ollama 模型和 OpenAI 兼容服务,例如 LMStudio、GroqCloud、Mistral、OpenRouter 和 vLLM。
本地 RAG: 可将文档添加到对话中,或使用
#命令从知识库检索文件。该平台支持混合搜索、重排序、多种提取引擎和九种向量数据库。模型与智能体: 可将基础模型与自定义指令、知识、工具、动态变量,以及用户或群组访问规则封装在一起。
可扩展性: 可添加 Filters、Actions、Pipes、Tools 和 Skills,或连接 MCP、MCPO 及 OpenAPI 工具服务器。
协作: 可使用笔记、实时频道、主题帖、回应、置顶、共享日历和 AI 辅助排程。
多模态: 可配置语音转文本、文本转语音、语音和视频通话,以及图像生成或编辑引擎。
管理: 可管理角色、群组、权限、身份验证、使用情况分析、模型评估、存储和可观测性。
灵活部署: 可通过 pip、uv、Docker、Docker Compose、Kubernetes、Kustomize 或 Helm 安装。
响应式界面: 可在桌面设备和移动设备上使用 Open WebUI,也可以将其安装为渐进式 Web 应用(PWA)。
选择安装方式
如需快速进行本地测试,请使用 pip 或 Docker。pip 可直接通过 Python 提供 Open WebUI 服务,而 Docker 可提供隔离部署,并可轻松选择标准镜像、支持 CUDA 的镜像或内置 Ollama 的镜像。
重要: 每条 Docker 命令都应挂载
open-webui:/app/backend/data。这个持久卷可在容器被替换或删除时保护数据库及其他应用数据。
方式一:使用 Python pip 安装
按照项目所述的 pip 安装方式,Open WebUI 需要 Python 3.11。继续操作前,请确认你的环境使用了正确的 Python 版本。
安装软件包:
pip install open-webui启动服务器:
open-webui serve在浏览器中打开 http://localhost:8080。
方式二:使用 Docker 运行 Open WebUI
连接主机上的 Ollama
如果 Ollama 已在运行 Docker 的同一台计算机上运行,请启动标准 Open WebUI 镜像并添加主机映射,使容器能够访问主机:
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。
连接另一台服务器上的 Ollama
将 OLLAMA_BASE_URL 设置为远程 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将 https://example.com 替换为实际的 Ollama 服务器 URL。
启用 NVIDIA GPU 支持
Open WebUI 提供带 CUDA 标签的镜像。在 Linux 或 WSL 上运行该镜像前,请先安装 NVIDIA CUDA 容器工具包:
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
如果不需要 Ollama,可将 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将 your_secret_key 替换为相应的凭据。Open WebUI 也可以连接其他 OpenAI 兼容 API,项目文档中提供了各服务提供商对应的配置说明。
在一个容器中运行 Open WebUI 和 Ollama
:ollama 镜像内置了 Open WebUI 和 Ollama。它使用一个卷存储 Ollama 模型,另一个卷存储 Open WebUI 应用数据。
使用 GPU 运行内置 Ollama
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 运行内置 Ollama
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容器启动后,打开 http://localhost:3000。
基本用法
打开界面: 使用 pip 安装时访问端口
8080,使用上述标准 Docker 命令时访问端口3000。使用可用模型: 选择通过已配置的 Ollama 或 OpenAI 兼容连接提供的模型并开始对话。
编写内容更丰富的提示词: 回答支持 Markdown 和 LaTeX,因此该界面适合生成结构化说明、代码、表格和数学公式。
跨设备继续使用: 响应式界面可在桌面设备和移动设备上运行,渐进式 Web 应用支持还可提供类似原生应用的体验。
通过 RAG 使用文档
可将文档直接添加到对话中,或使用 # 命令从资料库中检索文档。Open WebUI 可以提取内容并建立索引、检索相关段落,然后将其注入模型上下文。其 RAG 技术栈支持 BM25 与向量混合搜索、重排序和完整上下文模式。
对于更大规模的部署,支持的向量数据库包括 ChromaDB、PGVector、Qdrant、Milvus、Elasticsearch、OpenSearch、Pinecone、S3Vector 和 Oracle 23ai。
将网站内容引入对话
使用 # 命令并在其后添加 URL,即可将网站内容导入对话。还可以配置 Open WebUI,使模型在需要时获取网页内容。
比较多个模型
多模型对话允许你同时与多个模型交互。当你想比较推理能力、写作风格或不同服务提供商的表现时,这项功能非常实用。管理员还可以使用内置竞技场、A/B 测试和基于 ELO 的排行榜来评估模型。
高级配置技巧
创建专用模型和智能体
将基础模型与自定义指令、工具和知识相结合,即可创建专用智能体。动态变量以及按用户或群组设置的访问控制,可让你针对不同团队定制智能体。还可以从 Open WebUI Community 导入社区预设。
扩展平台
Open WebUI 支持 Filters、Actions、Pipes、Tools 和 Skills。可通过 MCP、MCPO 和 OpenAPI 工具服务器连接外部服务。这些扩展点可用于实现自定义集成、审批流程、速率限制和额外的数据连接。
规划团队和企业部署
对于多用户环境,可使用角色、群组和权限控制访问。Open WebUI 支持 LDAP 和 Active Directory 集成、基于可信请求头和 OAuth 的单点登录,以及面向 Okta、Azure AD 和 Google Workspace 等身份提供商的 SCIM 2.0 用户配置。
存储可使用 SQLite(可选择启用加密)或 PostgreSQL。文件可存储在本地,也可存储到 S3、Google Cloud Storage 或 Azure Blob Storage。基于 Redis 的会话和 WebSocket 支持可在负载均衡器后方实现多工作进程及多节点部署,而 OpenTelemetry 可提供追踪、指标和日志。
完全离线运行
在离线环境中运行 Open WebUI 时,请将 HF_HUB_OFFLINE 设置为 1,以防止系统尝试从互联网下载模型:
export HF_HUB_OFFLINE=1离线部署仍要求环境中已具备所有必要的模型、依赖项和本地服务。
谨慎尝试开发镜像
: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排查 Ollama 连接错误
一个常见的 Docker 问题是,Open WebUI 无法从容器内部访问位于 127.0.0.1:11434 或 host.docker.internal:11434 的 Ollama。在受支持的系统上,文档中提供的一种解决方法是使用主机网络:
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使用此命令后,应通过 http://localhost:8080 访问 Open WebUI,而不是使用端口 3000。
如果仍然无法连接,请确认 Ollama 正在运行、检查其地址,并查阅 Open WebUI 故障排除文档。Docker 环境可能需要额外的网络配置。
维护与安全
替换或升级部署时,请遵循官方更新指南。
升级期间请保持挂载持久化 Docker 卷,以免丢失应用数据。
请审查项目许可证及其许可证历史,因为该代码库包含采用多种许可证的组件,其中当前采用 Open WebUI 许可证的代码还包含品牌标识要求。
如发现疑似漏洞,请通过项目的 GitHub 负责任披露计划秘密报告,不要在公开社区渠道中发布。
总结
Open WebUI 提供了一个灵活的界面,可通过你控制的基础设施运行本地和托管 AI 模型。你可以先使用 Python 3.11 或持久化 Docker 部署,连接 Ollama 或 OpenAI 兼容 API,然后逐步扩展到 RAG、智能体、插件、协作、分析和可扩展的生产服务。如需了解更多部署选项,请参阅官方入门文档。
