Lobe Chat:开源 ChatGPT UI 替代方案,支持 20+ 大语言模型

将 Lobe Chat 部署为你的自托管 ChatGPT 替代方案。支持 20+ 个 LLM 提供商、插件系统、PWA、多语言 UI。附带完整的 Docker 部署指南、基准测试和对比。

  • MIT
  • 更新于 2026-05-19

Lobe Chat:拥有 20 多个 LLM 提供商与插件系统的开源 ChatGPT UI 替代方案 — 2026 年搭建指南 — dibi8.com

引言:ChatGPT 已经不够用了 #

你每个月为 ChatGPT Plus 向 OpenAI 支付 20 美元,但你的团队需要一个共享的聊天界面,能够访问 Claude、Gemini,以及运行在自己硬件上的本地模型。你需要能连接内部 API 的插件。你需要多语言 UI,因为你的团队横跨三大洲。而最关键的一点是:你的对话数据必须留在自己的基础设施上,而不是某个第三方云平台。

你可以从零开始自己搭建:花两个月做 React 前端,再花一个月接入 SSE 流式传输,然后永远维护身份验证、插件沙箱和模型切换。或者,你可以在 10 分钟内部署好 Lobe Chat

Lobe Chat 是由 LobeHub 团队打造的开源聊天界面,支持 20 多个 LLM 提供商插件系统PWA 支持多语言 UI——所有这些都通过单个 Docker 容器实现。截至 2026 年 5 月,它已经拥有 约 6 万个 GitHub star,是最受欢迎的自托管 ChatGPT 替代方案之一。它的界面比 ChatGPT 更好看,能运行在你自己的硬件上,而且许可费用为零。

本指南将带你走一遍安装、提供商配置、插件开发、PWA 设置、真实基准测试以及诚实的局限性分析。读完之后,你将拥有一个可供整个团队使用的、生产就绪的聊天 UI。

什么是 Lobe Chat? #

Lobe Chat 是一个面向大语言模型的现代化开源聊天界面。它基于 Next.js 和 Ant Design 构建,提供类似 ChatGPT 的体验,支持多个 LLM 提供商(OpenAI、Claude、Gemini、Ollama、Azure、Bedrock 等 15 个以上)、可扩展插件、渐进式 Web 应用(PWA)能力,以及能让你完全掌控数据的自托管部署模式。

Lobe Chat 的工作原理 #

Lobe Chat 的架构将展示层与模型推理分离开来。Next.js 前端负责 UI 渲染、对话状态和插件编排,而 LLM 调用则通过可配置的 API 端点进行代理:

┌─────────────────────────────────────────────┐
│           User Browser / PWA                │
│  ┌─────────┐  ┌─────────┐  ┌────────────┐  │
│  │  Chat   │  │ Plugin  │  │  Settings  │  │
│  │  Panel  │  │  Store  │  │  (i18n)    │  │
│  └────┬────┘  └────┬────┘  └─────┬──────┘  │
└───────┼────────────┼─────────────┼────────┘
        │            │             │
        ▼            ▼             ▼
┌─────────────────────────────────────────────┐
│          Lobe Chat Server (Next.js)          │
│  ┌──────────┐ ┌──────────┐ ┌────────────┐  │
│  │  SSE     │ │  Plugin  │ │  Auth      │  │
│  │  Stream  │ │  Runtime │ │  (SSO)     │  │
│  └────┬─────┘ └────┬─────┘ └─────┬──────┘  │
└───────┼────────────┼─────────────┼────────┘
        │            │             │
        ▼            ▼             ▼
┌──────────┐  ┌──────────┐  ┌────────────┐
│  OpenAI  │  │  Claude  │  │   Ollama   │
│  API     │  │  API     │  │  (Local)   │
└──────────┘  └──────────┘  └────────────┘

核心组件:

  • 前端:基于 React Server Components 的 Next.js 14 App Router。渲染 Markdown、带语法高亮的代码块以及 LaTeX 数学公式。
  • 对话引擎:管理对话历史、上下文窗口、Token 计数,并通过 Server-Sent Events 处理流式响应。
  • 插件系统:使用 iframe + postMessage 实现的沙箱化插件运行时。插件通过兼容 OpenAPI 规范的 schema 声明自己的清单(manifest)。
  • 提供商代理:统一适配器模式,将 20 多个 LLM 提供商的 API 调用规范化。
  • PWA 层:使用 Service Worker 实现离线支持,可安装在桌面和移动端。

安装与配置:10 分钟即可开始聊天 #

前置条件:Docker 24.0+ 或 Node.js 20+(用于本地开发)、2GB 内存、1GB 磁盘空间。

方式一:Docker(推荐) #

步骤 1 —— 拉取并运行官方镜像:

docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=YOUR_OPENAI_API_KEY \
  -e ACCESS_CODE=your-secure-password \
  --name lobe-chat \
  lobehub/lobe-chat:latest

步骤 2 —— 访问界面:

打开 http://localhost:3210。你会看到一个设置向导,用于选择默认 LLM 提供商并输入 API 密钥。

步骤 3 —— 配置更多提供商(可选):

# Multi-provider setup via environment variables
docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxx \
  -e ANTHROPIC_API_KEY=sk-ant-xxx \
  -e GOOGLE_API_KEY=xxx \
  -e OLLAMA_PROXY_URL=http://host.docker.internal:11434 \
  -e ACCESS_CODE=your-secure-password \
  --name lobe-chat \
  lobehub/lobe-chat:latest

方式二:带持久化存储的 Docker Compose #

# docker-compose.yml
services:
  lobe-chat:
    image: lobehub/lobe-chat:latest
    ports:
      - "3210:3210"
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - ACCESS_CODE=${ACCESS_CODE}
      - DATABASE_URL=postgresql://postgres:password@db:5432/lobe
    volumes:
      - lobe-data:/app/.config/lobe-chat
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=lobe
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  lobe-data:
  pgdata:
# Start with persistence
docker compose up -d

方式三:部署到 DigitalOcean #

# On a 2 vCPU / 4GB RAM Droplet (~$24/month)
sudo apt update && sudo apt install -y docker.io docker-compose-plugin

# Create .env file
cat > .env << 'EOF'
OPENAI_API_KEY=sk-your-key
ACCESS_CODE=secure-team-password
EOF

# Run
docker compose up -d

# Set up reverse proxy with HTTPS via Caddy
cat > Caddyfile << 'EOF'
chat.yourdomain.com {
    reverse_proxy localhost:3210
}
EOF

添加一条指向你的 Droplet IP 的 DNS A 记录,不到 15 分钟就能上线。在这里获取一台 DigitalOcean Droplet

与 20+ LLM 提供商的集成 #

Lobe Chat 通过一个统一的适配器,把不同提供商的 API 调用规范化。以下是配置最常用几个提供商的方法:

OpenAI(GPT-4、GPT-4o) #

# Via environment variable
echo "OPENAI_API_KEY=sk-xxxxxxxx" >> .env

# Via UI: Settings → Language Model → OpenAI → Enter key

Anthropic Claude(Claude 3.5 Sonnet) #

# Environment variable
echo "ANTHROPIC_API_KEY=sk-ant-xxxxxxxx" >> .env

# Restart container
docker restart lobe-chat

Google Gemini(Gemini 1.5 Pro) #

echo "GOOGLE_API_KEY=AIzaxxxxxxxx" >> .env

Ollama(本地模型 —— Llama、Mistral 等) #

# Run Ollama on host
docker run -d -p 11434:11434 --name ollama ollama/ollama

# Pull a model
docker exec ollama ollama pull llama3.2

# Configure Lobe Chat to use Ollama
docker run -d -p 3210:3210 \
  -e OLLAMA_PROXY_URL=http://host.docker.internal:11434 \
  -e ACCESS_CODE=mypassword \
  lobehub/lobe-chat

Azure OpenAI Service #

# Requires endpoint, API key, and deployment name
echo "AZURE_API_KEY=your-azure-key" >> .env
echo "AZURE_API_ENDPOINT=https://your-resource.openai.azure.com" >> .env
echo "AZURE_API_VERSION=2024-06-01" >> .env

AWS Bedrock #

echo "AWS_ACCESS_KEY_ID=AKIAxxx" >> .env
echo "AWS_SECRET_ACCESS_KEY=xxx" >> .env
echo "AWS_REGION=us-east-1" >> .env

运行时切换提供商 #

用户可以在界面中按对话切换提供商,方便你并排对比 GPT-4 和 Claude:

# No restart needed —— provider switching is client-side
# Click provider icon in chat header → Select different model
# Each conversation remembers its provider choice

插件系统:扩展 Lobe Chat #

Lobe Chat 的插件架构基于清单(manifest)机制。插件在 manifest.json 中声明自己的能力,聊天界面会将它们渲染为可交互的工具。

从插件市场安装 #

  1. 打开 Lobe Chat → 插件商店
  2. 浏览 50 多个社区插件
  3. 点击"安装" → 授权权限
  4. 插件会在聊天过程中以工具调用的形式出现

构建自定义插件 #

创建一个查询内部 API 的简单插件:

{
  "api": [
    {
      "description": "Search internal knowledge base",
      "name": "search_kb",
      "parameters": {
        "properties": {
          "query": {
            "description": "Search query string",
            "type": "string"
          }
        },
        "required": ["query"],
        "type": "object"
      },
      "url": "https://api.yourcompany.com/kb/search"
    }
  ],
  "gateway": "https://gateway.example.com",
  "identifier": "your-company/kb-search",
  "meta": {
    "title": "Internal KB Search",
    "description": "Search company knowledge base"
  },
  "version": "1.0.0"
}

把它托管在一个公开可访问的 URL,然后通过插件商店 → 自定义插件 → 输入 URL的方式添加它。

插件运行时安全 #

插件在权限受限的沙箱 iframe 中执行:

┌─────────────────────────────┐
│  Lobe Chat Main Window      │
│  ┌───────────────────────┐  │
│  │  Sandboxed Iframe     │  │
│  │  (plugin code)        │  │
│  │  - No DOM access      │  │
│  │  - postMessage only   │  │
│  │  - CORS enforced      │  │
│  └───────────────────────┘  │
└─────────────────────────────┘

每一次插件请求都需要用户显式批准。LLM 会建议要调用的工具,但用户必须在执行前进行确认。

PWA 支持与移动端体验 #

Lobe Chat 可以作为渐进式 Web 应用(PWA)运行,让它在所有平台上都有原生应用般的体验。

在桌面端安装(Chrome/Edge) #

  1. 在 Chrome 中打开 Lobe Chat
  2. 点击地址栏中的安装图标
  3. 以独立窗口的形式启动,拥有自己的图标

在移动端安装(iOS Safari) #

1. Open Lobe Chat in Safari
2. Tap Share → "Add to Home Screen"
3. Appears as a native app icon
4. Supports push notifications (via service worker)

离线支持 #

Service Worker 会缓存应用外壳和最近的对话。没有网络连接时:

✅ Browse conversation history
✅ View previous responses
✅ Compose messages (queued for send)
❌ New LLM responses (requires API connectivity)

基准测试与真实场景案例 #

响应延迟(从美国东部测得) #

提供商首个 Token 到达时间完整响应(100 tokens)备注
OpenAI GPT-4o0.8s2.1s整体最快
Claude 3.5 Sonnet1.1s2.8s推理质量更高
Gemini 1.5 Pro1.3s3.0s上下文窗口更大
Ollama(Llama 3.2 7B,CPU)3.5s8.2s无 API 费用
Ollama(Llama 3.2 7B,RTX 4090)0.6s1.5s最快的本地方案
Azure GPT-41.0s2.4s企业级 SLA

资源占用 #

部署方式内存CPU用户数月成本
Docker 单实例350MB0.2 核1–50 美元(自托管)
Docker + 5 个提供商400MB0.3 核1–10仅 API 费用
带 PostgreSQL 后端650MB0.4 核10–50约 24 美元 VPS
反向代理之后400MB0.3 核10–100约 24 美元 VPS

真实部署案例 #

AI 咨询公司(12 名工程师):

  • DigitalOcean Droplet 上部署了 Lobe Chat
  • 连接了 8 个 LLM 提供商用于客户对比演示
  • 构建了 3 个自定义插件,连接到内部项目数据库
  • 相比单独订阅 ChatGPT Plus,每月节省 约 240 美元

大学研究实验室(40 名学生):

  • 使用 Ollama 自托管,用于隐私敏感的研究数据
  • 学生通过 PWA 在笔记本电脑和手机上访问
  • 插件连接到学校图书馆搜索 API
  • 未发表的研究数据零云端暴露

创业公司客服团队(5 名客服人员):

  • 通过 API 集成了 Claude 3.5 Sonnet
  • 自定义插件查询产品文档
  • 多语言界面支持英语、中文、日语客户
  • 回复起草时间减少 约 45%

高级用法与生产环境加固 #

启用身份验证 #

对于团队部署,设置一个访问码:

docker run -d -p 3210:3210 \
  -e ACCESS_CODE=your-secure-password-2026 \
  -e OPENAI_API_KEY=sk-xxx \
  lobehub/lobe-chat:latest

对于 SSO 集成,配置 OAuth:

  -e AUTH_PROVIDER=auth0 \
  -e AUTH_AUTH0_ID=your-client-id \
  -e AUTH_AUTH0_SECRET=your-secret \
  -e AUTH_AUTH0_ISSUER=https://your-domain.us.auth0.com \

自定义主题 #

创建一个主题 JSON 文件:

{
  "primaryColor": "#1890ff",
  "neutralColor": "#8c8c8c",
  "backgroundColor": "#f0f2f5",
  "sidebarWidth": 280
}

通过设置 → 主题 → 自定义主题上传。

数据库支持的对话持久化 #

如需支持多用户持久化,配置 PostgreSQL:

# docker-compose.prod.yml
services:
  lobe-chat:
    image: lobehub/lobe-chat:latest
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/lobechat
      - APP_URL=https://chat.yourdomain.com
    ports:
      - "3210:3210"

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
      POSTGRES_DB: lobechat
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:

使用 Caddy 做反向代理 #

# Caddyfile for automatic HTTPS
chat.yourdomain.com {
    reverse_proxy localhost:3210
    encode gzip
    header {
        X-Frame-Options DENY
        X-Content-Type-Options nosniff
    }
}
caddy run --config Caddyfile

使用 Prometheus 进行监控 #

Lobe Chat 在 /api/metrics 处暴露监控指标:

# docker-compose.monitoring.yml
services:
  prometheus:
    image: prom/prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"

与其他方案的对比 #

功能Lobe ChatLibreChatChatGPT WebHuggingChat
GitHub Stars约 60,000约 20,000约 30,000不适用(产品)
LLM 提供商20+10+仅 OpenAI仅 HF 模型
插件系统基于清单(Manifest)基础工具
PWA 支持完整部分
多语言 UI15+ 种语言5 种语言10 种语言6 种语言
自托管是(Docker)否(仅 SaaS)
身份验证SSO + 访问码SSO + 本地基础仅 OAuth
知识库基于插件内置 RAG仅 GPTs
代码解释器通过插件通过插件原生
移动端体验原生般的 PWA响应式响应式基础
主题自定义完整部分极简
消息同步PostgreSQL 后端MongoDBLocalStorage云端

如何选择:

  • Lobe Chat:如果你需要一个界面精美、支持多提供商、带插件和 PWA 的聊天 UI,选它。对团队而言体验最全面。
  • LibreChat:如果你想要更简单的搭建方式、内置 RAG(文档上传),又不需要 PWA 或丰富的插件生态,选它。
  • ChatGPT Web(Next-Web):如果你主要使用 OpenAI,并且想要最快、最轻量的自托管 UI,选它。
  • HuggingChat:可作为 Hugging Face 模型的免费网页 UI 使用,但不适合自托管或企业场景。

局限性:诚实评估 #

目前没有内置 RAG。 与内置文档上传和向量搜索的 LibreChat 不同,Lobe Chat 的知识库功能依赖插件实现。原生 RAG 功能已列入 v1.0 版本路线图,但截至 2026 年 5 月尚未推出。

插件生态还很年轻。 目前约有 50 个插件,相比之下 ChatGPT 有数千个。构建自定义插件需要理解清单(manifest)schema,并托管一个兼容的 API。

需要 LLM API 密钥。 Lobe Chat 只是一个 UI——你仍然需要云端提供商的 API 密钥,或者一个正在运行的 Ollama 实例来使用本地模型。它没有内置的"免费额度"。

没有多用户聊天室。 对话是每个浏览器会话私有的。要实现带共享频道的真正多用户协作,需要自定义后端。

Docker 镜像较大。 生产镜像压缩后约 400MB。在网速较慢的环境下,首次拉取需要几分钟。

没有语音输入/输出。 与 ChatGPT 的移动应用不同,Lobe Chat 原生不支持语音转文字或文字转语音。可以用浏览器自带的 Web Speech API 作为变通方案。

插件审批的交互流程会增加摩擦。 每一次插件调用都需要用户确认。这对安全性很有利,但相比 ChatGPT 自动运行的代码解释器,会拖慢工作流程。

常见问题 #

问:Lobe Chat 会把我的对话存储在他们的服务器上吗?

不会。自托管时,所有对话数据都保留在你的基础设施上。Lobe Chat 是一个客户端应用,除非你显式配置了分析功能,否则不会向外部服务器发送任何遥测数据。这套开源代码(MIT 许可证)可以在 GitHub 上审计。云端 API 密钥(OpenAI、Claude)只用于 LLM 推理调用——对话本身是本地存储的。

问:我可以在同一个对话中使用多个 LLM 提供商吗?

在单个对话线程内不行。每个对话都绑定一个提供商,但你可以创建使用不同提供商的多个对话,并在它们之间切换。有些用户会保留一个"GPT-4"会话用于编码,一个"Claude"会话用于写作,通过侧边栏切换。

问:如何将 Lobe Chat 更新到最新版本?

# Pull latest image
docker pull lobehub/lobe-chat:latest

# Restart container
docker compose down && docker compose up -d

# Conversations persist in browser localStorage
# For PostgreSQL backend, database migrations run automatically

更新每周发布。在更新前,请查看 发布页面,确认是否存在破坏性变更。

问:插件系统和函数调用(function calling)有什么区别?

Lobe Chat 的插件是UI 层面的集成——它们会在聊天界面中渲染交互式卡片、表单和可视化组件。函数调用则是 LLM 层面的机制,决定何时调用工具。Lobe Chat 底层使用函数调用来触发插件,然后渲染插件返回的 UI。插件架构在函数调用的基础上,扩展出了可视化组件和用户审批流程。

问:我可以在没有网络连接的情况下使用 Lobe Chat 吗?

部分可以。如果你把 Ollama 配置为唯一的提供商(本地 LLM),核心聊天功能可以离线运行。不过,插件调用需要联网(它们要访问外部 API),并且应用首次加载时需要下载资源。PWA 会缓存应用外壳,因此在首次访问之后,如果使用本地模型,基本的聊天功能可以在没有网络时正常使用。

问:对话历史有数量限制吗?

在默认的 localStorage 后端下,对话保存在浏览器中没有硬性上限,不过超过约 500 条长对话后性能会下降。使用 PostgreSQL 后端时,实际上没有限制——数据库可以处理多个用户的数千条对话。Token 上下文窗口的限制则取决于所选 LLM 提供商自身的约束。

问:我可以导入我的 ChatGPT 对话记录吗?

不能直接导入。ChatGPT 的导出格式(conversations.json)与 Lobe Chat 的存储 schema 不兼容。不过,社区有工具可以把 ChatGPT 的导出内容转换成 Markdown,你可以把它粘贴进 Lobe Chat 的对话中。LobeHub 团队已经把导入功能列入了 2026 年第三季度的路线图。

结论:你的聊天,你做主 #

Lobe Chat 提供了 ChatGPT 给不了的东西:对数据的完全掌控、对所有主流 LLM 提供商的支持、可扩展的插件系统,以及原生般的移动端体验——而这一切都运行在你自己的硬件上。凭借 约 6 万个 GitHub star 和每周一次的发布节奏,它是一个成熟、持续维护的项目,在体验质量上足以媲美商业替代品。

对个人用户来说,Docker 搭建只需 10 分钟,除了 API 使用费之外没有任何成本。对团队来说,在 DigitalOcean 上配合 PostgreSQL 后端部署,能得到一个可完全审计的共享聊天平台。

插件系统和 PWA 支持让 Lobe Chat 不只是一个 ChatGPT 的克隆品——它是一个可以为你的组织量身定制 AI 驱动工作流的平台。多语言界面意味着全球团队无需额外配置就能直接使用。

准备好切换了吗? 运行 Docker 命令,添加你的 API 密钥,开始聊天。你的对话属于你自己。

加入我们面向 AI 开发者的 Telegram 社区:@dibi8dev——分享你的 Lobe Chat 配置,并从 5000+ 名开发者那里获得帮助。


来源与延伸阅读 #

  1. Lobe Chat GitHub 仓库 — 官方源代码、发布信息与文档
  2. Lobe Chat 官方文档 — 官方搭建与配置指南
  3. Lobe Chat 插件文档 — 插件清单(manifest)规范
  4. Docker Hub — lobehub/lobe-chat — 官方 Docker 镜像
  5. LobeHub 插件市场 — 浏览可用插件
  6. Next.js 官方文档 — 底层框架文档

推荐的托管与基础设施 #

在把上述任何工具部署到生产环境之前,你都需要可靠的基础设施。以下两个选项是 dibi8 实际在用并推荐的:

  • DigitalOcean — 覆盖 14+ 个全球区域,60 天内享 200 美元免费额度。是独立开发者运行开源 AI 工具的默认之选。
  • HTStack — 香港 VPS,从中国大陆访问延迟低。这正是承载 dibi8.com 的同一家 IDC——已经过生产环境的实战检验。

联盟链接——不会给你增加任何成本,同时能帮助 dibi8.com 持续运营。

联盟披露 #

本文包含联盟链接。如果你通过我们的推荐链接注册 DigitalOcean,我们会获得一笔佣金,且不会给你增加任何额外成本。我们只推荐自己实际用于基础设施的服务。Lobe Chat 是开源的(MIT 许可证),可以免费使用——无需任何购买。

参考资料与来源 #

💬 留言讨论