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_idauf - 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.