跳到主要内容

Open WebUI

Open WebUI 是一个可扩展、功能丰富、用户友好的自托管 AI 平台,旨在完全离线运行。 它围绕通用标准构建,支持 OllamaOpenAI 兼容协议(特别是聊天补全)。这种协议优先的方法使其成为一个强大的、与提供商无关的 AI 部署解决方案,适用于本地和基于云的模型。

Open WebUI Banner

对开源 AI 充满热情? 加入我们的团队 →

GitHub stars GitHub forks GitHub watchers GitHub repo size GitHub language count GitHub top language GitHub last commit Discord Image Description

Open WebUI Demo

提示

正在寻找企业版计划立即与我们的销售团队联系!

获得增强功能,包括自定义主题和品牌服务水平协议 (SLA) 支持长期支持 (LTS) 版本等!

赞助商Open WebUI Inc.
Open WebUI Inc.

升级到许可计划以获得增强功能,包括自定义主题和品牌,以及专属支持。

使用 Docker 快速入门 🐳

信息

Open WebUI 正常运行需要 WebSocket 支持。请确保您的网络配置允许 WebSocket 连接。

如果 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

要运行支持 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

对于存储或带宽有限的环境,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-slim

捆绑 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,确保您能迅速启动并运行所有内容。

安装完成后,您可以通过 https://:3000 访问 Open WebUI。尽情享受吧!😄

在生产环境中使用镜像标签

如果您想始终运行最新版本的 Open WebUI,可以根据您的设置使用 :main:cuda:ollama 镜像标签,如上例所示。对于稳定性​​和可重复性很重要的生产环境,建议固定特定的发布版本,而不是使用这些浮动标签。版本化镜像遵循此格式

ghcr.io/open-webui/open-webui:<RELEASE_VERSION>-<TYPE>

示例(仅用于说明的固定版本)

ghcr.io/open-webui/open-webui:v0.8.0
ghcr.io/open-webui/open-webui:v0.8.0-ollama
ghcr.io/open-webui/open-webui:v0.8.0-cuda

使用开发分支 🌙

帮助我们构建更好的软件!

我们鼓励用户运行开发分支! 测试开发版本是为 Open WebUI 做出贡献的最有价值的方式之一。通过运行最新的开发版本,您可以帮助我们及早发现错误、验证新功能并确保所有人都能获得稳定的发布。

没有社区测试,我们就无法提供高质量的软件。 如果问题仅在稳定发布后才发现,这会给所有人带来糟糕的体验。您在开发分支上的反馈直接改进了下一个版本。

:dev 分支包含最新功能和更改,在它们达到稳定版本之前。虽然它偶尔可能存在错误或不完整的功能,但它通常可用于日常测试。

标准开发镜像

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:dev

精简变体(不包括捆绑模型)

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:dev-slim

如何帮助

  • 在测试实例上运行开发镜像(而不是您的主要生产设置)
  • 定期更新——开发分支发展迅速!经常拉取最新镜像或参阅下面的更新 Open WebUI
  • GitHub 上报告问题,并提供清晰的复现步骤
  • 加入我们的 Discord 讨论发现
替代方案:本地开发设置

如果 Docker 不适用于您的环境,您还可以使用本地开发指南运行最新的开发代码。相反,如果您更喜欢 Docker 而不是本地设置,那么开发镜像​​是测试最简单的方式。

不要与生产环境共享数据

切勿在开发和生产设置之间共享数据库或数据卷。 开发版本可能包含不向后兼容的数据库迁移。如果开发迁移在您的生产数据上运行,而您后来需要回滚,您的生产设置可能会中断。

始终使用单独的数据卷(例如 -v open-webui-dev:/app/backend/data)进行测试。

更新 Open WebUI

要轻松更新 Open WebUI 容器,请按照以下步骤操作

手动更新

使用 Watchtower 手动更新您的 Docker 容器

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower --run-once open-webui

自动更新

每 5 分钟自动更新您的容器

docker run -d --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower --interval 300 open-webui

🔧 注意:如果您的容器名称不同,请将 open-webui 替换为您的容器名称。

手动安装

信息

平台兼容性

Open WebUI 适用于 macOS、Linux(x86_64 和 ARM64,包括 Raspberry Pi 和其他 ARM 板,如 NVIDIA DGX Spark)以及 Windows。

安装和运行 Open WebUI 的主要有两种方式:使用 uv 运行时管理器或 Python 的 pip。虽然这两种方法都有效,但我们强烈建议使用 uv,因为它简化了环境管理并最大程度地减少了潜在冲突。

uv 运行时管理器可确保为 Open WebUI 等应用程序无缝管理 Python 环境。请按照以下步骤开始

1. 安装 uv

为您的操作系统选择适当的安装命令

  • macOS/Linux:

    curl -LsSf https://astral.org.cn/uv/install.sh | sh
  • Windows:

    powershell -ExecutionPolicy ByPass -c "irm https://astral.org.cn/uv/install.ps1 | iex"

2. 运行 Open WebUI

安装 uv 后,运行 Open WebUI 轻而易举。使用以下命令,确保设置 DATA_DIR 环境变量以避免数据丢失。为每个平台提供了示例路径

  • macOS/Linux:

    DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
  • Windows:

    $env:DATA_DIR="C:\open-webui\data"; uvx --python 3.11 open-webui@latest serve
注意

支持 PostgreSQL

默认安装现在使用精简包。如果您需要 PostgreSQL 支持,请安装所有可选依赖项

pip install open-webui[all]

使用 pip 安装

对于使用 Python 包管理器 pip 安装 Open WebUI 的用户,强烈建议使用 Python 运行时管理器,例如 uvconda。这些工具可有效管理 Python 环境并避免冲突。

Python 3.11 是开发环境。Python 3.12 似乎可以工作,但尚未经过彻底测试。Python 3.13 完全未经测试,并且一些依赖项尚不适用于 Python 3.13——请自行承担风险

  1. 安装 Open WebUI:

    打开您的终端并运行以下命令

    pip install open-webui
  2. 启动 Open WebUI:

    安装后,使用以下命令启动服务器

    open-webui serve

更新 Open WebUI

要更新到最新版本,只需运行

pip install --upgrade open-webui

此方法安装所有必要的依赖项并启动 Open WebUI,实现简单高效的设置。安装后,您可以通过 https://:8080 访问 Open WebUI。尽情享受吧!😄

其他安装方法

我们提供各种安装替代方案,包括非 Docker 原生安装方法、Docker Compose、Kustomize 和 Helm。请访问我们的 Open WebUI 文档或加入我们的 Discord 社区以获取全面指导。

继续阅读完整的入门指南

桌面应用程序

我们还有一个实验性桌面应用程序,目前正处于开发中 (WIP)。虽然它提供了一种方便的方式,可以在您的系统上原生运行 Open WebUI,而无需 Docker 或手动设置,但它尚未稳定

👉 为了稳定性和生产使用,我们强烈建议通过 DockerPython(uvpip安装。

赞助商 🙌

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

鸣谢 🙏

我们深切感谢以下机构提供的慷慨资助