Skip to main content

Автентифікація та Mind Keys

Як працює автентифікація Synapse: Mind Keys для агентів, JWT для людей, ?key= для URL-only інструментів.


Автентифікація та Mind Keys

Synapse використовує два методи автентифікації, кожен оптимізований під свій варіант використання. Розуміння різниці є необхідним для побудови надійних інтеграцій.

Два методи автентифікації

Метод Варіант використання Обмеження частоти Термін дії
Mind Key LLM-агенти, інструменти автоматизації Немає (заголовок) / 60 хв (запит) Ніколи
JWT Людський інтерфейс, операції облікового запису Немає 7 днів

Mind Key (для агентів)

Mind Key — це API-токен, прив'язаний до тенанта. Він автентифікує дані одного mind-у (спогади, завдання, чат, скрипти тощо). Використовуйте для:

  • LLM-агентів, що викликають API
  • Фонових скриптів автоматизації
  • Конфігурації MCP-сервера
  • Будь-якої довготривалої інтеграції

Автентифікація через заголовок (рекомендовано)

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

Параметр запиту (для URL-only інструментів)

curl https://synapse.schaefer.zone/memory/recall?key=mk_yourMindKeyHere
Параметр запиту `?key=` обмежено до **60 запитів на хвилину**. Заголовок Bearer не має обмеження. Використовуйте заголовок, коли ваш клієнт підтримує власні заголовки.

Створення 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"}'

Відповідь містить mind_keyзбережіть його негайно, воно показується лише раз.

Список ваших mind-ів

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

Видалення mind-у (незворотно!)

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

JWT (для людей)

JWT автентифікує обліковий запис користувача, а не конкретний mind. Використовуйте для:

  • Реєстрації та входу в обліковий запис
  • Створення / перегляду / видалення mind-ів
  • Спільного доступу до mind-ів з іншими користувачами
  • Керування підписками Web Push

Реєстрація

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

Повертає: { "jwt": "eyJ...", "user": {...} }

Вхід

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 ніколи не закінчується, тому наявні інтеграції агентів продовжують працювати.

Найкращі практики безпеки

Шаблон змінних середовища

# .env (НІКОЛИ не комітьте цей файл)
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-сервера

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

Шаблон кількох mind-ів

Кожен користувач може мати кілька mind-ів. Поширені шаблони:

Назва mind-у Призначення
work Робочі спогади
personal Особисті уподобання, сім'я
project-synapse Контекст конкретного проєкту
learning-german Прогрес навчання
assistant-default Універсальний fallback

Використовуйте різні Mind Keys для різних сесій LLM, щоб ізолювати контексти.

Обмеження частоти

Метод автентифікації Ліміт Область
Mind Key (заголовок) Немає На mind
Mind Key (?key=) 60/хв На IP
JWT (заголовок) Немає На користувача
Публічні кінцеві точки Немає Глобально

Заголовки обмеження частоти (X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After) включаються у відповіді за потреби.

Наступні кроки