作为一名经常测试各类 AI 产品的产品经理,我在选型“自托管 AI 聊天界面”时,总会遇到两类需求:
一类是团队内部希望有一个可控的、安全的聊天界面;另一类是开发者需要一个可扩展的“通用前端壳”,方便适配不同的大模型与私有部署环境。
Chatbot UI 正好属于这两类需求的交叉点——一个轻量、开源、可编排的 AI Chat Web App。
下面从项目定位、功能结构到部署方式,整理一篇面向专业用户的开源项目介绍。
项目概览:Chatbot UI 能做什么?
Chatbot UI 是一个开源的通用 AI 聊天界面,提供与主流聊天型产品类似的交互体验,但强调“自托管”“可扩展”“与后端模型解耦”。

项目的核心定位可概括为:
| 维度 | 描述 |
|---|---|
| 功能类型 | 通用 AI 聊天界面(前端为主) |
| 后端兼容性 | 支持 OpenAI / Azure / 本地模型(Ollama)等 |
| 数据存储 | 基于 Supabase(Postgres) |
| 部署方式 | 本地 + 云端(Vercel + Supabase) |
| 适合对象 | 团队协作、AI 产品开发者、独立部署用户 |
项目核心功能
相比常见的“快速演示类 Chat UI”,Chatbot UI 的要点更偏工程化:
1. 多模型支持
-
OpenAI API
-
Azure OpenAI
-
本地 Ollama
-
通用兼容(只要能符合标准 API 即可接入)
适合需要混合部署(云端 + 本地模型)的团队环境。
2. 对话管理 + 数据持久化(基于 Supabase)
2.0 版本将数据从浏览器本地存储迁移到 Supabase,主要原因包括:
-
浏览器存储不适合多端同步
-
安全性弱
-
难以支持多模态文件
-
难以满足企业级数据结构扩展
目前的数据库方案由 Supabase 承担 Postgres 存储与 Auth 认证。
3. 用户系统与权限基础
-
基于 Supabase Auth
-
支持 Email 登录
-
支持 API Key 注入(环境变量可禁用前端配置)
对需要“多人使用同一个实例”的团队比较友好。
4. 全套前端界面:聊天窗口、模型切换、文件上传等
项目本身就是一套完整的 Next.js Web App,可直接作为前端基础工程使用。
5. Docker + 本地运行链路较完善
官方提供了从 Docker、Supabase、本地模型到前端一条龙的命令行流程,适合开发者快速上手。
与类似项目的对比
| 项目 | Chatbot UI | OpenWebUI | AnythingLLM |
|---|---|---|---|
| 核心定位 | 通用聊天 UI 前端 | 本地模型管理 + UI | 私有化 LLM + RAG 工作台 |
| 数据库 | Supabase(Postgres) | SQLite / 内置存储 | 多数据库 / 含向量库 |
| 模型支持 | OpenAI / Azure / Ollama 等 | 主要本地模型 | 本地 + 云端模型 |
| 部署复杂度 | 中等(依赖 Supabase) | 较简单 | 较复杂 |
| 适合人群 | 前端扩展、团队协作 | 本地模型爱好者 | 想要一体化 RAG 的团队 |
如果你的诉求是“一个可控、可二次开发、能适配多种大模型的聊天界面”,Chatbot UI 更合适。
如果偏向 All-in-one 的本地 AI 办公环境,则 AnythingLLM 更适合。
应用场景
Chatbot UI 的适配场景可以概括为:
1. 团队内部自用的 AI 办公工具
-
希望有 ChatGPT 类界面
-
数据希望保留在企业内部
-
支持本地模型(如 Ollama)
2. AI 产品的前端 Demo 或 MVP 验证
很多独立开发者会 fork 这个项目作为“Shell”,再接上自己的后端。
3. 多模型切换或对比测试的统一界面
适用于 ML 工程团队用于测试和比对不同模型的输出。
4. 需要定制 UI 的场景
因为项目的代码结构十分清晰,适合用作前端基础模版。
安装与部署方式总结
Chatbot UI 的部署分为 本地运行 与 云端部署 两类。
① 本地部署(Local Quickstart)
流程结构如下:
步骤 1:拉取仓库
步骤 2:安装依赖
步骤 3:准备 Supabase(本地版本)
需要:
-
Docker(运行本地 Postgres 服务)
-
Supabase CLI
启动 Supabase:
然后:
-
复制
.env.local.example为.env.local -
通过
supabase status获取项目 URL 与 key -
替换迁移文件中的
project_url与service_role_key
步骤 4:(可选)安装 Ollama 本地模型
用于运行 Llama、Mistral 等本地模型。
步骤 5:启动前端
默认访问路径:
http://localhost:3000
② 云端部署(Supabase + Vercel)
流程结构:
1. Supabase 作为后端数据库
-
创建项目
-
获取环境值(URL、Anon Key、Service role Key)
-
修改迁移文件
-
supabase db push同步数据库
2. Vercel 作为前端主机
在 Vercel 设置好以下环境变量:
-
NEXT_PUBLIC_SUPABASE_URL
-
NEXT_PUBLIC_SUPABASE_ANON_KEY
-
SUPABASE_SERVICE_ROLE_KEY
-
(可选)本地模型的
NEXT_PUBLIC_OLLAMA_URL -
其他模型 API Key(OpenAI / Azure)
完成后直接 Deploy 即可。
项目更新与维护情况
作者近期正在进行 2.0 大版本迭代,重点包括:
-
更简单的部署流程
-
更好的后端兼容性
-
更合理的手机端布局
Issues 已严格限制为“与代码相关”,其他问题需通过 Discussions 处理。
从维护状态来看,项目仍处于持续更新阶段。
结语
从产品经理视角来看,Chatbot UI 的优势在于“结构清晰、扩展性好、模型兼容性强”。
它不是那种“全能型 AI 工作站”,也不追求内置复杂插件,而是提供一个可控的、工程化的聊天界面基础设施。
如果你需要:
-
一个可快速改造的聊天界面
-
与多个云端或本地模型兼容
-
团队可共享、数据可控
-
前后端解耦、便于二次开发
那么 Chatbot UI 是一个较为稳妥的开源选项。