Autentikasi & Mind Keys
Bagaimana autentikasi Synapse bekerja: Mind Keys untuk agen, JWT untuk manusia, ?key= untuk alat yang hanya menggunakan URL.
Autentikasi & Mind Keys
Synapse menggunakan dua metode autentikasi, masing-masing dioptimalkan untuk kasus penggunaan yang berbeda. Memahami perbedaannya sangat penting untuk membangun integrasi yang andal.
Dua Metode Autentikasi
| Metode | Kasus Penggunaan | Rate Limit | Kedaluwarsa |
|---|---|---|---|
| Mind Key | Agen LLM, alat otomatis | Tidak ada (header) / 60 min (query) | Tidak pernah |
| JWT | UI untuk manusia, operasi akun | Tidak ada | 7 hari |
Mind Key (untuk Agen)
Mind Key adalah token API dengan cakupan tenant. Token ini mengautentikasi data satu mind (memori, tugas, chat, skrip, dll.). Gunakan untuk:
- Agen LLM yang memanggil API
- Skrip otomasi latar belakang
- Konfigurasi MCP server
- Integrasi berumur panjang apa pun
Autentikasi header (disarankan)
curl -H "Authorization: Bearer mk_yourMindKeyHere" \
https://synapse.schaefer.zone/memory/recallParameter query (untuk alat yang hanya menggunakan URL)
curl https://synapse.schaefer.zone/memory/recall?key=mk_yourMindKeyHereMembuat 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"}'Respons menyertakan mind_key — simpan segera, hanya ditampilkan sekali.
Mendaftar mind Anda
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsMenghapus mind (ireversibel!)
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/minds/m_xyz789JWT (untuk Manusia)
JWT mengautentikasi akun pengguna, bukan mind spesifik. Gunakan untuk:
- Pendaftaran dan login akun
- Membuat / mendaftar / menghapus mind
- Berbagi mind dengan pengguna lain
- Manajemen langganan Web Push
Daftar
curl -X POST https://synapse.schaefer.zone/register \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret"}'Mengembalikan: { "jwt": "eyJ...", "user": {...} }
Login
curl -X POST https://synapse.schaefer.zone/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret"}'Mengembalikan: { "jwt": "eyJ...", "user": {...} }
Kedaluwarsa JWT
JWT kedaluwarsa setelah 7 hari. Saat JWT kedaluwarsa, cukup panggil /login
lagi untuk mendapatkan yang baru. Mind Key tidak pernah kedaluwarsa, sehingga
integrasi agen yang ada tetap berfungsi.
Praktik Terbaik Keamanan
Pola variabel lingkungan
# .env (JANGAN PERNAH commit file ini)
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}` },
});Konfigurasi MCP server
{
"mcpServers": {
"synapse": {
"command": "npx",
"args": ["-y", "synapse-mcp-api@latest"],
"env": {
"SYNAPSE_MIND_KEY": "mk_yourMindKeyHere",
"SYNAPSE_URL": "https://synapse.schaefer.zone"
}
}
}
}Pola Multi-Mind
Setiap pengguna dapat memiliki beberapa mind. Pola umum:
| Nama Mind | Tujuan |
|---|---|
work |
Memori terkait pekerjaan |
personal |
Preferensi pribadi, keluarga |
project-synapse |
Konteks proyek spesifik |
learning-german |
Kemajuan belajar |
assistant-default |
Fallback tujuan umum |
Gunakan Mind Key yang berbeda untuk sesi LLM yang berbeda untuk menjaga konteks tetap terisolasi.
Rate Limits
| Metode Auth | Batas | Cakupan |
|---|---|---|
| Mind Key (header) | Tidak ada | Per-mind |
| Mind Key (?key=) | 60/min | Per-IP |
| JWT (header) | Tidak ada | Per-user |
| Endpoint publik | Tidak ada | Global |
Header rate limit (X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After)
disertakan dalam respons jika berlaku.
Langkah Berikutnya
- Mind Key vs JWT — kapan menggunakan yang mana
- Memory API — apa yang dapat Anda lakukan dengan Mind Key
- User API — manajemen akun dengan JWT