Agent Skills: LobeHub Project Overview

Complete project architecture and structure guide. Use when exploring the codebase, understanding project organization, finding files, or needing comprehensive architectural context. Triggers on architecture questions, directory navigation, or project overview needs.

UncategorizedID: lobehub/lobe-chat/project-overview

Repository

lobehubLicense: NOASSERTION
74,28014,835

Install this agent skill to your local

pnpm dlx add-skill https://github.com/lobehub/lobehub/tree/HEAD/.agents/skills/project-overview

Skill Files

Browse the full folder contents for project-overview.

Download Skill

Loading file tree…

.agents/skills/project-overview/SKILL.md

Skill Metadata

Name
project-overview
Description
'LobeHub open-source monorepo architecture map. Use when locating code layers, understanding apps/packages/src layout, business stubs, project structure, or onboarding to the repository.'

LobeHub Project Overview

The directory listings below are a curated map of key locations, not an exhaustive tree. packages/, src/store/, route groups etc. grow over time β€” run ls against the real directory for the current set.

Project Description

Open-source, modern-design AI Agent Workspace: LobeHub (previously LobeChat). This repo is the open-source root (github.com/lobehub/lobehub, package @lobehub/lobehub).

Supported platforms:

  • Web desktop/mobile
  • Desktop (Electron) β€” apps/desktop
  • Mobile app (React Native) β€” separate repo, already launched (not in this monorepo)

Logo emoji: 🀯

Complete Tech Stack

| Category | Technology | | ------------- | ------------------------------------------ | | Framework | Next.js 16 + React 19 | | Routing | SPA inside Next.js with react-router-dom | | Language | TypeScript | | UI Components | @lobehub/ui, antd | | CSS-in-JS | antd-style | | Icons | lucide-react, @ant-design/icons | | i18n | react-i18next | | State | zustand | | URL Params | nuqs | | Data Fetching | SWR | | React Hooks | aHooks | | Date/Time | dayjs | | Utilities | es-toolkit | | API | TRPC (type-safe) | | Database | Neon PostgreSQL + Drizzle ORM | | Testing | Vitest |

Exact versions live in the root package.json β€” check there, not here.

Monorepo Layout

Flat layout β€” apps/, packages/, and src/ all sit at the repo root. No git submodules.

(repo root)
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ cli/                  # LobeHub CLI
β”‚   β”œβ”€β”€ desktop/              # Electron desktop app
β”‚   β”œβ”€β”€ device-gateway/       # Device gateway service
β”‚   └── server/               # Next.js-backed server: featureFlags, globalConfig, modules, routers, services, utils, workflows (`@/server/*` alias)
β”œβ”€β”€ docs/                     # changelog, development, self-hosting, usage
β”œβ”€β”€ locales/                  # en-US, zh-CN, ...
β”œβ”€β”€ packages/                 # ~80 @lobechat/* workspace packages β€” `ls` for the full set. Key ones:
β”‚   β”œβ”€β”€ agent-runtime/        # Agent runtime core
β”‚   β”œβ”€β”€ agent-signal/         # Agent Signal pipeline
β”‚   β”œβ”€β”€ agent-tracing/        # Tracing / snapshots
β”‚   β”œβ”€β”€ builtin-tool-*/       # Per-tool packages (calculator, web-browsing, claude-code, ...)
β”‚   β”œβ”€β”€ builtin-tools/        # Central registries that compose builtin-tool-*
β”‚   β”œβ”€β”€ context-engine/
β”‚   β”œβ”€β”€ database/             # src/{models,schemas,repositories}
β”‚   β”œβ”€β”€ model-bank/           # Model definitions & provider cards
β”‚   β”œβ”€β”€ model-runtime/        # src/{core,providers}
β”‚   β”œβ”€β”€ business/             # Open-source stubs (config, const, model-bank, model-runtime) β€” overridden by cloud
β”‚   β”œβ”€β”€ types/
β”‚   └── utils/
└── src/
    β”œβ”€β”€ app/
    β”‚   β”œβ”€β”€ (backend)/        # api, f, market, middleware, oidc, trpc, webapi
    β”‚   β”œβ”€β”€ spa/              # SPA HTML template service
    β”‚   └── [variants]/(auth)/ # Auth pages (SSR required)
    β”œβ”€β”€ routes/               # SPA page segments (thin β€” delegate to features/)
    β”‚   └── (main)/ (mobile)/ (desktop)/ (popup)/ onboarding/ share/
    β”œβ”€β”€ spa/                  # SPA entries + router config
    β”‚   β”œβ”€β”€ entry.{web,mobile,desktop,popup}.tsx
    β”‚   └── router/
    β”œβ”€β”€ business/             # Open-source stubs (client/server) β€” cloud repo provides real impls
    β”œβ”€β”€ features/             # Domain business components
    β”œβ”€β”€ store/                # ~30 zustand stores β€” `ls` for the full set
    β”œβ”€β”€ server/               # standalone-Hono server pieces only: agent-hono, workflows-hono (main backend lives in `apps/server`)
    └── ...                   # components, hooks, layout, libs, locales, services, types, utils

Architecture Map

| Layer | Location | | ---------------- | -------------------------------------------------------- | | UI Components | src/components, src/features | | SPA Pages | src/routes/ | | React Router | src/spa/router/ | | Global Providers | src/layout | | Zustand Stores | src/store | | Client Services | src/services/ | | REST API | src/app/(backend)/webapi | | tRPC Routers | apps/server/src/routers/{async\|lambda\|mobile\|tools} | | Server Services | apps/server/src/services (can access DB) | | Server Modules | apps/server/src/modules (no DB access) | | Feature Flags | apps/server/src/featureFlags | | Global Config | apps/server/src/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 | packages/builtin-tool-*, packages/builtin-tools | | Open-source stub | src/business/*, packages/business/* (this repo) |

Data Flow

React UI β†’ Store Actions β†’ Client Service β†’ TRPC Lambda β†’ Server Services β†’ DB Model β†’ PostgreSQL

Note: Relationship to the Cloud Repo

This open-source repo is consumed by a separate, private cloud (SaaS) repo as a git submodule mounted at lobehub/. The cloud repo provides:

  • src/business/{client,server} and packages/business/* implementations that override the stubs shipped here.
  • Cloud-only routes (e.g. (cloud)/, embed/), cloud-only stores (e.g. subscription/), cloud-only TRPC routers (billing, budget, risk control, …), and Vercel cron routes under src/app/(backend)/cron/.
  • File-resolution order in cloud: @/store/x β†’ cloud src/store/x first, then lobehub/packages/store/src/x, then lobehub/src/store/x. Cloud override wins.

When working in this repo alone, ignore the cloud layer β€” the stubs in src/business/ and packages/business/ are the source of truth here.