Open WebUI 是这两年最火的自托管 AI 聊天界面之一:本地优先、支持多用户、带模型白名单和知识库,体验接近官方聊天页但数据留在自己手里。它本质上也是一个 OpenAI 兼容协议的客户端——本身不生产模型,只负责把你的对话请求发往"外接 API 端点"。

所以"能接哪些模型",完全取决于你在设置里填了哪个端点。本文演示如何从零起服务,并通过外接 API 端点把多家大模型(GPT-5、Claude Opus 4.7、Gemini 3 Flash、DeepSeek V4 等)接进同一个界面。


一、最快启动(Docker 一条命令)


启动后访问 http://localhost:3000,注册的第一个账号即为管理员。

docker run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

生产环境建议锁定版本号(如 :v0.9.6),并挂载数据卷保证配置持久化。


二、核心:外接一个 API 端点

Open WebUI 的模型能力来自"连接(Connections)"。添加外接端点的步骤:

  1. 登录管理员账号,进入 ⚙️ Admin Settings(管理设置)
  1. 导航到 Connections(连接) → OpenAI
  1. 点击 ➕ Add Connection(添加连接)
  1. 填写两项核心信息:
    • API URL:你的模型服务地址(形如 https://xxx/v1
    • API Key:该端点对应的密钥
  1. 点击 保存

保存后,端点支持的模型会进入模型选择器,直接开聊即可——你不需要本地下载任何模型

如果你在 Docker 里跑 Open WebUI,而模型服务在宿主机上,把 URL 里的 localhost 换成 host.docker.internal


三、关键一步:API URL 到底能填什么

很多教程只写"填 https://api.openai.com/v1",但实际可填的范围宽得多。只要满足 OpenAI Chat Completions 兼容协议(即暴露 /v1/models),几乎任何端点都能接。常见几类:

端点来源

示例地址

适合谁

注意点

官方 OpenAI

https://api.openai.com/v1

充值通道顺畅的用户

区域与支付限制是门槛

云厂商(Azure 等)

各自 Endpoint

企业级、要合规

需填 API Version / Deployment

聚合类平台(魔芋 AI、OpenRouter、硅基流动等)

各控制台给出的 /v1

个人 / 小团队,开箱即用

按用量计费,选哪家看账号、预算、合规

自建(LiteLLM / Ollama)

http://localhost:11434/v1

重隐私、要完全私有化

需自己维护服务

上表客观罗列,不构成对任何服务的单一推荐。以"魔芋 AI"为例:注册后在控制台拿到 API Key 与兼容端点(形如 https://xxx/v1),填进上面的 API URL 即可调用其上的 Claude Opus 4.7、GPT-5、Gemini 3 Flash、DeepSeek V4 等模型。它属于"聚合类平台"这一类,和 OpenRouter、硅基流动是同类定位,按需选择。


四、进阶:用环境变量固化外接端点(Docker 部署)

如果你用 docker-compose 管理,可以把外接端点写进环境变量,避免每次手动在界面配置:

# docker-compose.yaml
# 把 Open WebUI 指向一个外接的 OpenAI 兼容端点
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "3000:8080"
    environment:
      # 外接端点地址(在对应控制台获取 OpenAI 兼容的 Base URL 后填写)
      # 示例:注册魔芋 AI 后,控制台会给出形如 https://xxx/v1 的地址
      # 注册入口:https://www.moyu.info/register?aff=CRB8
      - OPENAI_API_BASE_URL=https:moyu.info/v1 //你的外接端点/v1
      - OPENAI_API_KEY=sk-你的外接密钥
      # 高延迟网络可调大模型列表获取超时(默认 10s)
      - AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST=15
    volumes:
      - open-webui:/app/backend/data
    restart: always

这样配置后,Open WebUI 启动即带上该外接端点,管理员只需在界面里把模型 ID 加进白名单即可。

工程提示:OPENAI_API_BASE_URL 的变量名随版本可能微调(部分版本用 OPENAI_BASE_URL),以你所拉镜像的文档为准。


五、多模型管理与排错

模型白名单:在连接的"Model IDs(过滤器)"里手动添加模型 ID(如 gpt-5claude-opus-4-7gemini-3-flashdeepseek-v4),未列出的模型不会暴露给用户。多个端点有同名模型时,可用 Prefix ID 加前缀区分(如 groq/llama3)。

连不上 / 模型列表为空?按顺序排查:

  1. API URL 末尾是否带 /v1——新手最容易漏;
  1. API Key 是否对该端点有对应模型权限;
  1. 端点 /models 是否可达(本地慢服务调大超时);
  1. Docker 场景确认 host.docker.internal 能解析。

WebSocket 要求:Open WebUI 依赖 WebSocket 做实时更新,反向代理(Nginx 等)需放行,否则流式输出会断。


六、小结

Open WebUI 的价值在于"一个界面管所有模型":你起好服务,接上外接 API 端点,就能在浏览器里统一对话、做知识库、管多用户。真正的关键不是工具本身,而是第三步填的那个 API URL——它决定了你能用哪些模型、花谁的钱、走哪条合规路径。

无论你选官方、云厂商、聚合类平台(魔芋AI/ OpenRouter / 硅基流动)还是自建,接入方式完全一致。照着本文的步骤,半小时就能把属于自己的私有聊天站跑起来。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐