菜单

主要特性和功能

相关源文件

本文档全面概述了 LobeChat 的核心特性和技术能力。LobeChat 是一款开源的、现代设计的 ChatGPT/LLMs UI/框架,支持语音合成、多模态交互和可扩展的插件系统。本文档介绍的特性代表了用户和开发者在使用 LobeChat 时可以利用的主要功能领域。

有关底层系统架构的信息,请参阅 系统架构概述。有关具体的部署配置,请参阅 部署选项

核心技术架构

LobeChat 基于 Next.js、TypeScript 和 React 构建,采用模块化架构,跨多个层分离关注点。

系统组件概述

来源:package.json1-30 README.md1-50

多模型 AI 提供商支持

LobeChat 通过统一的 AgentRuntime 系统支持超过 40 家 AI 模型提供商,该系统抽象了提供商的特定实现。

提供商集成架构

关键技术特性包括:

功能实现文件引用
提供商抽象AgentRuntime 类处理所有提供商特定的逻辑src/libs/agent-runtime
模型配置ModelProviderCardAIChatModelCard 定义能力src/config/modelProviders
流式响应服务器发送事件 (SSE) 用于实时 AI 响应src/app/api/chat
函数调用跨兼容提供商的通用函数调用src/libs/agent-runtime

来源:README.md182-236 package.json124-140

高级聊天和对话功能

思维链 (CoT) 可视化

LobeChat 通过 CoT 可视化提供透明的 AI 推理,允许用户观察循序渐进的问题解决过程。此功能适用于支持推理的模型,如 OpenAI 的 o1 系列和 Claude 的思维模型。

分支对话

对话系统支持树状结构,用户可以从任何消息创建新分支。

来源:README.md129-140

Artifacts 支持

与 Claude Artifacts 集成,可以实时创建和可视化:

  • 动态 SVG 图形
  • 交互式 HTML 页面
  • 多格式专业文档

来源:README.md144-154

插件和扩展框架

函数调用系统

插件系统支持:

  • 函数调用:跨提供商的通用函数调用接口
  • 工具注册表:提供 43+ 种可用插件,适用于各种任务
  • 自定义工具:用于开发自定义插件的 SDK
  • 内置集成:网络搜索、文件处理和图像生成

来源:package.json149-150 README.md310-334

文件上传和知识库

LobeChat 支持全面的文件处理和知识管理:

支持的文件类型

  • 文档:PDF、DOCX、TXT、Markdown
  • 图片:所有常见图片格式,支持视觉模型
  • 音频:用于转录的语音文件
  • 视频:视频内容处理
  • 代码:编程语言文件

知识库特性

  • 使用 PGVector 扩展进行向量搜索
  • 文档嵌入和相似性搜索
  • 集成聊天文件引用
  • 批量文件处理

来源:README.md158-167 package.json223

数据存储和持久化

双数据库架构

存储模式用例配置
仅客户端单用户,离线可用仅 PGLite 数据库
仅服务器多用户,云部署PostgreSQL + S3 存储
混合模式兼具两者优势PGLite + PostgreSQL 同步

来源:package.json137 package.json182 package.json223

用户界面和体验

渐进式 Web 应用 (PWA)

  • 通过服务工作线程实现离线功能
  • 类似移动应用的体验
  • 支持推送通知
  • 安装提示

多模态界面

  • 文本转语音 (TTS):集成 @lobehub/tts
  • 语音转文本 (STT):支持语音输入
  • 视觉处理:通过视觉模型进行图像理解
  • 图像生成:DALL-E 3、MidJourney、Pollinations 集成

国际化

  • 支持 15+ 种语言
  • 使用 i18next 框架,支持自动翻译工作流
  • RTL 语言支持
  • 本地化的模型描述和 UI 元素

来源:package.json152 .i18nrc.js7-25 README.md281-287

身份验证和多用户支持

LobeChat 支持多种身份验证提供商:

提供商实现用例
NextAuth.js集成 next-authOAuth 提供商
Clerk@clerk/nextjs现代身份验证服务
Casdoor自托管 SSO企业级部署
OIDC自定义 OIDC 提供商企业集成

来源:package.json133-134 package.json209

配置和环境管理

环境变量系统

LobeChat 使用 @t3-oss/env-nextjs 进行类型安全的配置,支持 200+ AI 提供商的配置。

模型列表定制

  • 添加模型:+模型名称
  • 移除模型:-模型名称
  • 重命名模型:model=自定义名称
  • 通过环境变量进行提供商特定的配置

来源:package.json160 README.md76

LobeChat 拥有全面的功能集,使其成为强大的人工智能聊天应用平台,支持从简单的对话到复杂的、多模态的交互,并提供广泛的定制和部署选项。