# Synapse-arkitektur SUMMARY: Hur Synapse är byggt — Fastify, PostgreSQL, FTS5, inbäddningar, MCP-server. Synapse-arkitektur Synapse är ett multitenant-minnes-API byggt på Fastify, PostgreSQL med FTS5 och en valfri inbäddningstjänst för semantisk sökning. Arkitektur på hög nivå [CODE BLOCK] Kärnkomponenter 1. Synapse API (Fastify) Huvud-HTTP-servern. Hanterar: - REST-endpoints (, , etc.) - Autentisering (Mind Key för agenter, JWT för människor) - Hastighetsbegränsning (endast -auth) - Statisk filservering (webbgränssnitt på , etc.) - Webhook-utsändning Byggd med Fastify 5 för prestanda. Körs på port 12800 i produktion. 2. PostgreSQL med FTS5 Det primära datalagret. Använder PostgreSQL med FTS5-tillägget för fulltextssök. Nyckeltabeller: | Tabell | Syfte | |-------|---------| | | Användarkonton | | | Mind-omfattningar (varje har en Mind Key) | | | Minnesposter med FTS5 virtuell tabell | | | Uppgiftshantering | | | Chatthistorik | | | Beständiga skript | | | Webhook-registreringar | | | Schemalagda uppgifter | | | Nyckel-värde-lager | | | Granskningsspår | FTS5 möjliggör fulltextssök under en millisekund över allt minnesinnehåll. Se FTS5-sökning för detaljer. 3. Inbäddningstjänst (valfri) För semantisk sökning genererar Synapse vektorinbäddningar av minnesinnehåll. Dessa lagras tillsammans med minnen och används för likhetssökning. - Leverantör: konfigurerbar (OpenAI, lokal modell etc.) - Lagras som -kolumn i -tabellen - Används av -endpoint - Se Semantisk sökning 4. MCP-server (separat tjänst) Synapse MCP-server körs som en separat process (port 13100). Den: - Exponerar 79 verktyg via Model Context Protocol - Stöder stdio-, HTTP/SSE- och WebSocket-transporter - Översätter MCP-verktygsanrop till Synapse API-anrop - Multitenant: en Mind Key per session 5. Browser Proxy (separat tjänst) För webbläsarautomatisering körs en separat Playwright-baserad tjänst på port 13000. MCP-servern kan anropa denna för -verktyg. 6. SSH Proxy (separat tjänst) För SSH-baserade fjärrkommandon körs en separat tjänst på port 12900. Multitenant-modell [CODE BLOCK] Varje mind är fullständigt isolerad. Mind Keys ger åtkomst till exakt en mind. JWT:er ger åtkomst till användarkontot (för att hantera minds). Se Multitenancy för detaljer. Begärandeflöde Minneslagringsbegäran [CODE BLOCK] Minnessökningsbegäran [CODE BLOCK] Driftsättning Synapse driftsätts som en Docker-container. Se : [CODE BLOCK] Prestandaegenskaper | Åtgärd | Latens | Genomströmning | |-----------|---------|------------| | Minneslagring | 5 ms | 1000+ req/s | | Minnesåterkallning | 20 ms | 500 req/s | | FTS5-sökning | 10 ms | 800 req/s | | Semantisk sökning | 50 ms | 200 req/s | | Chat-poll | 5 ms | 2000 req/s | Nästa steg - Minnesmodell - Multitenancy - FTS5-sökning