私有化部署 AI 面板 LobeChat 支持多用户同步数据与知识库
前言
前段时间介绍 DeepSeek API 的时候,分享过两个第三方客户端——Cherry Studio 和 Chatbox。如果单设备使用,这两个客户端都非常的好用,但是如果想要多设备跨端同步数据,它俩就有些力不从心了。
对于跨端同步来说,也许 LobeChat 是更好的选择,无论是 API Key 还是聊天记录都可以同步,并且支持私有化部署,不用担心数据安全问题。

LobeChat 分为两个版本,客户端数据库版本与服务端数据库版本,其中客户端数据库部署的版本和 Chatbox 网页版类似,所有数据都存储在用户本地(浏览器的 IndexedDB 数据库中),无法实现跨多端同步,也不支持文件上传、知识库等进阶功能,后面简单介绍一下如何部署。而服务端数据库版本才是全功能的 LobeChat,支持多用户、多端同步、文件上传、知识库等功能,部署起来比较复杂,对配置要求也更高,后面重点介绍服务端数据库版本的部署。
客户端版本
部署
客户端版本的部署很简单,只需要部署 LobeChat 本体就行,其中环境变量可以直接填上 API Key 方便使用,这样不同的设备不需要重复配置 API Key
DANGER
如果环境变量配置了 API Key,务必同时配置 ACCESS_CODE
,否则将变成公开服务,无论谁打开网页都可以免密码使用你的 API Key
services:
lobe-chat:
image: lobehub/lobe-chat
container_name: lobe-chat
restart: always
ports:
- '3210:3210'
environment:
OPENAI_API_KEY: sk-xxxx
OPENAI_PROXY_URL: https://api-proxy.com/v1
ACCESS_CODE: lobe66
使用
部署完成后,访问 http://ip:3210
进入 LobeChat,来到设置中,将环境变量中设置的 ACCESS_CODE
填写到“访问密码”中就可以使用 LobeChat 了

除了直接在环境变量中配置 API Key,你还可以在网页中添加更多的模型,此处添加的模型只有当前浏览器中可以使用

服务端版本
部署
LobeChat 客户端版本受限于浏览器数据库,并不能实现跨端同步与文件上传等功能。为了实现这些功能,服务端版本需要同时部署数据库、身份验证服务、S3 对象存储才可以使用,因此对于服务器的要求也比较高。
LobeChat 服务端版本采用 PostgreSQL 作为数据库,身份验证服务可以选择 Clerk 或 NextAuth,对象存储可以选择任何兼容 S3 API 的对象存储,我们这里采用 MinIO。
首先创建一个目录,用于存放 LobeChat 的配置文件和后续的数据库文件
mkdir lobe-chat-db && cd lobe-chat-db
由于要部署的东西比较多,这里推荐直接使用官方提供的一键脚本来部署所有的服务
bash <(curl -fsSL https://lobe.li/setup.sh) -l zh_CN
执行脚本后,会有一些选项,我这边演示就不绑定域名了,选择端口模式部署,部署 IP 会自动识别,然后重新生成安全密钥、初始化数据库都选择 y

稍等片刻安装完成后,会显示出所有的用户名与密码,将其保存下来

参照提示,运行以下命令启动 LobeChat
docker compose up -d
使用
访问 http://ip:3210
进入 LobeChat,来到登录页面,使用刚才记录下来的 LobeChat 用户名与密码登录

此时,文件与知识库功能就可以正常使用了,在这个页面你可以新建知识库、上传文件、上传文件夹。

上传的所有文件都将存储在 MinIO 中,你可以通过 http://ip:9001
访问 MinIO 的 Web UI,使用 MinIO 的用户名与密码登录进去查看文件

再来到 LobeChat 的“应用设置”中,将 AI 服务商的 API Key 填进去,此时的 API Key 会随着账号同步,即便是切换设备,只要登录同一个账号,这些 API Key 也不需要重复填写

在“发现”页面你还可以添加助手,助手相当于内置了提示词的 AI,使用起来更加的方便

不单单是文件与 API Key,所有的聊天记录和助手也会保存下来,随着账号一起同步,更换设备时,只需要登上同一个账号,可以无缝切换到原来的记录

预览: