## 项目概述

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台，旨在完全离线运行。它支持多种 LLM 运行器，如 Ollama 和 OpenAI 兼容 API，并内置 RAG 推理引擎，是一个强大的 AI 部署解决方案。项目主要使用 Python 编写，提供 Web 界面，支持多种部署方式。

## 核心功能

- **无缝安装**：支持 pip、uv、Docker、Kubernetes 等多种安装方式，并提供 `:ollama` 和 `:cuda` 标签的容器镜像。
- **广泛模型与 API 集成**：可连接任何 OpenAI 兼容 API 以及本地 Ollama 模型，支持 LMStudio、GroqCloud、Mistral、OpenRouter、vLLM 等。
- **细粒度 RBAC 与用户组**：管理员可定义角色、组和权限，实现安全默认和个性化体验。
- **插件支持**：通过 Filters、Actions、Pipes、Tools、Skills 扩展，支持 MCP、MCPO、OpenAPI 工具服务器。
- **模型与智能体**：包装基础模型，添加自定义指令、工具和知识，构建专用智能体。
- **笔记与频道**：提供笔记工作区，支持实时共享频道，团队与 AI 协作。
- **持久记忆**：AI 跨对话记住用户事实，保持上下文。
- **实时工作流与消息流**：实时查看 AI 构建和检查清单，消息排队自动发送。
- **日历与 AI 调度**：内置个人和共享日历，支持重复事件、颜色编码、提醒，模型可通过函数调用管理日程。
- **自动化**：定时运行提示词，结果在日历上显示。
- **响应式设计与 PWA**：支持桌面、笔记本、移动端，提供渐进式 Web 应用体验。
- **Markdown 与 LaTeX 支持**：全面支持 Markdown 和 LaTeX。
- **语音/视频通话**：集成多种语音转文本和文本转语音引擎。
- **持久化工件存储**：内置键值存储 API，支持日志、追踪器等。
- **本地 RAG 集成**：支持 9 种向量数据库和多种内容提取引擎，混合搜索和重排序。
- **Web 搜索与浏览**：支持多种搜索提供商，可将网页内容注入对话。
- **图像生成与编辑**：支持 OpenAI DALL·E、Gemini、ComfyUI、AUTOMATIC1111 等引擎。
- **多模型对话**：同时与多个模型并行对话。
- **使用分析与模型评估**：管理员仪表盘跟踪消息量、token 消耗和成本，内置竞技场和 ELO 排行榜。
- **灵活数据库与存储**：支持 SQLite（可选加密）或 PostgreSQL，文件可存储本地或 S3、GCS、Azure Blob。
- **高级向量数据库支持**：支持 ChromaDB、PGVector、Qdrant、Milvus、Elasticsearch、OpenSearch、Pinecone、S3Vector、Oracle 23ai。
- **企业认证与供应**：支持 LDAP/AD、SSO、SCIM 2.0。
- **云原生文件集成**：原生支持 Google Drive 和 OneDrive/SharePoint 文件选择。
- **生产可观测性**：内置 OpenTelemetry 支持。
- **水平扩展**：基于 Redis 的会话管理和 WebSocket 支持多工作节点部署。
- **多语言支持**：i18n 国际化。
- **持续更新**：定期更新、修复和新功能。
- **透明安全流程**：通过文档化的负责任披露流程处理安全报告。

## 适用与不适用场景

**适用场景**：
- 希望自托管 AI 聊天界面，完全离线运行。
- 需要连接多种 LLM 提供商（Ollama、OpenAI 兼容 API）的统一界面。
- 需要细粒度权限控制的企业内部 AI 平台。
- 需要 RAG、Web 搜索、图像生成等高级功能的团队。
- 需要水平扩展和高可用部署的生产环境。

**不适用场景**：
- 需要托管云服务的用户（Open WebUI 是自托管应用）。
- 需要内置商业支持 SLA 的用户（除非购买企业版）。
- 需要移动原生应用的用户（提供 PWA，但非原生）。
- 需要完全无代码配置的用户（需要一定技术知识）。

## 技术架构与依赖

- **语言**：Python（后端）和 JavaScript/TypeScript（前端）。
- **框架**：后端可能使用 FastAPI 或类似框架，前端可能使用 Svelte 或 React（仓库资料未提供具体框架）。
- **依赖**：Ollama、OpenAI API、向量数据库（ChromaDB、PGVector 等）、Redis、SQLite/PostgreSQL、OpenTelemetry 等。
- **部署**：支持 Docker、Kubernetes、pip、uv。
- **许可证**：仓库显示 NOASSERTION，但 README 提到多许可证，包括 Open WebUI License 和先前贡献的许可证，详见 LICENSE 和 LICENSE_HISTORY 文件。

## 安装与快速开始

### 使用 pip 安装

确保使用 Python 3.11，然后运行：

```bash
pip install open-webui
open-webui serve
```

访问 http://localhost:8080。

### 使用 Docker 快速开始

**如果 Ollama 在本地计算机上**：

```bash
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 在另一台服务器上**：

```bash
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
```

**仅使用 OpenAI API**：

```bash
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 支持**：

- 带 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`

访问 http://localhost:3000。

**注意**：使用 Docker 时务必挂载 `-v open-webui:/app/backend/data` 以防数据丢失。

## 典型使用方法

- **连接模型**：在设置中添加 Ollama 或 OpenAI 兼容 API 端点。
- **创建智能体**：在模型管理中包装基础模型，添加指令、工具和知识。
- **使用 RAG**：将文档加载到聊天中，或使用 `#` 命令从库中拉取文档。
- **Web 搜索**：配置搜索提供商，在对话中注入搜索结果。
- **多模型对话**：同时选择多个模型进行并行对话。
- **语音通话**：启用语音/视频通话，配置语音转文本和文本转语音引擎。
- **自动化**：创建定时任务，自动运行提示词。
- **管理用户**：通过管理面板设置角色、组和权限。

## 配置与部署要点

- **环境变量**：`OLLAMA_BASE_URL`、`OPENAI_API_KEY`、`HF_HUB_OFFLINE` 等。
- **数据库**：默认 SQLite，可配置 PostgreSQL。
- **向量数据库**：选择 9 种之一，如 ChromaDB、PGVector 等。
- **存储**：本地文件或 S3、GCS、Azure Blob。
- **水平扩展**：使用 Redis 进行会话管理，多节点部署。
- **安全**：启用 RBAC，限制工具权限，遵循安全政策。
- **离线模式**：设置 `HF_HUB_OFFLINE=1` 防止下载模型。
- **更新**：定期更新 Docker 镜像或 pip 包。

## 限制、风险与许可证

- **限制**：需要技术知识进行部署和维护；某些功能可能需要额外配置或依赖。
- **风险**：自托管应用需自行负责安全更新；插件执行用户代码可能带来安全风险，需谨慎授权。
- **许可证**：仓库显示 NOASSERTION，但 README 提到多许可证，包括 Open WebUI License 和先前贡献的许可证，详见 LICENSE 和 LICENSE_HISTORY 文件。

## 官方链接

- GitHub 仓库：https://github.com/open-webui/open-webui
- 文档：https://docs.openwebui.com/
- Discord 社区：https://discord.gg/5rJgQTnV4s
- 最新版本：v0.11.0（发布于 2026-07-27）

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、SECURITY.md、最新发布信息。
- 分析时间：2026-07-27（基于最新发布信息）。