这是什么
Open WebUI 是一个自托管的 AI 对话网页,数据全在你自己手里。最早是给 Ollama 做前端的,现在也能接 OpenAI、Claude 等各种 API。配合 Ollama,模型跑在本地,界面跑在 Open WebUI,数据不出机器,不用月费。
装起来
最简安装(Docker)
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 一起部署(Docker Compose)
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
restart: always
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
volumes:
- open-webui_data:/app/backend/data
depends_on:
- ollama
restart: always
volumes:
ollama_data:
open-webui_data:
docker-compose up -d
第一步
- 浏览器打开
http://localhost:3000 - 注册账号——第一个注册的人自动是管理员
- 如果 Ollama 在本地跑着,它会自动检测到,直接用就行不需要额外配置
接不同的后端
连 Ollama(默认): 默认就能用,不需要配置。如果不是本机的 Ollama,在设置里改 Base URL。
连 OpenAI:
在设置填 API Key 和 Base URL(默认 https://api.openai.com/v1)。
连 Claude: 填 Anthropic API Key 就行。注意 Anthropic 的 API 地址不是 OpenAI 兼容格式,在设置里找到 Anthropic 的选项单填。
连其他兼容 OpenAI 格式的服务:
填 Base URL + API Key,任何 /v1/chat/completions 端点都能接。
日常会用到的功能
对话
- 同一个聊天里随时切换模型——比如先让 llama 写代码,再让 deepseek 审查
- Markdown 渲染、代码高亮、数学公式都支持
- 历史记录可搜索
- 编辑已发的消息,重新生成回复
- 从任意一条消息分叉出新对话
上传文档提问(RAG)
有时候你有一堆 PDF 或者代码文件,想问"这个文档里讲了什么"或"这个项目的架构是什么":
- 点"文档"上传 PDF、TXT、MD、CSV、代码文件等
- Open WebUI 自动把内容向量化存起来
- 聊天时关联文档,AI 回答会引用文档内容
比手动翻文件快多了。
模型管理
管理面板里能直接下载 Ollama 模型、删掉不用的、调每个模型的参数(temperature、context window、system prompt)。
提示词模板
把常用的 prompt 存成模板,下次一点就应用。比如"你是一个 SRE 工程师,请分析这段日志",不用每次重新打。
多用户
可以开多个账号,控制谁能用哪些模型。家里或小团队共享一台机器的时候有用——你老婆用 llama 聊天,你用 deepseek 写代码,互不干扰。
进阶配置
关键环境变量
| 变量 | 干嘛的 | 默认值 |
|---|---|---|
OLLAMA_BASE_URL |
Ollama 在哪 | http://localhost:11434 |
WEBUI_SECRET_KEY |
加密会话的 | 自动生成 |
ENABLE_SIGNUP |
允不允许新注册 | true |
WEBUI_NAME |
页面标题 | Open WebUI |
DEFAULT_USER_ROLE |
新用户默认角色 | pending |
关掉公开注册
不想让别人注册:
docker run ... -e WEBUI_AUTH=true ...
配 HTTPS
生产环境前挂一个 Nginx:
server {
listen 443 ssl;
server_name chat.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
备份
数据在 Docker volume 里:
# 备份
docker run --rm -v open-webui:/data -v $(pwd):/backup alpine \
tar czf /backup/open-webui-backup.tar.gz -C /data .
# 恢复
docker run --rm -v open-webui:/data -v $(pwd):/backup alpine \
tar xzf /backup/open-webui-backup.tar.gz -C /data
Web 搜索
可以接搜索引擎让 AI 查实时信息:
- SearXNG(自托管,推荐)
- Google PSE
- Brave Search
在管理面板 → 设置 → Web Search 配。
手机上用
- 确保服务监听在
0.0.0.0(Docker 默认就是这样) - 手机浏览器访问
http://<你电脑IP>:3000 - Safari/Chrome 里点"添加到主屏幕"
Open WebUI 支持 PWA,可以安装到桌面作为独立应用使用。
常见组合
| 工具 | 角色 |
|---|---|
| Ollama | 模型引擎 |
| Open WebUI | 聊天界面 |
| Claude Code / Codex CLI | 终端编程 Agent |
Ollama + Open WebUI 的组合可以搭建一套完全本地化的 AI 对话系统。
没了。如果你的 Ollama 已经在跑了,一个 Docker 命令就能把界面搭起来,试试看。