正在打开工具详情…
正在打开工具详情…
自托管的 AI 聊天前端,接 Ollama 或任何 OpenAI 兼容接口,自带 RAG、多模型对比、RBAC 与插件。适合已经跑起本地模型、要给团队一个界面的场景;代价是功能密度极高,Docker 卷漏挂就会丢库。
已经在本机或内网跑起模型(Ollama / vLLM / LM Studio),需要一个像样的界面给团队用,且在意数据不出内网的人。
只是自己一个人偶尔聊天的人——功能密度远超需要,维护成本不划算;也不适合没有 Docker 经验又不愿意处理卷与端口的人。
Open WebUI 是给自己跑的模型配界面的那块拼图:后端可以是 Ollama,也可以是任何 OpenAI 兼容的 API——LMStudio、GroqCloud、Mistral、OpenRouter、vLLM 都行,把 API URL 指过去就能混着用。它自称「完全离线可运行」,对数据不出内网的场景是关键。
功能密度是它最大的特点,也是最大的负担:本地 RAG(9 种向量库 + 多种抽取引擎,支持 BM25 + 向量的混合检索与重排)、网页搜索接入几十家 provider、多模型同屏对比、模型竞技场与 ELO 排行、语音视频通话、图像生成、Notes 工作区、Channels 协作空间、日历与定时自动化、插件(Filter / Action / Pipe / Tool / Skill)与 MCP / OpenAPI 工具服务器、用量与成本看板、LDAP 与 SCIM 2.0。
这套东西对个人来说明显过载。真要给多人用,还要注意规模化:多 worker、多节点要在 Redis 支撑会话与 WebSocket 的前提下部署,数据库可选 SQLite(可加密)或 PostgreSQL。
两个具体的坑:Docker 起容器必须挂 `-v open-webui:/app/backend/data`,漏了数据库随容器一起没;容器内端口是 8080,官方示例映射到宿主机 3000,别照着容器内的 8080 去访问。pip 安装路线要用 Python 3.11,版本不对会有兼容性问题。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次部署会卡在哪讲:卷为什么会丢数据、Ollama 在容器内还是宿主机的两种接法、端口到底访问哪个、以及功能这么多该先开哪几个。
这是官方用 WARNING 标出来的:漏了 -v 就会丢数据。
bashdocker 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/app/backend/data 里是数据库。不挂卷,容器一删账号、会话、知识库全没了。
Ollama 在同一台机器上:容器里访问不到宿主机的 127.0.0.1:11434,必须加 --add-host=host.docker.internal:host-gateway。这是「双方都在线但永远报错」这类问题的第一嫌疑。
Ollama 在另一台服务器:改用环境变量指过去。
bashdocker run -d -p 3000:8080 \
-e OLLAMA_BASE_URL=https://example.com \
-v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main只用 OpenAI 兼容 API:
bashdocker run -d -p 3000:8080 \
-e OPENAI_API_KEY=your_secret_key \
-v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main容器内部监听 8080,官方示例都把它映射到宿主机的 3000。
http://localhost:3000open-webui serve):直接开 http://localhost:8080pip 路线还有一条硬要求:Python 3.11。用别的版本会遇到兼容问题。
有 :ollama 标签的镜像,一个容器里塞了 Open WebUI 和 Ollama,一条命令搞定:
bash# 有 GPU
docker run -d -p 3000:8080 --gpus=all \
-v ollama:/root/.ollama -v open-webui:/app/backend/data \
--name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
# 纯 CPU
docker run -d -p 3000:8080 \
-v ollama:/root/.ollama -v open-webui:/app/backend/data \
--name open-webui --restart always ghcr.io/open-webui/open-webui:ollama注意这里有两个卷,/root/.ollama 是模型权重(更大),别只挂一个。
它的功能列表长得吓人:RAG、网页搜索、多模型对比、语音视频、图像生成、Notes、Channels、日历、自动化、插件、用量看板、LDAP/SCIM……
第一次别全开,按这个顺序:
# 命令加载文档或知识库,同一个 # 加 URL 可以把网页拉进对话多人用之前再补两件事:RBAC 与用户组(按人给权限),以及如果要横向扩展,Redis 支撑的会话与 WebSocket 是必需的,SQLite 也该换成 PostgreSQL。