# Mind Key बनाम JWT — क्या कब? Synapse में दो प्रमाणीकरण टोकन हैं। गलत चुनने से 401 त्रुटियाँ होती हैं। यह गाइड आपको स्पष्ट निर्णय ढाँचा देता है। ## त्वरित निर्णय तालिका | आप क्या चाहते हैं... | उपयोग करें | |----------------|-----| | मेमोरीज़ स्टोर / रिकॉल | Mind Key | | चैट संदेश भेजें / poll | Mind Key | | कार्य प्रबंधित करें | Mind Key | | स्क्रिप्ट्स स्टोर करें | Mind Key | | Webhooks पंजीकृत करें | Mind Key | | कंप्यूटर्स नियंत्रित करें | Mind Key (उपयोगकर्ता-साइड) / Computer Token (एजेंट-साइड) | | उपयोगकर्ता खाता पंजीकृत करें | कोई नहीं (सार्वजनिक) | | लॉगिन | कोई नहीं (सार्वजनिक) | | Minds बनाएँ / सूचीबद्ध करें / हटाएँ | JWT | | अन्य उपयोगकर्ता के साथ mind साझा करें | JWT | | Web push सूचनाओं की सदस्यता लें | JWT | | ऑडिट लॉग देखें | Mind Key | ## सरल नियम > [!TIP] > **यदि यह एकल mind के डेटा को छूता है → Mind Key।** > **यदि यह खाता या mind मेटाडेटा प्रबंधित करता है → JWT।** ## Mind Key — डेटा एक्सेस टोकन Mind Key **एक mind के डेटा** तक पहुँच प्रदान करती है। यह एक दीर्घ-जीवित टोकन है जो कभी समाप्त नहीं होता (जब तक mind हटाया न जाए)। इनके लिए आदर्श: - सत्रों में मेमोरीज़ बनाए रखने वाले LLM एजेंट्स - बैकग्राउंड cron कार्य - MCP server कॉन्फ़िगरेशन - Webhook इंटीग्रेशन - मेमोरी पढ़ने वाले मोबाइल ऐप्स ### Mind Key क्या कर सकती है - `GET /memory/recall` — इस mind में सभी मेमोरीज़ पढ़ें - `POST /memory` — मेमोरीज़ स्टोर/अपडेट करें - `GET /chat/poll` — चैट संदेश पढ़ें - `POST /chat/reply` — चैट संदेश भेजें - `GET /mind/tasks` — कार्य सूचीबद्ध करें - `POST /mind/task` — कार्य बनाएँ - `POST /script` — स्क्रिप्ट्स स्टोर करें - `POST /webhooks` — webhooks पंजीकृत करें - `POST /computers/:id/commands` — कंप्यूटर कमांड्स कतारबद्ध करें ### Mind Key क्या नहीं कर सकती - Minds बनाना / सूचीबद्ध करना / हटाना (JWT चाहिए) - अन्य उपयोगकर्ता के साथ mind साझा करना (JWT चाहिए) - उपयोगकर्ता खाता जानकारी देखना (JWT चाहिए) - Web push की सदस्यता लेना (JWT चाहिए) ## JWT — खाता प्रबंधन टोकन JWT **उपयोगकर्ता खाते** को प्रमाणित करता है। यह 7 दिनों के बाद समाप्त होता है और खाता-स्तरीय ऑपरेशन्स के लिए उपयोग किया जाता है जो कई minds तक फैले या अन्य उपयोगकर्ताओं को शामिल करें। ### JWT क्या कर सकता है - `POST /minds` — नया mind बनाएँ (नई Mind Key लौटाता है) - `GET /minds` — इस उपयोगकर्ता के सभी minds सूचीबद्ध करें - `DELETE /minds/:id` — mind हटाएँ - `POST /sharing` — अन्य उपयोगकर्ता के साथ mind साझा करें - `POST /push/subscribe` — web push सूचनाओं की सदस्यता लें - `GET /sharing` — mind shares सूचीबद्ध करें ### JWT क्या नहीं कर सकता - मेमोरीज़ पढ़ना / लिखना (Mind Key चाहिए) - चैट संदेश भेजना (Mind Key चाहिए) - कार्य प्रबंधित करना (Mind Key चाहिए) - Webhooks पंजीकृत करना (Mind Key चाहिए) ## विशेष मामला: Computer Token `/computers/me/*` एंडपॉइंट्स (एजेंट-सामने, screen-remote-agent के लिए) तीसरे टोकन प्रकार का उपयोग करते हैं: **Computer Token**। यह टोकन इंस्टॉल कोड रिडीम करते समय `POST /computers/register` द्वारा लौटाया जाता है, और एक पंजीकृत कंप्यूटर के लिए विशिष्ट है। | एंडपॉइंट | प्रमाणीकरण | |----------|------| | `GET /computers/me/poll` | Computer Token | | `POST /computers/me/commands/:cid/result` | Computer Token | | `GET /computers/list` | Mind Key या JWT | | `POST /computers/:id/commands` | Mind Key या JWT | ## सामान्य पैटर्न ### पैटर्न 1: एकल LLM एजेंट 1. एक बार पंजीकरण करें → JWT प्राप्त करें 2. एक mind बनाएँ → Mind Key प्राप्त करें 3. LLM सब कुछ के लिए Mind Key का उपयोग करता है ### पैटर्न 2: मल्टी-परियोजना एजेंट 1. एक बार पंजीकरण करें → JWT प्राप्त करें 2. कई minds बनाएँ (work, personal, project-x) → कई Mind Keys प्राप्त करें 3. LLM संदर्भ के आधार पर भिन्न Mind Key लोड करता है ### पैटर्न 3: टीम साझाकरण 1. उपयोगकर्ता A एक mind बनाता है → Mind Key A प्राप्त करता है 2. उपयोगकर्ता A JWT के माध्यम से उपयोगकर्ता B के साथ साझा करता है (`POST /sharing`) 3. उपयोगकर्ता B अब अपने JWT के माध्यम से एक्सेस कर सकता है 4. LLM एक्सेस के लिए, उपयोगकर्ता B को अपनी Mind Key बनानी होगी (या A की उपयोग करें) ### पैटर्न 4: MCP Server MCP servers हमेशा Mind Key का उपयोग करते हैं (`SYNAPSE_MIND_KEY` env var के माध्यम से सेट)। एक MCP server इंस्टेंस = एक mind। मल्टी-mind एक्सेस के लिए, कई MCP इंस्टेंस चलाएँ या क्लाइंट-साइड mind-स्विचिंग लागू करें। ## टोकन प्रारूप चीट शीट | टोकन | प्रारूप | उदाहरण | |-------|--------|---------| | Mind Key | `mk_` + 36 chars | `mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789` | | JWT | `eyJ` + base64 | `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...` | | Computer Token | `ct_` + 36 chars | `ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789` | ## अगले कदम - [प्रमाणीकरण](/docs/getting-started/authentication) — पूर्ण प्रमाणीकरण गाइड - [User और Minds API](/docs/api/user) — JWT-सुरक्षित एंडपॉइंट्स - [Memory API](/docs/api/memory) — Mind Key-सुरक्षित एंडपॉइंट्स