# Synapse-Architektur SUMMARY: Wie Synapse aufgebaut ist — Fastify, PostgreSQL, FTS5, Embeddings, MCP-Server. Synapse-Architektur Synapse ist eine Multi-Tenant-Memory-API basierend auf Fastify, PostgreSQL mit FTS5 und einem optionalen Embeddings-Dienst für semantische Suche. Architektur-Überblick [CODE BLOCK] Kernkomponenten 1. Synapse-API (Fastify) Der Haupt-HTTP-Server. Behandelt: - REST-Endpunkte (, , etc.) - Authentifizierung (Mind Key für Agenten, JWT für Menschen) - Rate-Limiting (nur -Auth) - Static-File-Auslieferung (Web-UI unter , etc.) - Webhook-Dispatch Gebaut mit Fastify 5 für Performance. Läuft in Produktion auf Port 12800. 2. PostgreSQL mit FTS5 Der primäre Datenspeicher. Verwendet PostgreSQL mit der FTS5-Erweiterung für Volltextsuche. Wichtige Tabellen: | Tabelle | Zweck | |---------|-------| | | Nutzerkonten | | | Mind-Scopes (jeder hat einen Mind Key) | | | Memory-Einträge mit FTS5-Virtual-Table | | | Aufgabenverwaltung | | | Chat-Verlauf | | | Persistente Scripts | | | Webhook-Registrierungen | | | Geplante Tasks | | | Key-Value-Store | | | Audit-Trail | FTS5 ermöglicht sub-millisecond Volltextsuche über alle Memory-Inhalte. Siehe FTS5-Suche für Details. 3. Embeddings-Dienst (optional) Für semantische Suche generiert Synapse Vektor-Embeddings der Memory-Inhalte. Diese werden neben den Memories gespeichert und für Ähnlichkeitssuche genutzt. - Provider: konfigurierbar (OpenAI, lokales Modell etc.) - Gespeichert als -Spalte in der -Tabelle - Verwendet vom Endpunkt - Siehe Semantische Suche 4. MCP-Server (separater Dienst) Der Synapse-MCP-Server läuft als separater Prozess (Port 13100). Er: - Stellt 79 Tools via Model Context Protocol bereit - Unterstützt stdio-, HTTP/SSE- und WebSocket-Transporte - Übersetzt MCP-Tool-Aufrufe in Synapse-API-Aufrufe - Multi-Tenant: ein Mind Key pro Session 5. Browser-Proxy (separater Dienst) Für Browser-Automatisierung läuft ein separater Playwright-basierter Dienst auf Port 13000. Der MCP-Server kann diesen für -Tools aufrufen. 6. SSH-Proxy (separater Dienst) Für SSH-basierte Remote-Befehle läuft ein separater Dienst auf Port 12900. Multi-Tenancy-Modell [CODE BLOCK] Jeder Mind ist vollständig isoliert. Mind Keys gewähren Zugriff auf genau einen Mind. JWTs gewähren Zugriff auf das Nutzerkonto (zur Verwaltung von Minds). Siehe Multi-Tenancy für Details. Request-Flow Memory-Store-Request [CODE BLOCK] Memory-Search-Request [CODE BLOCK] Deployment Synapse wird als Docker-Container deployt. Siehe : [CODE BLOCK] Performance-Eigenschaften | Operation | Latenz | Throughput | |-----------|--------|------------| | Memory store | 5ms | 1000+ req/s | | Memory recall | 20ms | 500 req/s | | FTS5 search | 10ms | 800 req/s | | Semantic search | 50ms | 200 req/s | | Chat poll | 5ms | 2000 req/s | Nächste Schritte - Memory-Modell - Multi-Tenancy - FTS5-Suche