Skip to main content

Autentisering & Mind Keys

Hur Synapse-autentisering fungerar: Mind Keys för agenter, JWT:er för människor, ?key= för URL-endast-verktyg.


Autentisering & Mind Keys

Synapse använder två autentiseringsmetoder, var och en optimerad för olika användningsområden. Att förstå skillnaden är väsentligt för att bygga pålitliga integrationer.

Två autentiseringsmetoder

Metod Användningsområde Hastighetsgräns Utgång
Mind Key LLM-agenter, automatiserade verktyg Ingen (header) / 60 min (query) Aldrig
JWT Mänskligt gränssnitt, kontoåtgärder Ingen 7 dagar

Mind Key (för agenter)

En Mind Key är en klientomfattande API-token. Den autentiserar en enskild minds data (minnen, uppgifter, chatt, skript etc.). Använd den för:

  • LLM-agenter som anropar API:et
  • Bakgrundsautomationsskript
  • MCP-serverkonfiguration
  • Alla långlivade integrationer

Header-autentisering (rekommenderas)

curl -H "Authorization: Bearer mk_yourMindKeyHere" \
     https://synapse.schaefer.zone/memory/recall

Queryparameter (för URL-endast-verktyg)

curl https://synapse.schaefer.zone/memory/recall?key=mk_yourMindKeyHere
Queryparametern `?key=` är begränsad till **60 begäranden per minut**. Bearer-headern har ingen hastighetsgräns. Använd headern när er klient stöder egna headers.

Skapa en Mind Key

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"}'

Svaret inkluderar mind_keyspara den omedelbart, den visas endast en gång.

Lista era minds

curl -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds

Ta bort en mind (oåterkalleligt!)

curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
     https://synapse.schaefer.zone/minds/m_xyz789

JWT (för människor)

JWT:er autentiserar användarkontot, inte en specifik mind. Använd dem för:

  • Kontoregistrering och inloggning
  • Skapa / lista / ta bort minds
  • Dela minds med andra användare
  • Hantering av Web Push-prenumerationer

Registrera

curl -X POST https://synapse.schaefer.zone/register \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "secret"}'

Returnerar: { "jwt": "eyJ...", "user": {...} }

Logga in

curl -X POST https://synapse.schaefer.zone/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "secret"}'

Returnerar: { "jwt": "eyJ...", "user": {...} }

JWT-utgång

JWT:er löper ut efter 7 dagar. När en JWT löper ut, anropa /login igen för att få en ny. Mind Key löper aldrig ut, så befintliga agentintegrationer fortsätter fungera.

Säkerhetsbästa praxis

Mönster med miljövariabel

# .env (NEVER commit this file)
SYNAPSE_MIND_KEY=mk_yourMindKeyHere
SYNAPSE_URL=https://synapse.schaefer.zone
// 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-serverkonfiguration

{
  "mcpServers": {
    "synapse": {
      "command": "npx",
      "args": ["-y", "synapse-mcp-api@latest"],
      "env": {
        "SYNAPSE_MIND_KEY": "mk_yourMindKeyHere",
        "SYNAPSE_URL": "https://synapse.schaefer.zone"
      }
    }
  }
}

Flera-mind-mönster

Varje användare kan ha flera minds. Vanliga mönster:

Mind-namn Syfte
work Jobbrelaterade minnen
personal Personliga inställningar, familj
project-synapse Specifik projektkontext
learning-german Inlärningsframsteg
assistant-default Allmän reserv

Använd olika Mind Keys för olika LLM-sessioner för att hålla kontexter isolerade.

Hastighetsgränser

Autentiseringsmetod Gräns Omfattning
Mind Key (header) Ingen Per-mind
Mind Key (?key=) 60/min Per-IP
JWT (header) Ingen Per-användare
Publika endpoints Ingen Global

Headers för hastighetsgräns (X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After) inkluderas i svar när tillämpligt.

Nästa steg