# प्रमाणीकरण और Mind Keys Synapse दो प्रमाणीकरण विधियों का उपयोग करता है, प्रत्येक अलग उपयोग के मामले के लिए अनुकूलित। विश्वसनीय इंटीग्रेशन बनाने के लिए अंतर को समझना आवश्यक है। ## दो प्रमाणीकरण विधियाँ | विधि | उपयोग का मामला | रेट लिमिट | समाप्ति | |--------|----------|------------|--------| | **Mind Key** | LLM एजेंट्स, स्वचालित टूल्स | कोई नहीं (हेडर) / 60 मिनट (क्वेरी) | कभी नहीं | | **JWT** | मानव-सामने UI, खाता ऑप्स | कोई नहीं | 7 दिन | ## Mind Key (एजेंट्स के लिए) Mind Key एक टैनेंट-स्कोप्ड API टोकन है। यह एकल mind के डेटा (मेमोरीज़, कार्य, चैट, स्क्रिप्ट्स, आदि) को प्रमाणित करता है। इसका उपयोग करें: - API कॉल करने वाले LLM एजेंट्स - बैकग्राउंड ऑटोमेशन स्क्रिप्ट्स - MCP server कॉन्फ़िगरेशन - कोई भी दीर्घ-जीवित इंटीग्रेशन ### हेडर प्रमाणीकरण (अनुशंसित) ```bash curl -H "Authorization: Bearer mk_yourMindKeyHere" \ https://synapse.schaefer.zone/memory/recall ``` ### क्वेरी पैरामीटर (URL-केवल टूल्स के लिए) ```bash curl https://synapse.schaefer.zone/memory/recall?key=mk_yourMindKeyHere ``` > [!WARNING] > `?key=` क्वेरी पैरामीटर **60 requests per minute** तक सीमित है। > Bearer हेडर की कोई रेट लिमिट नहीं है। जब भी आपका क्लाइंट कस्टम हेडर का समर्थन करता है हेडर का उपयोग करें। ### Mind Key बनाना ```bash curl -X POST https://synapse.schaefer.zone/minds \ -H "Authorization: Bearer YOUR_JWT" \ -H "Content-Type: application/json" \ -d '{"name": "Work Mind", "description": "Project memories"}' ``` प्रतिक्रिया में `mind_key` शामिल है — **इसे तुरंत सहेजें**, यह केवल एक बार दिखाई जाती है। ### अपने minds की सूची बनाना ```bash curl -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds ``` ### Mind हटाना (अपरिवर्तनीय!) ```bash curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \ https://synapse.schaefer.zone/minds/m_xyz789 ``` ## JWT (मानवों के लिए) JWT विशिष्ट mind नहीं, बल्कि **उपयोगकर्ता खाते** को प्रमाणित करते हैं। इनका उपयोग करें: - खाता पंजीकरण और लॉगिन - Minds बनाने / सूचीबद्ध करने / हटाने - अन्य उपयोगकर्ताओं के साथ minds साझा करने - Web Push सब्सक्रिप्शन प्रबंधन ### पंजीकरण ```bash curl -X POST https://synapse.schaefer.zone/register \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "secret"}' ``` लौटाता है: `{ "jwt": "eyJ...", "user": {...} }` ### लॉगिन ```bash curl -X POST https://synapse.schaefer.zone/login \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "secret"}' ``` लौटाता है: `{ "jwt": "eyJ...", "user": {...} }` ### JWT समाप्ति JWT **7 दिनों** के बाद समाप्त होते हैं। JWT समाप्त होने पर, नया प्राप्त करने के लिए बस `/login` फिर से कॉल करें। Mind Key कभी समाप्त नहीं होती, इसलिए मौजूदा एजेंट इंटीग्रेशन काम करते रहते हैं। ## सुरक्षा सर्वोत्तम प्रथाएँ > [!CRITICAL] > - **Mind Keys कभी git में कमिट न करें।** पर्यावरण वेरिएबल्स का उपयोग करें। > - **Mind Keys कभी लॉग न करें।** लॉग में उन्हें मास्क करें (`mk_***...***xyz`)। > - **लीक के संदेह होने पर keys रोटेट करें** (mind हटाएँ, नया बनाएँ)। > - **प्रति परियोजना एक mind का उपयोग करें** ताकि लीक होने पर प्रभाव सीमित रहे। ### पर्यावरण वेरिएबल पैटर्न ```bash # .env (NEVER commit this file) SYNAPSE_MIND_KEY=mk_yourMindKeyHere SYNAPSE_URL=https://synapse.schaefer.zone ``` ```typescript // Node.js const mindKey = process.env.SYNAPSE_MIND_KEY; const url = process.env.SYNAPSE_URL; await fetch(`${url}/memory/recall`, { headers: { Authorization: `Bearer ${mindKey}` }, }); ``` ### MCP server config ```json { "mcpServers": { "synapse": { "command": "npx", "args": ["-y", "synapse-mcp-api@latest"], "env": { "SYNAPSE_MIND_KEY": "mk_yourMindKeyHere", "SYNAPSE_URL": "https://synapse.schaefer.zone" } } } } ``` ## मल्टी-Mind पैटर्न प्रत्येक उपयोगकर्ता के पास कई minds हो सकते हैं। सामान्य पैटर्न: | Mind नाम | उद्देश्य | |-----------|---------| | `work` | कार्य-संबंधी मेमोरीज़ | | `personal` | व्यक्तिगत प्राथमिकताएँ, परिवार | | `project-synapse` | विशिष्ट परियोजना संदर्भ | | `learning-german` | सीखने की प्रगति | | `assistant-default` | सामान्य-उद्देश्य fallback | संदर्भ अलग रखने के लिए विभिन्न LLM सत्रों के लिए विभिन्न Mind Keys का उपयोग करें। ## रेट लिमिट | प्रमाणीकरण विधि | सीमा | दायरा | |-------------|-------|-------| | Mind Key (हेडर) | कोई नहीं | प्रति-mind | | Mind Key (?key=) | 60/min | प्रति-IP | | JWT (हेडर) | कोई नहीं | प्रति-उपयोगकर्ता | | सार्वजनिक एंडपॉइंट्स | कोई नहीं | वैश्विक | रेट लिमिट हेडर (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `Retry-After`) जब लागू हो तब प्रतिक्रियाओं में शामिल होते हैं। ## अगले कदम - [Mind Key vs JWT](/docs/getting-started/mind-key-vs-jwt) — कब क्या उपयोग करें - [Memory API](/docs/api/memory) — Mind Key से आप क्या कर सकते हैं - [User API](/docs/api/user) — JWTs के साथ खाता प्रबंधन