Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Projektarchitektur

Übersicht über die Monorepo-Arbeitsbereichsstruktur und Paketgrenzen von LibreChat.

Monorepo-Struktur

LibreChat ist als Monorepo mit klar definierten Workspace-Grenzen organisiert:

WorkspaceSpracheSeiteAbhängigkeitZweck
/apiJS (legacy)Backendpackages/api, packages/data-schemas, packages/data-provider, @librechat/agentsExpress-Server — Änderungen hier minimieren
/packages/apiTypeScriptBackendpackages/data-schemas, packages/data-providerNeuer Backend-Code befindet sich hier (nur TS, wird von /api konsumiert)
/packages/data-schemasTypeScriptBackendpackages/data-providerDatenbankmodelle/-schemas, gemeinsam nutzbar für Backend-Projekte
/packages/data-providerTypeScriptSharedGemeinsame API-Typen, Endpoints, Data-Service — wird sowohl vom Frontend als auch vom Backend verwendet
/clientTypeScript/ReactFrontendpackages/data-provider, packages/clientFrontend SPA
/packages/clientTypeScriptFrontendpackages/data-providerGemeinsame Frontend-Utilities

Grundprinzipien

  • All new backend code must be TypeScript in /packages/api.
  • Halten Sie Änderungen an /api auf ein absolutes Minimum — schlanke JS-Wrapper, die /packages/api aufrufen.
  • Datenbankspezifische gemeinsame Logik gehört in /packages/data-schemas.
  • Frontend/Backend-geteilte API-Logik (endpoints, types, data-service) gehört in /packages/data-provider.

Erstellen und Installieren

BefehlZweck
npm run smart-reinstallInstalliert Abhängigkeiten (falls sich die Lockfile geändert hat) + Build via Turborepo
npm run reinstallClean Install nach Änderung der Node/npm-Versionen oder bei fehlerhaftem Abhängigkeitsstatus
npm run buildErstellt den gesamten kompilierten Code via Turborepo (parallel, gecacht)
npm run frontendErstellt den gesamten kompilierten Code sequenziell (Legacy-Fallback)
npm run build:data-providerErstellt packages/data-provider nach Änderungen neu
npm run backendStartet den Backend-Server
npm run backend:devStartet das Backend mit Dateiüberwachung (Entwicklung)
npm run frontend:devStartet den Frontend-Entwicklungsserver mit HMR (Port 3090, erfordert laufendes Backend)
  • Node.js: v24.16.0
  • npm: v11.16.0
  • Datenbank: MongoDB
  • Das Backend läuft unter http://localhost:3080/; der Frontend-Entwicklungsserver unter http://localhost:3090/

Hinweis

Für den vollständigen Satz an Programmierstandards und Konventionen, siehe Code Standards and Conventions.

Wie finden Sie diese Anleitung?