# Synapse आर्किटेक्चर SUMMARY: Synapse कैसे बना है — Fastify, PostgreSQL, FTS5, embeddings, MCP server। Synapse आर्किटेक्चर Synapse एक मल्टी-टैनेंट मेमोरी API है जो Fastify, FTS5 के साथ PostgreSQL, और सिमेंटिक खोज के लिए एक वैकल्पिक embeddings सेवा पर बना है। उच्च-स्तरीय आर्किटेक्चर [CODE BLOCK] मुख्य घटक 1. Synapse API (Fastify) मुख्य HTTP server। संभालता है: - REST एंडपॉइंट्स (, , , आदि) - प्रमाणीकरण (एजेंट्स के लिए Mind Key, मानवों के लिए JWT) - रेट लिमिटिंग (केवल प्रमाणीकरण) - स्टेटिक फ़ाइल सर्विंग (, , आदि पर वेब UI) - Webhook डिस्पैच प्रदर्शन के लिए Fastify 5 के साथ बना। उत्पादन में पोर्ट 12800 पर चलता है। 2. FTS5 के साथ PostgreSQL प्राथमिक डेटा स्टोर। फुल-टेक्स्ट खोज के लिए FTS5 एक्सटेंशन के साथ PostgreSQL का उपयोग करता है। मुख्य तालिकाएँ: | तालिका | उद्देश्य | |-------|---------| | | उपयोगकर्ता खाते | | | Mind दायरे (प्रत्येक के पास Mind Key है) | | | FTS5 वर्चुअल तालिका के साथ मेमोरी रिकॉर्ड्स | | | कार्य प्रबंधन | | | चैट इतिहास | | | स्थायी स्क्रिप्ट्स | | | Webhook पंजीकरण | | | शेड्यूल किए गए कार्य | | | Key-value स्टोर | | | ऑडिट ट्रेल | FTS5 सभी मेमोरी सामग्री में सब-मिलीसेकंड फुल-टेक्स्ट खोज सक्षम बनाता है। विवरण के लिए FTS5 Search देखें। 3. Embeddings सेवा (वैकल्पिक) सिमेंटिक खोज के लिए, Synapse मेमोरी सामग्री के वेक्टर embeddings जनरेट करता है। ये मेमोरीज़ के साथ संग्रहीत होते हैं और समानता खोज के लिए उपयोग किए जाते हैं। - प्रदाता: कॉन्फ़िगर करने योग्य (OpenAI, लोकल मॉडल, आदि) - तालिका में कॉलम के रूप में संग्रहीत - एंडपॉइंट द्वारा उपयोग - सिमेंटिक खोज देखें 4. MCP Server (अलग सेवा) Synapse MCP server एक अलग प्रक्रिया के रूप में चलता है (पोर्ट 13100)। यह: - Model Context Protocol के माध्यम से 79 टूल्स एक्सपोज़ करता है - stdio, HTTP/SSE, और WebSocket ट्रांसपोर्ट का समर्थन करता है - MCP टूल कॉल्स को Synapse API कॉल्स में अनुवादित करता है - मल्टी-टैनेंट: प्रति सत्र एक Mind Key 5. Browser Proxy (अलग सेवा) ब्राउज़र ऑटोमेशन के लिए, एक अलग Playwright-आधारित सेवा पोर्ट 13000 पर चलती है। MCP server टूल्स के लिए इसे कॉल कर सकता है। 6. SSH Proxy (अलग सेवा) SSH-आधारित रिमोट कमांड्स के लिए, एक अलग सेवा पोर्ट 12900 पर चलती है। मल्टी-टैनेंसी मॉडल [CODE BLOCK] प्रत्येक mind पूरी तरह से अलग है। Mind Keys ठीक एक mind तक पहुँच प्रदान करते हैं। JWTs उपयोगकर्ता खाते तक पहुँच प्रदान करते हैं (minds प्रबंधित करने के लिए)। विवरण के लिए मल्टी-टैनेंसी देखें। अनुरोध प्रवाह मेमोरी स्टोर अनुरोध [CODE BLOCK] मेमोरी खोज अनुरोध [CODE BLOCK] परिनियोजन Synapse एक Docker कंटेनर के रूप में परिनियोजित होता है। देखें: [CODE BLOCK] प्रदर्शन विशेषताएँ | ऑपरेशन | विलंबता | थ्रूपुट | |-----------|---------|------------| | मेमोरी स्टोर | 5ms | 1000+ req/s | | मेमोरी रिकॉल | 20ms | 500 req/s | | FTS5 खोज | 10ms | 800 req/s | | सिमेंटिक खोज | 50ms | 200 req/s | | चैट poll | 5ms | 2000 req/s | अगले कदम - मेमोरी मॉडल - मल्टी-टैनेंसी - FTS5 Search