3 步在 NAS 跑通 Open WebUI:把 5+ 个 LLM API 装进同一个聊天窗口,告别切来切去

· 小白基础技术分享

GPT-5.1、Claude Sonnet 4.5、Gemini 2.5 Pro、DeepSeek、文心 4.0、Qwen3-Max——你手机上是不是装了 5 个 AI App,每天在 5 个 App 之间切来切去?今天这篇教程,3 步、约 15 分钟,教你用 Docker Compose 在家里 NAS(或任何 Linux 机器)部署 Open WebUI,把所有 LLM API 装进同一个聊天窗口,还能记住所有对话历史。

3 步在 NAS 跑通 Open WebUI:把 5+ 个 LLM API 装进同一个聊天窗口,告别封面

Open WebUI(曾用名 Ollama WebUI)是 GitHub 上 11 万⭐ 的开源项目,最新版本 v0.6.x。它原本是 Ollama 的 Web 界面,但现在已经支持**任意 OpenAI 兼容 API**——包括 Azure OpenAI、Anthropic Claude、Google Gemini、OpenRouter、本地 Ollama、自部署 vLLM。

前置条件

一台 Linux 机器:群晖、威联通、unRAID、树莓派 5、Mac mini 都可以

Docker + Docker Compose:群晖自带 Container Manager,威联通自带 Container Station

至少 2GB 可用内存:Open WebUI 本身只占 300-500MB

至少一个 LLM API key:OpenRouter 一张 key 就能通 100+ 模型,最适合做”网关”

第 1 步:写 docker-compose.yml(5 分钟)

新建 `/volume1/docker/openwebui/docker-compose.yml`:

version: "3.9"

services:
  openwebui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: openwebui
    restart: unless-stopped
    ports:
      - "3000:8080"   # 本机 3000 端口映射到容器 8080
    volumes:
      - openwebui-data:/app/backend/data   # 持久化数据库
    environment:
      # 多 API key 都在这里配置,下面会展开
      - OPENAI_API_KEY=sk-or-v1-xxxx   # OpenRouter key 即可
      - OPENAI_API_BASE_URL=https://openrouter.ai/api/v1
      - ANTHROPIC_API_KEY=sk-ant-xxxx
      - ANTHROPIC_API_BASE_URL=https://api.anthropic.com
      - GOOGLE_API_KEY=AIzaSyXxxx
      - ENABLE_SIGNUP=false            # 关掉公开注册,只允许自己用
      - DEFAULT_USER_ROLE=user
      - WEBUI_AUTH=true                # 开启登录
    extra_hosts:
      - "host.docker.internal:host-gateway"  # 让容器能访问宿主机的 Ollama

volumes:
  openwebui-data:

填好你已有的 API key 即可——没填的会被 Open WebUI 隐藏,不影响其他 key 的使用。

第 2 步:启动 + 首次配置(5 分钟)

# 启动
cd /volume1/docker/openwebui
docker compose up -d

# 查看日志(确认启动成功)
docker logs -f openwebui
# 看到 "Application startup complete" 就可以 Ctrl+C 退出

# 浏览器打开 http://NAS-IP:3000
# 第一个注册的用户自动成为 admin

首次进系统的 3 个关键配置

1. 顶部右上角 → 设置 → 模型:Open WebUI 会自动拉取你在环境变量里填的所有 API 对应的模型。OpenRouter 的 100+ 模型、Anthropic 的 Claude 系列、Google 的 Gemini 系列全部会列出来。

2. 设置 → 接口 → 默认模型:选你最常用的(建议选 Claude Sonnet 4.5 或 GPT-5 mini,便宜又快)。

3. 设置 → 文档:把 NAS 上的文件夹挂载进来(默认 `/app/backend/data` 下的 `uploads`),Open WebUI 就能读你的 PDF / TXT / Markdown 当 RAG 知识库。

第 3 步:把本地 Ollama 也接进来(5 分钟)

如果你 NAS 跑得动 Ollama(推荐 ≥8GB 内存 + 有 N 卡 / M 系列 SoC),可以同时用云端 API + 本地模型:

# 1. 在 NAS 上装 Ollama(独立容器或二进制都可以)
docker run -d --name ollama -p 11434:11434 \
  -v ollama-data:/root/.ollama \
  ollama/ollama

# 2. 拉一个本地模型
docker exec ollama ollama pull qwen2.5:7b

# 3. Open WebUI 后台 → 设置 → 模型 → 添加 Ollama 连接
#    URL: http://host.docker.internal:11434
#    名称: "本地 Ollama"

之后在聊天窗口顶部下拉菜单就能在「云端 GPT-5 / Claude / 本地 Qwen」之间切换。离线时自动 fallback 到本地模型——这是 Open WebUI 比 ChatGPT 客户端强的地方。

验证成功的标准

– ✅ 浏览器打开 `http://NAS-IP:3000` 能看到登录页

– ✅ 注册的第一个账号自动是 admin

– ✅ 顶部模型下拉里能看到 ≥3 个模型(OpenAI/Claude/Gemini 任填的)

– ✅ 随便发个对话,能收到流式回复

– ✅ 关掉浏览器再打开,历史对话还在

5 个第一次用必踩的坑

1. 容器内 8080 端口 vs 主机 3000 端口。这是 Open WebUI 的”反直觉”设计——容器内部监听 8080,主机端口你来定。如果改主机端口,`docker-compose.yml` 的 `ports: “3000:8080″` 改成 `”8888:8080″`。

2. 第一个注册的用户才是 admin。关掉注册(`ENABLE_SIGNUP=false`)后,第一个账号自动获得 admin 权限——之后没法再创建新 admin,除非手动改数据库。

3. OpenRouter key 直接当 OpenAI key 用。Open WebUI 默认走 OpenAI 协议,把 `OPENAI_API_BASE_URL` 改成 `https://openrouter.ai/api/v1` 就能用 OpenRouter 转发的 100+ 模型。

4. Claude / Gemini API 走”自定义 OpenAI 兼容端点”。设置 → 模型 → 添加 → 类型选 “OpenAI API”,URL 填 `https://api.anthropic.com/v1`(需要中间件),或者直接用 OpenRouter 的 Claude 端点更省心。

5. RAG 文档默认 5MB 限制。需要上传大 PDF 时改环境变量 `RAG_FILE_MAX_SIZE=104857600`(100MB)。

4 个进阶玩法

1. MCP 集成:v0.6.x 起支持 MCP 协议,Open WebUI 能直接调用 GitHub / Notion / Brave Search 等 MCP server。

2. Web 搜索联网:设置 → 接口 → 启用 “Web Search”,配 Brave Search API key,所有模型都能联网回答。

3. 图片生成:通过 OpenAI 兼容协议接入 DALL-E、Replicate、RunningHub,Open WebUI 聊天窗口里直接生成图。

4. 团队协作:局域网内多个账号共享同一 Open WebUI 实例,所有对话进同一个 PostgreSQL(默认 SQLite),可换 PostgreSQL 提升并发。

成本对比

Open WebUI 自部署:0 元(只需 NAS 电费)

ChatGPT Team 订阅:USD 25/月/人

Poe 订阅:USD 20/月

ChatGPT Enterprise:USD 60/用户/月起

5 人小团队每年光 ChatGPT Team 订阅就 1500 美元——一次 Docker 部署,永久免费,还能用上本地模型和 MCP 工具。

这套系统最适合:需要同时用 3+ 个 LLM API 的个人开发者 / 5-20 人的小团队 / 注重数据隐私的咨询 / 法律 / 医疗从业者。装上之后你会有”为什么我之前要装 5 个 App”的顿悟感。

🔥 关注 LC 智趣厅,下周会带来”Open WebUI + MCP 完整教程:把 GitHub、Notion、Calendar 全部接进聊天窗口”。


— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn

Scroll to Top
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅