Loading...

文章背景图

LobeChat:以 Agent 为工作单元、支持多模型与协作编排的现代开源 AI 聊天框架|部署与使用全指南

2026-10-26
0
- 字
- 分钟
|

图1 LobeHub 官方主横幅:Your Chief Agent Operator,IM 渠道、Agent 列表与任务面板(README 官方素材)

LobeChat:以 Agent 为工作单元、支持多模型与协作编排的现代开源 AI 聊天框架|部署与使用全指南

项目仓库: https://github.com/lobehub/lobehub

开源协议:LobeHub Community License(基于 Apache 2.0,附加商用派生作品条款,见第 11 节) · 技术栈:Next.js 全栈 + Vite SPA 前端、PostgreSQL(pg_search / ParadeDB)、Redis、RustFS(S3)、SearXNG、可选 Elasticsearch · 交付形态:Docker Compose 自托管栈、Vercel / Zeabur / Sealos / 阿里云一键部署、源码本地开发 · 默认应用端口 3210 · 官方文档:lobehub.com/docs

非官方声明:LobeChat(现品牌 LobeHub)是开源社区项目,与 OpenAI、Anthropic、Google、Microsoft、Claude Code、Codex、Discord、Telegram、Slack、微信、QQ、LINE 等模型与平台厂商不存在隶属、授权或合作关系;文中出现的模型、渠道与服务名称仅用于说明兼容目标。API Key、订阅账号与模型服务条款由对应厂商约束,使用者须自行确认合规边界。


1 项目简介

LobeChat 是 LobeHub 团队维护的现代开源 AI 聊天框架(仓库由 lobehub/lobe-chat 更名为 lobehub/lobehub,产品现以 LobeHub 品牌发布)。项目把 Agent 视为工作单元:不再只是单轮对话框,而是一个发现、构建并与 Agent 队友共同成长的工作空间,覆盖 Agent 招募与排程、Agent Builder 搭建助手、Skills 与 MCP 工具接入、Pages / Schedule / Project / Workspace 协作形态,以及可编辑的个人记忆。部署形态以 Docker Compose 自托管为核心,同时提供 Vercel、Zeabur、Sealos、阿里云等一键部署入口。

1.1 核心信息一览

项目项 内容
项目名称 LobeChat(现品牌 LobeHub;仓库 lobehub/lobehub,历史仓库名 lobehub/lobe-chat)
仓库地址 github.com/lobehub/lobehub
项目定位 以 Agent 为工作单元、支持多模型与协作编排的现代开源 AI 聊天 / Agent 框架
开源协议 LobeHub Community License(Apache 2.0 基础 + 派生作品商用限制)
技术栈 Next.js 全栈、Vite SPA 前端、PostgreSQL(ParadeDB / pg_search)、Redis、RustFS S3、SearXNG、可选 Elasticsearch
部署方式 Docker Compose 一键栈;setup.sh 初始化脚本;Vercel / Zeabur / Sealos / 阿里云一键部署;pnpm dev 本地开发
应用端口 3210(LOBE_PORT);RustFS 9000 / 管理台 9001;Agent 网关 8787;设备网关 8788
模型接入 OpenAI 及任意 OpenAI 兼容端点(OPENAI_PROXY_URL)、Azure OpenAI、Ollama、Google、Anthropic、Bedrock、Gemini 等,具体以端点配置与官方文档为准
官方文档 lobehub.com/docs · Docker Compose 部署 · 环境变量

1.2 适用场景

  • 个人需要一个自托管、可长期使用的 AI 聊天空间,统一接入多家云端模型与本地 / 兼容端点,而不是在多个网页之间切换。
  • 团队需要把多个 Agent 组织成协作小组,按 Pages 共撰、Schedule 定时运行、Project 归集、Workspace 共享开展工作。
  • 开发者希望基于 Agent Builder 无代码搭建专属助手,挂载 MCP 服务器、技能插件与定时任务,形成可分享的 Agent 团队。
  • 需要把 Agent 接到日常 IM 渠道(Discord、Telegram、Slack、WhatsApp、微信、QQ、LINE 等),在已有聊天工具中接收任务与结果。
  • 重视记忆可控:使用结构化、可查看可编辑的白盒个人记忆沉淀长期偏好与上下文。
  • 二次开发:基于仓库 Next.js 全栈与 SPA 工作区定制界面、模型路由与 Agent 工具。

1.3 能力边界(官方口径)

  • 官方 README 自述 “LobeHub organizes your agents into 7×24 operation; it hires, schedules, reports on your entire AI team”;Agent 的推理质量与工具能力取决于所配置的模型、端点与第三方 MCP 服务器,平台本身不提供模型权重。
  • 项目处于活跃开发阶段,部分 Agent 编排、IM 网关与设备网关能力随版本迭代;插件体系仍在持续演进,具体可用能力以当前版本界面与官方文档为准。
  • 定时任务、网关模式、MCP 工具与代码类操作具备服务器执行权限;部署者须自行约束注册范围、网络暴露面与工具白名单,平台不提供绕过平台风控或保证 Agent 行为安全的承诺。

2 功能特性

2.1 Operator:排程并汇报整个 AI 团队

  • 把所有 Agent 集中在一个平台管理;系统负责招募、排程与汇报 AI 团队的工作进度,用户专注制定策略。
  • 以任务为单位分派给专项 Agent,子任务并行执行后汇总为报告;支持定时运行(Schedule),在用户离线时按时间窗完成任务。

2.2 IM 网关:Agent 出现在已有聊天工具中

  • 通过 IM 网关把 Agent 连接到日常使用的聊天渠道,在同一个群聊或会话中调用不同 Agent;README 展示的渠道包括 Discord、WhatsApp、Slack、Notion、Telegram、微信、LINE、QQ 等,各渠道支持状态以官方文档与插件市场为准。

2.3 Agent Builder:描述需求即生成助手

  • 只需描述一次需求,Agent 配置自动完成并可立即使用;可选择模型、配置系统提示词、挂载 MCP 服务器、添加技能、设定定时任务,并选择开始对话、发布到社区或创建定时任务。
  • 助手可绑定能力描述、工具集与行为约束,形成可复用的专项角色。

2.4 统一智能、Skills 与 MCP 市场

  • 无缝接入任意模型与任意模态,全部由部署者掌控;模型列表可通过 OPENAI_MODEL_LIST 增删与改名。
  • 提供 Skills 市场与 MCP 兼容插件接入:把 Agent 连接到日常使用的工具与服务;技能、MCP 服务器数量随市场更新,README 以万级规模描述能力范围。

2.5 协作网络:Pages / Schedule / Project / Workspace

  • Pages:在同一位置与多个 Agent 共同撰写、润色内容,共享上下文。
  • Schedule:安排任务运行时间,让 Agent 在指定时段自动完成工作。
  • Project:按项目归集会话、文件与产物,保持结构清晰、便于跟踪。
  • Workspace:团队与 Agent 协作的共享空间,明确所有权与组织内可见性。
  • Agent Groups 会为任务组装合适的 Agent 组合,支持并行协作与迭代改进。

2.6 个人记忆:持续学习与白盒记忆

  • 持续学习:Agent 从用户的工作方式中学习,在恰当时刻调整行为。
  • 白盒记忆:记忆以结构化、可编辑的形式保存,用户可查看、修改或删除 Agent 记住的内容,不接受黑盒不可见记忆。

2.7 插件体系与生态组件

  • 插件用于扩展 Function Calling 能力,可引入新的函数调用与结果渲染方式;官方提供插件索引仓库、插件模板与插件 SDK、插件网关。
  • 生态包含 @lobehub/ui(AIGC Web UI 组件库)、@lobehub/icons(模型品牌图标集)、@lobehub/tts(语音 React Hooks)、@lobehub/lint(工程规范配置)等独立 npm 包。

3 官方界面预览

3.1 Operator 定时任务视图

下图为官方 Operator 界面:一条每周 GitHub Issues 定时分诊任务,选择模型与优先级,列出 Backlog 子任务、活动记录与子任务完成进度,Agent 按计划自动汇总分诊报告。

图2 Operator 运营视图:定时运行的每周 GitHub Issues 分诊任务、子任务分工与活动记录(README 官方截图)

3.2 IM 网关

下图左右两个面板:左侧为多个 Agent 在同一空间协作讨论的群聊形态,右侧为 IM 网关把 Agent 分发到各日常聊天渠道的渠道图标矩阵。

图3 IM 网关:把 Agent 接入 Discord、WhatsApp、Slack、Notion、微信、Telegram、LINE、QQ 等日常聊天渠道(README 官方截图)

3.3 Agent Builder

下图为 Agent Builder 界面:以 “Recruitment Assistant” 为例,配置模型、Gmail 与 LinkedIn MCP、系统提示词、能力描述与定时任务入口;右侧为可安装的 LinkedIn 类 MCP 服务器列表。

图4 Agent Builder:描述需求即可生成助手,配置模型、MCP 服务器、技能与定时任务(README 官方截图)

3.4 Skills 市场与统一智能

下图左侧为 Skills 市场入口与海量技能、MCP 服务器规模展示,右侧为 “Unified intelligence”:任意模型、任意模态在受控环境中统一使用。

图5 Skills 市场与统一智能:海量技能、MCP 服务器接入,任意模型与模态统一在受控环境中使用(README 官方截图)

3.5 协作工作流

下图展示多模态工作流下的四类协作形态:Pages 共撰、Schedule 定时、Project 项目归集与 Workspace 团队共享,配套资产、文档、代码脚本目录与项目笔记面板。

图6 协作网络:Pages 共撰、Schedule 定时、Project 项目组织、Workspace 团队共享四类协作形态(README 官方截图)

3.6 个人记忆

下图为记忆面板四象限:个人记忆画像标签、持续学习的使用记录与观察模式、自适应行为的记忆检索摘要,以及可编辑、可删除的白盒 Profile 记忆。

图7 个人记忆:持续学习、自适应行为与结构化可编辑的白盒记忆面板(README 官方截图)

4 官方跳转链接汇总

类别 链接 说明
仓库主页 github.com/lobehub/lobehub 全栈前端、后端与部署源码
官方站点 lobehub.com 产品官网与在线演示
使用文档 lobehub.com/docs/usage/start 上手与界面使用说明
Docker Compose 文档 lobehub.com/docs/self-hosting/server-database/docker-compose 自托管 Compose 部署指南
环境变量文档 lobehub.com/docs/self-hosting/environment-variables 全量环境变量参考
本地开发指南 lobehub.com/docs/development/start 仓库开发与构建说明
Docker 镜像 hub.docker.com/r/lobehub/lobehub 官方应用镜像
Releases github.com/lobehub/lobehub/releases 版本归档与更新说明
Changelog lobehub.com/changelog 版本变更记录
Issues 反馈 github.com/lobehub/lobehub/issues Bug 跟踪与功能反馈
Discord 社区 discord.gg/AYFPHvv2jT 开发者与用户交流
插件索引 github.com/lobehub/lobe-chat-plugins 官方插件市场索引
Agent 提交 github.com/lobehub/lobe-chat-agents 社区 Agent 提交仓库
插件 SDK github.com/lobehub/chat-plugin-sdk 插件开发 SDK
Vercel 一键部署 vercel.com/new/clone 官方模板入口
Zeabur 部署 zeabur.com/templates/VZGGTI 官方模板入口
Sealos 部署 template.usw.sealos.io/deploy?templateName=lobehub-db 官方模板入口

5 前置要求与环境配置

5.1 软件前提

  • Docker 部署:Docker 与 Docker Compose 插件;栈内自带 PostgreSQL、Redis、RustFS、SearXNG 与网关服务,宿主机无需单独安装数据库。
  • 本地开发:Node.js 运行环境、pnpm(仓库脚本使用 pnpm 安装与启动);可选 Bun 运行 SPA 开发模式;具体版本要求以仓库 package.json 与开发文档为准。
  • 模型凭据:至少准备一个模型提供者的 API Key(如 OPENAI_API_KEY);使用兼容端点时配置 OPENAI_PROXY_URL 与模型列表。
  • 反向代理(公网域名部署):需要 Nginx / Caddy 等反代并开启 WebSocket 升级,分别映射应用、RustFS 与 Agent 网关。

5.2 硬件与系统建议

项目 说明
服务器 个人 / 小团队使用 2 核 4GB 以上云主机起步;可选 Elasticsearch 节点单独预留至少 2GB 内存
操作系统 Docker 方式支持主流 Linux 发行版;本地开发支持 macOS / Windows / Linux
磁盘 PostgreSQL 数据、Redis 持久化、RustFS 对象存储与上传文件需持久化目录,按会话与图片规模预留空间
模型推理 云端模型对本机硬件要求低;本地模型由独立后端提供,资源需求以后端与模型为准

5.3 端口分配

服务 默认端口 说明
lobe 应用 3210 主应用 HTTP 端口,宿主 ${LOBE_PORT}:3210
rustfs 对象存储 9000 S3 API,浏览器上传图片需通过此端点的预签名 URL 访问
rustfs 管理台 9001 RustFS 控制台
gateway Agent 网关 8787 网关模式 Agent 运行经 WebSocket 推送到浏览器,宿主 ${AGENT_GATEWAY_PORT:-8787}
gateway 设备网关 8788 把工具调用路由到已加入网关的设备,宿主 ${DEVICE_GATEWAY_PORT:-8788}
postgresql 5432(内部) ParadeDB / pg_search 数据库,默认不对外暴露
redis 6379(内部) 缓存与会话状态,默认不对外暴露
searxng 8080(内部) 在线搜索聚合,配置见 searxng-settings.yml

setup.sh 提示需确保服务器以下端口未被占用且可访问:3210、9000、9001、8787、8788。

5.4 持久化目录与卷

项 说明
./data PostgreSQL 数据目录(bind mount 到 /var/lib/postgresql/data)
redis_data 命名卷 Redis AOF 与快照持久化
rustfs-data 命名卷 RustFS 对象存储数据
fts-search-reindex-state 命名卷 可选 Elasticsearch 重建检查点状态
elasticsearch-data 命名卷 可选 ES 节点数据(仅启用 ES profile 时创建)

6 方式一:setup.sh 一键初始化 + Docker Compose 部署(推荐)

6.1 创建部署目录并运行初始化脚本

# 1. 创建独立部署目录
mkdir lobehub-db && cd lobehub-db

# 2. 运行官方初始化脚本(下载 Compose、配置文件与 .env,引导生成密钥与部署模式)
bash <(curl -fsSL https://lobe.li/setup.sh)

脚本依次完成:

  1. 选择语言(English / 简体中文)。
  2. 选择部署模式:
    • 0 域名模式:反向代理分别映射 LobeHub、RustFS、Agent 网关域名,访问无需端口;
    • 1 端口模式:使用 IP 或域名 + 端口访问,需放开指定端口;
    • 2 本地模式:仅供本机测试(localhost:3210)。
  3. 选择是否重新生成安全密钥;脚本自动生成 KEY_VAULTS_SECRET、AUTH_SECRET(base64 32 字节)与 RUSTFS_SECRET_KEY。
  4. 自动生成网关 GATEWAY_SERVICE_TOKEN 与 RS256 的 JWKS_KEY / JWKS_PUBLIC_KEY。
  5. 选择是否初始化数据库:脚本执行 docker compose pull、后台启动 postgresql、等待约 15 秒后停止,完成首次数据库初始化。

目录下已存在 data 或 s3_data 文件夹时,脚本只完成初始化配置、不重复安装;如需重装,先备份并删除这两个目录。

6.2 启动服务栈

# 前台启动(默认不附加 SearXNG 日志)
docker compose up --no-attach searxng

# 确认运行正常后,后台常驻启动
docker compose up -d --no-attach searxng

启动完成后按所选模式访问:本地模式 http://localhost:3210;端口模式 http://服务器IP:3210;域名模式经反向代理访问绑定域名。

6.3 手动方式(不使用 setup.sh)

# 1. 准备目录
mkdir lobehub-db && cd lobehub-db

# 2. 从仓库 docker-compose/deploy 目录下载 Compose、搜索配置、桶配置与环境变量模板
#    docker-compose.yml、searxng-settings.yml、bucket.config.json、.env.example
#    仓库路径:https://github.com/lobehub/lobehub/tree/main/docker-compose/deploy

# 3. 复制环境变量模板并填写密钥、主机地址与模型 Key
cp .env.example .env

# 4. 拉取镜像并初始化数据库
docker compose pull
docker compose up -d postgresql
# 等待数据库就绪后再启动全栈

# 5. 启动全部服务
docker compose up -d

6.4 部署模式与反向代理要点

  • 域名模式:在反向代理中完成域名到端口的映射——主应用域名 → 127.0.0.1:3210;RustFS 域名 → 127.0.0.1:9000;Agent 网关域名 → 127.0.0.1:8787(WebSocket)。
  • Agent 网关 WebSocket:网关模式把 Agent 运行结果经 WebSocket 推送到浏览器;反向代理需开启 WebSocket 升级头(Upgrade / Connection),AGENT_GATEWAY_URL 必须是浏览器可访问的网关地址。
  • RustFS 浏览器访问:对话内上传图片使用浏览器可达的 S3_ENDPOINT 预签名地址;服务端到 RustFS 的请求走 Compose 内网 S3_INTERNAL_ENDPOINT=http://rustfs:9000。
  • 所有服务须使用同一协议;域名模式选择 HTTPS 时,按脚本提示把对外地址统一切换为 https。

7 方式二:源码本地运行(开发 / 二次开发)

7.1 环境准备

  • 安装 Node.js 与 pnpm;需要 SPA 独立开发模式时可安装 Bun。
  • 本地完整运行通常仍需 PostgreSQL、Redis 等后端服务;开发联调可参考官方 开发指南 与仓库内开发脚本说明。

7.2 克隆与启动

git clone https://github.com/lobehub/lobehub.git
cd lobehub

# 安装依赖
pnpm install

# 全栈开发:Next.js + Vite SPA
pnpm dev

# 仅 SPA 前端(端口 9876)
bun run dev:spa

7.3 开发说明

  • dev:spa 启动后终端会打印调试代理 URL(指向生产后端的 _dangerous_local_dev_proxy),用于带热更新地对接生产后端联调;这是开发便利入口,不作为变更验证依据。
  • 服务端环境变量、模型端点与密钥配置方式与 Docker 部署保持一致,详见官方 环境变量文档。

8 配置项说明

8.1 基础部署项(取自 deploy.env.example)

变量 默认值 说明
LOBE_PORT 3210 主应用宿主端口,容器内固定 3210
RUSTFS_PORT 9000 RustFS S3 API 宿主端口
RUSTFS_ADMIN_PORT 9001 RustFS 管理台宿主端口
APP_URL http://localhost:3210 浏览器访问的主应用对外地址
INTERNAL_APP_URL http://localhost:3210 服务端内部通信地址;Docker Compose 部署必填,主机 / 局域网 IP 作为 APP_URL 时,AI 图像生成等功能依赖此项正确
LOBE_DB_NAME lobechat PostgreSQL 数据库名
POSTGRES_PASSWORD 模板内置示例值 数据库密码,生产环境务必改为强随机值
S3_ENDPOINT http://localhost:9000 浏览器访问的 RustFS S3 端点
RUSTFS_ACCESS_KEY admin RustFS 访问账号
RUSTFS_SECRET_KEY YOUR_RUSTFS_PASSWORD RustFS 访问密钥,setup.sh 自动生成
RUSTFS_LOBE_BUCKET lobe 对话图片等对象存储桶名

8.2 安全密钥

变量 说明
KEY_VAULTS_SECRET 凭据保险库密钥(base64 32 字节),setup.sh 用 openssl rand -base64 32 生成
AUTH_SECRET 会话认证密钥(base64 32 字节),setup.sh 自动生成
GATEWAY_SERVICE_TOKEN LobeHub 与网关之间的共享令牌(hex 32),setup.sh 自动生成
JWKS_KEY 签发内部 JWT 的 RS256 私钥集;每次部署必须唯一
JWKS_PUBLIC_KEY 不含私钥字段的公钥集,传给网关用于校验浏览器会话 JWT

生产部署前必须替换全部默认占位密钥;JWKS_KEY 跨部署复用会导致网关信任非法会话,更换密钥后需重启应用与网关并重新登录。

8.3 注册与登录策略

变量 说明
AUTH_ALLOWED_EMAILS 允许登录的邮箱列表,逗号分隔;设置后仅列表内邮箱可登录,留空允许所有用户注册
AUTH_DISABLE_EMAIL_PASSWORD 设为 1 后禁用邮箱密码注册 / 登录,仅允许 SSO 登录
HTTP_PROXY / HTTPS_PROXY 容器访问外部模型服务所需代理(可选)

8.4 Agent / 设备网关

变量 默认值 说明
AGENT_GATEWAY_PORT 8787 Agent 网关宿主端口
DEVICE_GATEWAY_PORT 8788 设备网关宿主端口
AGENT_GATEWAY_URL http://localhost:8787 浏览器可见的 Agent 网关地址;反向代理时开启 WebSocket 升级
DEVICE_GATEWAY_URL http://gateway:8788 Compose 网络内设备网关地址
DEVICE_GATEWAY_PUBLIC_URL 空 可选;桌面 / CLI 客户端发现设备网关的公网地址,留空时由各客户端通过 lh connect --gateway <url> 自行配置

8.5 模型提供者配置

变量 说明
OPENAI_API_KEY OpenAI 接口密钥(README 部署示例中为必填项)
OPENAI_PROXY_URL 覆盖 OpenAI 请求基础地址;默认 https://api.openai.com/v1,可填第三方兼容代理或自建端点
OPENAI_MODEL_LIST 模型列表控制:+ 增加模型、- 隐藏模型、模型名=展示名 自定义显示名,逗号分隔;示例 qwen-7b-chat,+glm-6b,-gpt-3.5-turbo

Azure OpenAI、Ollama、Google、Anthropic 等其他端点的接入方式与环境变量,以官方 环境变量文档 与 自定义端点指南 为准。

8.6 可选检索与搜索组件

项 说明
SearXNG Compose 内置 searxng/searxng,配置文件 searxng-settings.yml,内部端口 8080
Redis 缓存 redis:7-alpine,REDIS_URL=redis://redis:6379,REDIS_PREFIX=lobechat,REDIS_TLS=0
Elasticsearch 默认禁用;通过 COMPOSE_PROFILES=elasticsearch 等 profile 启用,需先阅读官方全文搜索文档;JVM 堆内存不超过容器可用内存一半,Linux 主机需设置 vm.max_map_count=262144,不要对外发布 9200 端口

9 常用运维命令

9.1 Compose 日常操作

# 查看服务状态
docker compose ps

# 后台启动 / 停止 / 重启
docker compose up -d
docker compose down
docker compose restart lobe

# 跟踪应用与网关日志
docker compose logs -f lobe
docker compose logs -f gateway
docker compose logs -f searxng

# 进入应用容器排查
docker compose exec lobe sh

9.2 镜像更新

# 拉取最新镜像后滚动重建
docker compose pull
docker compose up -d

通过 Vercel / Fork 方式部署时,按官方 上游自动同步文档 保留并启用同步 Action;自建 Compose 部署升级前先阅读 Changelog 的破坏性更改说明,并备份 ./data、redis_data、rustfs-data 与 .env。

9.3 备份与恢复

  • 数据库:备份 PostgreSQL ./data 目录,或进入 postgresql 容器执行 pg_dump 导出。
  • 对象存储:备份 rustfs-data 命名卷;对话图片与头像按桶 lobe 归集。
  • 配置与状态:备份 .env、searxng-settings.yml、bucket.config.json;Redis 缓存丢失不影响业务主数据,重启后自动重建。

9.4 密钥与状态维护

# 重新生成本地部署密钥(参照 setup.sh 逻辑,更换后重启全栈并重新登录)
# KEY_VAULTS_SECRET / AUTH_SECRET:openssl rand -base64 32
# GATEWAY_SERVICE_TOKEN:openssl rand -hex 32
  • 网关会话状态保留在内存中,容器重启后进行中的运行会丢失;定时任务与已完成记录以数据库为准。

9.5 本地开发命令

pnpm install        # 安装依赖
pnpm dev            # 全栈开发
bun run dev:spa     # 仅 SPA 前端(9876)

10 常见故障排查

10.1 端口被占用

  • 应用 3210、RustFS 9000/9001、网关 8787/8788 任一被占用都会导致容器启动失败;用 docker compose ps 与 lsof -i:端口 核对,修改 .env 中对应端口变量后重启。
  • 内部 5432、6379、8080 默认不对外发布;无需外部访问时不要暴露这些端口。

10.2 启动后页面无法访问

  • 先 docker compose logs -f lobe 查看启动报错;数据库未就绪时应用会反复重连,确认 postgresql 健康检查通过后再查看应用日志。
  • 核对 APP_URL 与 INTERNAL_APP_URL:浏览器访问地址与服务端内部地址区分正确;反向代理域名模式下不要把内部地址暴露给浏览器。

10.3 对话内图片上传失败

  • 浏览器必须能访问 S3_ENDPOINT(预签名 URL 上传);域名模式下为 RustFS 单独配置域名与反代,CORS 规则由 rustfs-init 初始化桶时写入。
  • 确认 RUSTFS_ACCESS_KEY、RUSTFS_SECRET_KEY 与 Compose 环境一致;S3_INTERNAL_ENDPOINT=http://rustfs:9000 仅用于内网服务端请求,不要改成宿主机地址。
  • 头像上传不依赖对话图片存储;两类上传报错时分别核对 RustFS 桶配置与应用日志。

10.4 网关模式 / 定时任务无响应

  • 确认 ENABLE_AGENT_GATEWAY=1 已生效,AGENT_GATEWAY_URL 是浏览器可达的网关地址,反向代理已放行 WebSocket 升级。
  • GATEWAY_SERVICE_TOKEN 在应用与网关两侧一致;JWKS_PUBLIC_KEY 与应用 JWKS_KEY 配对;网关容器日志可通过 docker compose logs gateway 查看握手与校验错误。
  • 网关内存态不保留进行中运行,重启容器后未完成任务需重新触发。

10.5 模型请求失败或模型列表为空

  • 核对 OPENAI_API_KEY、OPENAI_PROXY_URL 是否正确;公司网络代理下配置 HTTP_PROXY / HTTPS_PROXY,并把内网地址加入 NO_PROXY。
  • 模型列表被 OPENAI_MODEL_LIST 的 - 规则隐藏时,在变量中移除对应隐藏规则;其他端点接入方式以官方环境变量文档为准。
  • 第三方代理 Key 的有效性与安全由对应服务商负责,出现证书校验错误时先核对系统时间与代理 TLS 配置。

10.6 注册与登录受限

  • 公网部署建议设置 AUTH_ALLOWED_EMAILS 白名单,或 AUTH_DISABLE_EMAIL_PASSWORD=1 仅开放 SSO;默认配置允许注册,关闭前确认已创建管理员账号。
  • 更换 AUTH_SECRET 或 JWKS_KEY 后旧会话失效,需要重新登录;忘记访问入口时先检查反向代理与 APP_URL 配置。

10.7 可选 Elasticsearch 启动失败

  • 启用 ES profile 前确认主机 vm.max_map_count=262144;JVM 堆内存(ES_JAVA_OPTS)不超过容器可用内存的一半,ES 节点至少预留 2GB 内存。
  • 不要对外发布 9200 端口;启用后按文档先执行一次性回填 docker compose run --rm fts-search-reindex --apply --fresh-run --yes,状态就绪后再启动增量同步 worker。

10.8 本地开发启动异常

  • 确认 Node.js 与 pnpm 版本符合仓库要求;依赖安装失败时切换镜像源后重新 pnpm install。
  • dev:spa 仅启动前端,后端能力需按开发文档连接对应服务;调试代理 URL 仅用于本地联调,不作为功能验收环境。

11 风险与合规说明

以下条款整理自官方 README、LICENSE(LobeHub Community License)、.env.example 与官方文档口径;如与官方原文不一致,以仓库 LICENSE、README 与 lobehub.com/docs 最新说明为准。

11.1 开源协议与商用边界

  • 项目自 1.0 起采用 LobeHub Community License,基于 Apache License 2.0 并附加以下条件:
    • 允许商用:未修改源码的前提下,可作为前端与后端服务直接商用;
    • 派生作品需授权:如果基于 LobeChat 开发并分发派生作品,须向出品方申请商业许可,联系邮箱 hello@lobehub.com。
  • 贡献代码视为同意出品方可调整开源协议松紧、贡献代码可用于包括云版本在内的商业用途;除上述附加条件外,其余权利与限制遵循 Apache License 2.0。PostgreSQL、Redis、RustFS、SearXNG、Elasticsearch 等第三方组件各自遵循其对应许可证。

11.2 模型与 API 条款

  • 平台不提供模型与 API Key;OpenAI、Azure、Google、Anthropic、Bedrock、Ollama 及其他兼容端点归对应厂商或后端项目所有,受其服务条款、隐私政策与计费规则约束。
  • 第三方代理 Key 的有效性、稳定性与数据安全由代理服务商负责;选择第三方代理前评估隐私与合规风险。

11.3 数据隐私与访问控制

  • 对话、记忆、文件与对象存储保存在自托管数据库与 RustFS 中;公网部署应关闭开放注册、配置邮箱白名单或 SSO、启用 HTTPS,并定期备份。
  • 个人记忆内容对用户可见、可编辑、可删除;管理员与运维方应遵守对应地区的数据保护要求,不要把敏感文档与商业机密发送到不受信任的云端模型。

11.4 Agent、工具与网关风险

  • Agent Builder、MCP 服务器、Skills、定时任务与 IM 网关具备调用工具、读取文件、发起网络请求与执行命令的能力;第三方 Agent、插件与 MCP 服务器应审核来源、权限与凭据范围后再启用。
  • 网关模式把 Agent 运行暴露到 WebSocket 通道,设备网关可把工具调用路由到已加入设备;上线前完成令牌、会话校验与网络隔离配置。
  • 项目处于活跃开发阶段,部分编排与网关能力为迭代中的功能;项目按现状(AS-IS)提供,不保证模型输出正确、不保证所有渠道与端点持续兼容。使用者自行承担模型选择、数据泄露、服务中断与业务损失风险。如认为仓库内特定文件侵犯合法权益,请通过 GitHub Issues 提交说明,不要在公开 Issue 中贴出 API Key、密码、会话 Cookie 或内部地址。
评论交流

文章目录