For the complete documentation index, see /developers/llms.txt Markdown versions: append .md to any /developers/{slug} URL. Browse structure: /developers/sitemap.md This page: /developers/architecture.md

Neu hier? Starte mit Was ist Eigen Mesh? für eine verständliche Einführung.

Architekturübersicht

Einfach gesagt: Eigen Mesh ist eine App und eine Datenbank — Browser, MCP-Clients und REST-APIs teilen sich dieselbe Memory-, Auth- und Suchlogik.

Eigen Mesh ist eine einzelne SvelteKit-Anwendung, die von einer einzigen PostgreSQL-Instanz mit den Erweiterungen pgvector und Apache AGE gestützt wird. Browser-UI, REST und MCP teilen sich dieselbe Geschäftslogik und dasselbe Mandantenmodell.

Für wen das gedacht ist

  • Betreiber, die ein Self-Hosted-Deployment planen oder prüfen
  • Integratoren, die die Systemlandkarte brauchen, bevor sie MCP- oder REST-Clients anbinden

Systemdiagramm

flowchart TB
  subgraph clients [Clients]
    Browser[Browser UI]
    MCP[MCP clients]
    REST[Custom REST apps]
  end

  subgraph app [Eigen Mesh app]
    Auth[Better Auth sessions]
    Ingest[Ingestion pipeline]
    Search[Hybrid retrieval]
    QA[Answer composition]
    Sleep[Consolidation]
  end

  subgraph data [PostgreSQL]
    PG[(Relational SoR)]
    Vec[pgvector embeddings]
    AGE[Apache AGE graph]
  end

  Browser --> Auth
  MCP --> Auth
  REST --> Auth
  Auth --> Ingest
  Auth --> Search
  Search --> QA
  Ingest --> PG
  Ingest --> Vec
  Ingest --> AGE
  Search --> Vec
  Search --> PG
  Sleep --> PG
  Sleep --> AGE

Domänen

Domäne Zuständigkeit
Ingestion Erfassung, Bearbeitung, Embedding, lexikalischer Index, Graph-Sync, Aktivitätsprotokoll
Client-Erfassungswarteschlange Browser-IndexedDB-Warteschlange, Offline-Sync, NDJSON-Fortschritt
Retrieval Hybride Suche (Vektor + lexikalisch + vorberechnete Graph-Links), LLM-Reranking, In-App-QA-Formulierung
Auth & Mandantenfähigkeit Better Auth, API-Keys, RLS über user_id, eingeschränkte DB-Rolle
UI-Oberflächen Capture, Memory (Graph/Timeline/Notizen), Chat, Aktivität, Einstellungen, API-Keys
Konsolidierung Nächtliche Salienz, Ontologie-Bereinigung, Communities

Deployment-Topologie

Dienst Rolle
eigen-app SvelteKit Node-Adapter, Port 3000
eigen-db Postgres 16 + pgvector + AGE, Port 5432

Docker Compose im eigen-Repository definiert beide Dienste. Verwaltete und Self-Hosted-Deployments laufen mit identischem Produktcode — nur Betreiber und Infrastruktur unterscheiden sich (Deployment-Modell).

Integrationsschnittstellen

Schnittstelle Auth Anwendungsfall
MCP /api/mcp Bearer-API-Key KI-Assistenten (Cursor, Claude) — vier Thought-Tools
REST /api/* Session-Cookie Browser-UI, eigene Apps
Chat /api/chat Session-Cookie Memory-Assistent mit Tool-Loop

Sicherheitsgrenzen

  • Mandantentrennung: Row Level Security auf allen Nutzerdaten; MCP löst den API-Key vor jeder Query zu user_id auf
  • Embeddings: In Postgres für die Suche gespeichert; werden nie in MCP-, Chat- oder LLM-Payloads zurückgegeben — Embeddings-Grenze

Implementierungsdetails

Für dateibasierte Architektur-Landkarten (kanonische Pfade, Schlüsselsymbole, Konfliktprotokoll) siehe den Contributor-Bereich:

Fehlerbehebung

Siehe Fehlerbehebung für Deployment- und Integrationsprobleme.

Nächste Schritte

Agenten-Hinweise

This documentation is published for humans and AI agents. Bevorzuge .md URLs für strukturierte Inhalte.

  • Index: /developers/llms.txt
  • Full export: /developers/llms-full.txt
  • Sitemap: /developers/sitemap.md
  • Raw page: append `.md` to any /developers/{slug} URL
  • Example: GET /developers/mcp-overview.md

Dynamic `?ask=` and `?goal=` query on markdown URLs is planned — see docs/planning/10-docs-query-api-design.md.