自己搭一个"私人版 ChatGPT":Open WebUI 一条命令部署 + 接入本地/云端模型保姆级教程
适合人群:想要一个界面好看、数据存在自己电脑上的 AI 聊天工具的同学;想统一管理多个模型的折腾爱好者。需要会复制粘贴命令,不需要写代码。
一、为什么要自己搭
X 上 @ihteshamali 最近整理了一份"在付费订阅另一个 AI 服务之前值得先试试的 15 个开源工具",获得 60+ 点赞、80+ 收藏。排在前两位的就是 Ollama 和 Open WebUI。原帖也很客观地提醒:大部分工具可以自托管,但部分功能或托管服务仍可能收费,使用前要看清许可证和硬件要求。
Open WebUI 是什么?简单说,它是一个开源的、自托管的 AI 聊天界面,长得和常见的 AI 聊天网页很像:左边是对话列表,中间是聊天区,可以切换模型、上传文件提问。它本身不带模型,而是去连接你的模型来源:
- 本地模型运行工具(比如 Ollama、LM Studio 等);
- 任何 OpenAI 兼容的 API 服务(填入网址和密钥即可)。
这样做的好处是:聊天记录、设置都存在你自己的电脑上;可以在一个界面里同时使用多个模型;家里或团队里的其他人也可以通过浏览器访问(需要你自己做好安全设置)。
本文严格按照 Open WebUI 官方快速入门文档,带你完成部署。
二、准备工作
根据官方文档,Open WebUI 支持 macOS、Linux(x86_64 和 ARM64)和 Windows,安装方式主要有:
- Docker:官方支持并推荐给大多数用户;
- Python:适合资源有限或想手动安装的环境(官方说明支持 Python 3.11 和 3.12,暂不支持 3.13);
- 桌面应用:官方 GitHub 提供桌面版,不需要 Docker。
本文以最推荐的 Docker 方式为例。你需要:
- 安装 Docker Desktop(Windows 用户官方建议配合 WSL 2 使用);
- 准备一个模型来源:本地模型工具,或某个 AI 服务的 API 密钥。
三、保姆级部署步骤
补充:Windows 用户先把 Docker 装好
很多 Windows 新手卡在第一步:Docker 都还没装好。官方文档给出了在 WSL 环境下使用 Docker 的步骤,整理如下:
- 安装 WSL:按照微软官方文档安装 Windows 子系统 Linux(WSL)。安装完成后,开始菜单里会出现一个 Linux 发行版(比如 Ubuntu)。
- 安装 Docker Desktop :从 Docker 官网下载安装包,安装过程中选择 WSL 2 作为后端。
- 开启 WSL 集成:打开 Docker Desktop,进入 Settings → Resources → WSL Integration,勾选"Enable integration with my default WSL distro"。如果你用的不是默认发行版,在列表里把它也勾上。
- 在 WSL 终端里运行命令:官方特别提醒,后续的 docker 命令要在 WSL 终端中执行,而不是在 PowerShell 或命令提示符里。
装好之后,在 WSL 终端里输入 docker --version,能看到版本号就说明安装成功,可以继续下面的步骤了。
步骤 1:生成一个固定的密钥
官方特别提醒:要设置一个固定的 WEBUI_SECRET_KEY,否则每次重建容器时所有人都会被登出。在终端里运行:
bash
openssl rand -hex 32
把输出的一长串字符复制下来备用。(Windows 上如果没有 openssl,可以在 WSL 终端中运行。)
步骤 2:一条命令启动 Open WebUI
把下面命令中的 your-secret-key 替换成上一步生成的字符串,然后运行:
bash
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main
各个参数是什么意思(来自官方说明):
| 参数 | 作用 |
|---|---|
-p 3000:8080 |
在你电脑的 3000 端口访问界面,被占用可以改左边的数字 |
-v open-webui:/app/backend/data |
聊天记录、用户和设置都存在这个数据卷里,升级不会丢,千万不要省略 |
--add-host=host.docker.internal:host-gateway |
让容器能访问你电脑上运行的模型服务 |
--restart always |
电脑重启后自动启动 |
小贴士:如果你只打算连接云端 API、不需要本地语音识别和文档向量化,官方提供了体积小得多的
:slim镜像(官方数据约 196 MB,标准版约 1.62 GB),把命令末尾的:main换成:slim即可。但 slim 版处理 PDF、本地语音等功能需要额外配置外部服务,新手建议先用标准版。
步骤 3:打开界面,创建管理员账号
浏览器访问 http://localhost:3000。首次启动可能需要等一分钟左右。
如果页面打不开,运行 docker logs -f open-webui 查看日志,等出现 Application startup complete 字样再刷新。
首个页面会提示 "Create Admin Account",第一个注册的账号就是管理员,可以管理所有用户和全局设置。官方提醒:一定要记住管理员密码。另外,管理员账号创建后注册功能会自动关闭,如果想让家人或同事加入,需要到设置中手动开启新用户注册,并在后台审批。
步骤 4:连接模型
Open WebUI 自己没有模型,需要你连接一个。进入:头像 → Settings(设置)→ Admin(管理员)→ Connections(连接)。
方式 A:连接本机的 Ollama
官方说明,如果 Ollama 运行在同一台电脑上,Docker 版会自动通过 http://host.docker.internal:11434 找到它。管理员可以在新对话的模型选择器中输入模型名并确认拉取。
方式 B:连接 OpenAI 兼容的 API
点击 "Manage OpenAI API Connections" 旁边的加号,填写服务商的 API 地址(例如 OpenAI 是 https://api.openai.com/v1)和你的 API 密钥,保存后模型会自动列出。
方式 C:连接其他本地模型服务
像 LM Studio 这类工具也提供 OpenAI 兼容的本地服务(下一篇文章会详细介绍),同样可以按方式 B 添加,地址填写该工具界面上显示的本地服务地址。注意从 Docker 容器里访问本机服务时,要把 localhost 换成 host.docker.internal。
步骤 5:发送第一条消息
点击 New Chat,在输入框里选择模型,输入问题,回车。还可以直接把文件拖进聊天框,针对文件内容提问。
四、常见问题 FAQ
Q1:模型列表是空的?
官方排错建议:如果 Open WebUI 跑在 Docker 里,而 Ollama 跑在宿主机上,Ollama 需要监听 0.0.0.0 才能被容器访问;如果用的是 API 服务,检查网址和密钥是否正确,有些服务商不提供模型列表,需要手动填写模型 ID。
Q2:3000 端口被占用?
把命令中 -p 3000:8080 左边的 3000 改成别的端口,比如 -p 3001:8080,然后访问对应端口。
Q3:怎么升级到新版本?
官方的手动升级方法是:
bash
docker rm -f open-webui
docker pull ghcr.io/open-webui/open-webui:main
然后用同样的命令、同样的密钥重新启动容器。数据在数据卷里,不会丢失。官方建议升级前先备份数据卷。
Q4:怎么彻底卸载?
docker rm -f open-webui 删除容器;如果连数据也不要了,再执行 docker volume rm open-webui(这会删除所有聊天记录,请谨慎)。
Q5:可以让局域网里其他设备访问吗?
可以,但官方建议在对外开放前先阅读其安全加固指南。不要在没有任何防护的情况下直接暴露到公网。
五、进阶小技巧
- 固定版本号 :生产环境或给家人用,官方建议使用具体版本号的镜像标签,而不是一直跟随
:main,避免升级带来意外变化。 - 文档问答:在对话中上传文件即可提问,适合查阅说明书、读论文。
- 多模型对比:同一个问题切换不同模型回答,选出最适合你任务的那个。
- 关闭不需要的外联 :官方文档列出了默认会发起的外部请求(比如版本检查),可以通过环境变量关闭,比如
ENABLE_VERSION_UPDATE_CHECK=false。 - 保管好 API 密钥:连接云端服务时,密钥等同于你的钱包,不要截图外传。
实用场景:搭好之后可以用来做什么
部署完成只是开始,下面几个场景能让你的"私人 AI 聊天助手"真正派上用场:
- 家庭共享:给家人各开一个账号,大家用同一套模型,聊天记录互不干扰。老人孩子用浏览器就能访问,不需要每个人都去注册各种 AI 服务。
- 资料问答:把产品说明书、合同模板、学习资料拖进对话,让模型帮你查找条款、总结要点。重要结论记得回到原文核对。
- 模型横评:同一个问题分别用本地小模型和云端大模型回答,你会直观感受到它们在速度、质量、成本上的差别,从而决定哪些任务交给本地、哪些交给云端。
- 离线环境:出差、坐车网络不好的时候,如果连接的是本地模型,依然可以正常使用基础的问答和写作功能。
六、Open WebUI 适合谁、不适合谁
适合:
- 同时在用多个模型,希望统一入口的人;
- 重视数据保存在本地的人;
- 想给家人或小团队提供一个共用 AI 聊天界面的人。
不太适合:
- 完全不想碰命令行的人(可以考虑官方桌面版);
- 电脑配置较低、又想跑大模型的人(这时更建议连接云端 API)。
安全提醒:自托管不等于"绝对安全"
自己部署的好处是数据在自己手里,但这也意味着安全责任在你自己身上。几个基本原则:
- 管理员密码要足够复杂,不要和其他网站共用。
- 不要随意开放注册。需要给别人用时,手动开启注册并逐个审批,用完再关闭。
- 只在局域网内使用是最省心的做法。如果确实需要外网访问,务必先阅读官方的安全加固文档,并使用可靠的反向代理和 HTTPS。
- 定期备份数据卷,尤其是升级之前。官方提供了专门的备份与恢复指南。
- 谨慎安装社区插件。Open WebUI 支持工具和函数插件,它们本质上是会运行的代码,安装前请确认来源可信。
做好这几点,你的私人 AI 助手才能用得安心。
七、总结
部署 Open WebUI 只需要四步:生成密钥 → 一条 Docker 命令启动 → 创建管理员账号 → 连接模型。十几分钟,你就拥有了一个界面友好、数据自主的"私人版 AI 聊天助手"。下一步,可以搭配本地模型工具,打造一个完全离线的 AI 工作台。
参考资料
- X 原帖(@ihteshamali):https://x.com/ihteshamali/status/2108612708816068862
- Open WebUI 官方快速入门:https://docs.openwebui.com/getting-started/quick-start/
- Open WebUI GitHub:https://github.com/open-webui/open-webui
- Docker Desktop 下载:https://www.docker.com/products/docker-desktop/