目录
Open WebUI 教程:为 Ollama 添加类似 ChatGPT 的网页界面
终端对话很方便,但要分享给家人或同事使用,就需要一个网页界面。Open WebUI 是最受欢迎的开源选择之一,界面和 ChatGPT 很像,而且功能丰富:
- 对话记录、多模型切换、Markdown 与代码显示
- 上传文档,让模型根据文档回答(内置 RAG)
- 多用户账号与权限管理
- 自定义模型(系统提示词、参数)
- 支持 Ollama,也支持 OpenAI 兼容的 API
使用 Docker 安装(推荐)
如果 Ollama 已经安装在本机:
docker run -d --name open-webui \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--restart always \
ghcr.io/open-webui/open-webui:main
打开 http://localhost:3000。首次打开时创建的账号会成为管理员。
--add-host=host.docker.internal:host-gateway:让容器可以连接到主机上的 Ollama(Linux 需要;Docker Desktop 本身就支持这个名称)。-v open-webui:/app/backend/data:保存账号、对话记录与设置。
如果想让 Ollama 和 Open WebUI 都在 Docker 中运行,请使用使用 Docker 运行 Ollama中的 Compose 示例。
使用 pip 安装
如果不想使用 Docker(需要 Python 3.11):
pip install open-webui
open-webui serve
默认网址是 http://localhost:8080。
无法连接 Ollama?
进入管理员设置 → 连接,确认 Ollama API 的地址:
| 情况 | 地址 |
|---|---|
| Open WebUI 在 Docker 中、Ollama 在主机上 | http://host.docker.internal:11434 |
| 两者都在同一个 Compose 中 | http://ollama:11434 |
| 两者都直接安装在主机上 | http://localhost:11434 |
| Ollama 在另一台电脑上 | http://那台电脑的IP:11434(该电脑需设置 OLLAMA_HOST=0.0.0.0) |
在 Linux 上,主机上的 Ollama 默认只监听 127.0.0.1,容器可能无法连接。可以将 OLLAMA_HOST 设为 0.0.0.0(并使用防火墙限制外部连接),或使用 --network host 运行 Open WebUI,此时网址改为 http://localhost:8080。
基本使用
- 在左上角选择模型。已下载的 Ollama 模型会自动显示。
- 管理员也可以在模型菜单中直接输入名称下载新模型(例如
qwen3:8b)。 - 对话记录会保存在左侧栏中。
上传文档问答
在对话框中点击 + 上传 PDF、Word 或文本文件,然后直接询问文档内容。Open WebUI 会自动切块、生成嵌入并检索相关段落。
如果想长期使用同一批文档,可以在工作区 → 知识库中创建知识库,对话时使用 # 引用。
建议在管理员设置 → 文档中将嵌入模型改为多语言模型(例如通过 Ollama 使用 bge-m3),这样检索中文文档的效果会更好。原理说明见文本嵌入与 RAG。
自定义模型
在工作区 → 模型 → 新增中,可以基于任一模型进行设置:
- 系统提示词(例如“始终使用简体中文”)
- 参数(temperature、上下文长度)
- 默认绑定的知识库
创建好的模型会显示在所有用户的模型菜单中,例如“客服助手”“代码审查”。
多人使用
- 管理员设置 → 用户:新用户注册后默认处于“待审核”状态,管理员批准后才能使用。
- 可以设置用户组,以及每个组可以使用哪些模型。
- 如果要让局域网内的其他人使用,请让他们访问
http://你的电脑IP:3000。
如果要开放到互联网,请在前面配置 HTTPS 反向代理,并关闭公开注册。
更新
docker pull ghcr.io/open-webui/open-webui:main
docker rm -f open-webui
# 使用原来的 docker run 命令重新创建;Volume 中的数据不会丢失
常见问题
模型列表为空
Open WebUI 无法连接 Ollama,请按照上方“无法连接 Ollama?”检查地址。可以在容器内测试:
docker exec open-webui curl -s http://host.docker.internal:11434/api/tags
回答很慢
Open WebUI 只是界面,速度取决于 Ollama 和你的硬件,请参阅 GPU 与性能调优。
忘记管理员密码
管理员密码保存在 Volume 中的数据库里。最简单的方法是让其他管理员重置;如果只有一个管理员,请参阅 Open WebUI 官方文档中的重置密码说明。
更新于 2026年10月12日