project-overview

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

LobeChat Project Overview

LobeChat 项目概览

Project Description

项目描述

Open-source, modern-design AI Agent Workspace: LobeHub (previously LobeChat).
Supported platforms:
  • Web desktop/mobile
  • Desktop (Electron)
  • Mobile app (React Native) - coming soon
Logo emoji: 🤯
开源、现代设计的AI Agent工作区:LobeHub(前身为LobeChat)。
支持平台:
  • Web端桌面/移动设备
  • 桌面端(Electron)
  • 移动端应用(React Native)- 即将推出
Logo表情: 🤯

Complete Tech Stack

完整技术栈

CategoryTechnology
FrameworkNext.js 16 + React 19
RoutingSPA inside Next.js with
react-router-dom
LanguageTypeScript
UI Components
@lobehub/ui
, antd
CSS-in-JSantd-style
Iconslucide-react,
@ant-design/icons
i18nreact-i18next
Statezustand
URL Paramsnuqs
Data FetchingSWR
React HooksaHooks
Date/Timedayjs
Utilitieses-toolkit
APITRPC (type-safe)
DatabaseNeon PostgreSQL + Drizzle ORM
TestingVitest
分类技术
框架Next.js 16 + React 19
路由Next.js 内置SPA,使用
react-router-dom
语言TypeScript
UI组件
@lobehub/ui
, antd
CSS-in-JSantd-style
图标lucide-react,
@ant-design/icons
国际化react-i18next
状态管理zustand
URL参数nuqs
数据获取SWR
React HooksaHooks
日期/时间dayjs
工具库es-toolkit
APITRPC(类型安全)
数据库Neon PostgreSQL + Drizzle ORM
测试Vitest

Complete Project Structure

完整项目结构

Monorepo using
@lobechat/
namespace for workspace packages.
lobe-chat/
├── apps/
│   └── desktop/                 # Electron desktop app
├── docs/
│   ├── changelog/
│   ├── development/
│   ├── self-hosting/
│   └── usage/
├── locales/
│   ├── en-US/
│   └── zh-CN/
├── packages/
│   ├── agent-runtime/           # Agent runtime
│   ├── builtin-agents/
│   ├── builtin-tool-*/          # Builtin tool packages
│   ├── business/                # Cloud-only business logic
│   │   ├── config/
│   │   ├── const/
│   │   └── model-runtime/
│   ├── config/
│   ├── const/
│   ├── context-engine/
│   ├── conversation-flow/
│   ├── database/
│   │   └── src/
│   │       ├── models/
│   │       ├── schemas/
│   │       └── repositories/
│   ├── desktop-bridge/
│   ├── edge-config/
│   ├── editor-runtime/
│   ├── electron-client-ipc/
│   ├── electron-server-ipc/
│   ├── fetch-sse/
│   ├── file-loaders/
│   ├── memory-user-memory/
│   ├── model-bank/
│   ├── model-runtime/
│   │   └── src/
│   │       ├── core/
│   │       └── providers/
│   ├── observability-otel/
│   ├── prompts/
│   ├── python-interpreter/
│   ├── ssrf-safe-fetch/
│   ├── types/
│   ├── utils/
│   └── web-crawler/
├── src/
│   ├── app/
│   │   ├── (backend)/
│   │   │   ├── api/
│   │   │   ├── f/
│   │   │   ├── market/
│   │   │   ├── middleware/
│   │   │   ├── oidc/
│   │   │   ├── trpc/
│   │   │   └── webapi/
│   │   ├── [variants]/
│   │   │   ├── (auth)/
│   │   │   ├── (main)/
│   │   │   ├── (mobile)/
│   │   │   ├── onboarding/
│   │   │   └── router/
│   │   └── desktop/
│   ├── business/                # Cloud-only (client/server)
│   │   ├── client/
│   │   ├── locales/
│   │   └── server/
│   ├── components/
│   ├── config/
│   ├── const/
│   ├── envs/
│   ├── features/
│   ├── helpers/
│   ├── hooks/
│   ├── layout/
│   │   ├── AuthProvider/
│   │   └── GlobalProvider/
│   ├── libs/
│   │   ├── better-auth/
│   │   ├── oidc-provider/
│   │   └── trpc/
│   ├── locales/
│   │   └── default/
│   ├── server/
│   │   ├── featureFlags/
│   │   ├── globalConfig/
│   │   ├── modules/
│   │   ├── routers/
│   │   │   ├── async/
│   │   │   ├── lambda/
│   │   │   ├── mobile/
│   │   │   └── tools/
│   │   └── services/
│   ├── services/
│   ├── store/
│   │   ├── agent/
│   │   ├── chat/
│   │   └── user/
│   ├── styles/
│   ├── tools/
│   ├── types/
│   └── utils/
└── e2e/                         # E2E tests (Cucumber + Playwright)
使用
@lobechat/
命名空间的单仓库(Monorepo)工作区包。
lobe-chat/
├── apps/
│   └── desktop/                 # Electron桌面应用
├── docs/
│   ├── changelog/
│   ├── development/
│   ├── self-hosting/
│   └── usage/
├── locales/
│   ├── en-US/
│   └── zh-CN/
├── packages/
│   ├── agent-runtime/           # Agent运行时
│   ├── builtin-agents/
│   ├── builtin-tool-*/          # 内置工具包
│   ├── business/                # 仅云端业务逻辑
│   │   ├── config/
│   │   ├── const/
│   │   └── model-runtime/
│   ├── config/
│   ├── const/
│   ├── context-engine/
│   ├── conversation-flow/
│   ├── database/
│   │   └── src/
│   │       ├── models/
│   │       ├── schemas/
│   │       └── repositories/
│   ├── desktop-bridge/
│   ├── edge-config/
│   ├── editor-runtime/
│   ├── electron-client-ipc/
│   ├── electron-server-ipc/
│   ├── fetch-sse/
│   ├── file-loaders/
│   ├── memory-user-memory/
│   ├── model-bank/
│   ├── model-runtime/
│   │   └── src/
│   │       ├── core/
│   │       └── providers/
│   ├── observability-otel/
│   ├── prompts/
│   ├── python-interpreter/
│   ├── ssrf-safe-fetch/
│   ├── types/
│   ├── utils/
│   └── web-crawler/
├── src/
│   ├── app/
│   │   ├── (backend)/
│   │   │   ├── api/
│   │   │   ├── f/
│   │   │   ├── market/
│   │   │   ├── middleware/
│   │   │   ├── oidc/
│   │   │   ├── trpc/
│   │   │   └── webapi/
│   │   ├── [variants]/
│   │   │   ├── (auth)/
│   │   │   ├── (main)/
│   │   │   ├── (mobile)/
│   │   │   ├── onboarding/
│   │   │   └── router/
│   │   └── desktop/
│   ├── business/                # 仅云端(客户端/服务端)
│   ├── components/
│   ├── config/
│   ├── const/
│   ├── envs/
│   ├── features/
│   ├── helpers/
│   ├── hooks/
│   ├── layout/
│   │   ├── AuthProvider/
│   │   └── GlobalProvider/
│   ├── libs/
│   │   ├── better-auth/
│   │   ├── oidc-provider/
│   │   └── trpc/
│   ├── locales/
│   │   └── default/
│   ├── server/
│   │   ├── featureFlags/
│   │   ├── globalConfig/
│   │   ├── modules/
│   │   ├── routers/
│   │   │   ├── async/
│   │   │   ├── lambda/
│   │   │   ├── mobile/
│   │   │   └── tools/
│   │   └── services/
│   ├── services/
│   ├── store/
│   │   ├── agent/
│   │   ├── chat/
│   │   └── user/
│   ├── styles/
│   ├── tools/
│   ├── types/
│   └── utils/
└── e2e/                         # 端到端测试(Cucumber + Playwright)

Architecture Map

架构映射

LayerLocation
UI Components
src/components
,
src/features
Global Providers
src/layout
Zustand Stores
src/store
Client Services
src/services/
REST API
src/app/(backend)/webapi
tRPC Routers
src/server/routers/{async|lambda|mobile|tools}
Server Services
src/server/services
(can access DB)
Server Modules
src/server/modules
(no DB access)
Feature Flags
src/server/featureFlags
Global Config
src/server/globalConfig
DB Schema
packages/database/src/schemas
DB Model
packages/database/src/models
DB Repository
packages/database/src/repositories
Third-party
src/libs
(analytics, oidc, etc.)
Builtin Tools
src/tools
,
packages/builtin-tool-*
Cloud-only
src/business/*
,
packages/business/*
层级位置
UI组件
src/components
,
src/features
全局提供者
src/layout
Zustand状态存储
src/store
客户端服务
src/services/
REST API
src/app/(backend)/webapi
tRPC路由
src/server/routers/{async|lambda|mobile|tools}
服务端服务
src/server/services
(可访问数据库)
服务端模块
src/server/modules
(不可访问数据库)
功能标志
src/server/featureFlags
全局配置
src/server/globalConfig
数据库Schema
packages/database/src/schemas
数据库模型
packages/database/src/models
数据库仓库
packages/database/src/repositories
第三方集成
src/libs
(分析、oidc等)
内置工具
src/tools
,
packages/builtin-tool-*
仅云端功能
src/business/*
,
packages/business/*

Data Flow

数据流

React UI → Store Actions → Client Service → TRPC Lambda → Server Services → DB Model → PostgreSQL
React UI → Store Actions → Client Service → TRPC Lambda → Server Services → DB Model → PostgreSQL