Skip to main content

Memory API

Повний довідник із 22 кінцевих точок пам'яті: збереження, відкликання, пошук, семантичний пошук, синхронізація, аудит та інше.


Memory API

Memory API — це серце Synapse. Вона надає 22 кінцеві точки для збереження, отримання, пошуку та керування структурованими спогадами. Усі кінцеві точки потребують Mind Key для автентифікації.

**Завжди викликайте `GET /memory/recall` на початку кожної сесії.** Це єдиний спосіб відновити контекст із попередніх сесій.

Категорії

Спогади організовано у 8 категорій:

Категорія Варіант використання
identity Ім'я користувача, роль, контактна інформація, налаштування щодо себе
preference Подобання, антипатії, стиль роботи, комунікаційні уподобання
fact Перевірювані факти (деталі проєктів, дати, URL-адреси)
project Статус проєкту, етапи, архітектура
skill Те, у чому користувач сильний
mistake Минулі помилки — уникайте повторення
context Контекст, релевантний сесії
note Різні нотатки

Пріоритети

  • low — корисно знати
  • normal — за замовчуванням
  • high — важливо
  • critical — ніколи не забувати (ідентичність користувача, юридична інформація)

Основні кінцеві точки

GET /memory/recall

Повертає ВСІ спогади у вигляді звичайного тексту, оптимізованого для LLM. Викликайте на початку кожної сесії.

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

Відповідь (text/plain):

Mind: Michael's Mind
Memories: 12 total (10 verified)

[001] identity (CRITICAL)
  user_name
  Michael Schäfer
  Tags: person, identity

...

POST /memory

Зберігає новий спогад або оновлює наявний (та сама категорія + ключ = оновлення).

curl -X POST https://synapse.schaefer.zone/memory \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "fact",
    "key": "user_name",
    "content": "The user's name is Michael Schäfer",
    "tags": ["person", "identity"],
    "priority": "critical"
  }'

Відповідь: { "id": "mem_001", "status": "stored" }

GET /memory

Список спогадів із необов'язковими фільтрами.

# Усі спогади (JSON)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory?limit=50&offset=0"

# Фільтр за категорією
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory?category=project"

# Фільтр за тегом
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory?tag=docker"

PUT /memory/:id

Оновлення конкретного спогаду за ID.

curl -X PUT https://synapse.schaefer.zone/memory/mem_001 \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "Updated content", "priority": "high"}'

DELETE /memory/:id

Видалення одного спогаду.

curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/mem_001

Кінцеві точки пошуку

GET /memory/search

Повнотекстовий пошук з використанням FTS5.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/search?q=docker+swarm"

Синтаксис FTS5:

  • Кілька слів = AND: docker swarm
  • Фраза: "docker swarm"
  • Префікс: docker*
  • Булеві операції: docker OR kubernetes
  • Виключення: docker -swarm

GET /memory/semantic-search

Концептуальний пошук за ембеддингами (повільніший за FTS5, але розуміє зміст).

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/semantic-search?q=container+orchestration"

Повертає спогади, семантично подібні до запиту, навіть якщо ключові слова не збігаються. Корисно для «знайти спогади про X», де X описано інакше.

GET /memory/by-tag

Список спогадів за тегом.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/by-tag?tag=docker"

GET /memory/related/:id

Пошук спогадів, пов'язаних із конкретним спогадом (через спільні теги).

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/related/mem_001

Синхронізація та Diff

GET /memory/diff

Інкрементальна синхронізація — повертає спогади, що змінилися з певної мітки часу.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/diff?since=1700000000"

Відповідь: { "added": [...], "updated": [...], "deleted": [...] }

POST /memory/sync

Застосувати diff з іншої інсталяції (для синхронізації self-hosted).

curl -X POST https://synapse.schaefer.zone/memory/sync \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"added": [...], "updated": [...], "deleted": [...]}'

Масові операції

POST /memory/bulk-delete

Видалення кількох спогадів за ID.

curl -X POST https://synapse.schaefer.zone/memory/bulk-delete \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids": ["mem_001", "mem_002", "mem_003"]}'

POST /memory/embed-batch

Генерування ембеддингів для спогадів, які їх ще не мають (для семантичного пошуку).

curl -X POST https://synapse.schaefer.zone/memory/embed-batch \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit": 100}'

GET /memory/embed-batch-status

Перевірка прогресу генерації ембеддингів.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/embed-batch-status

Верифікація

Спогади мають прапорець verified. Спогади, збережені агентом, за замовчуванням неперевірені (source=agent); спогади, збережені людиною, — перевірені (source=user).

POST /memory/verify

Позначити спогад як перевірений (потребує JWT, а не Mind Key).

curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
  -H "Authorization: Bearer YOUR_JWT"

POST /memory/unverify

Позначити спогад як неперевірений (потребує JWT).

curl -X POST https://synapse.schaefer.zone/memory/mem_001/unverify \
  -H "Authorization: Bearer YOUR_JWT"

GET /memory/unverified

Список спогадів, що очікують на перевірку людиною.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/unverified?limit=100"

Статистика та аудит

GET /memory/stats

Зведена статистика для поточного mind-у.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/stats

Повертає: { "total": 12, "verified": 10, "unverified": 2, "by_category": {...}, "by_priority": {...} }

GET /memory/audit

Журнал аудиту всіх операцій, що змінюють стан.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/audit?limit=100&action=store"

GET /memory/contradictions

Виявлення потенційних суперечностей у збережених спогадах.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/contradictions

GET /memory/expiring

Список спогадів, термін дії яких наближається.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/memory/expiring?within=7d"

Стан та експорт

GET /memory/health

Швидка перевірка стану системи пам'яті.

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/health

GET /memory/mind-export

Повний JSON-експорт усіх спогадів (для резервного копіювання).

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/mind-export > backup.json

POST /memory/compact

Ущільнення подібних спогадів (автосумаризація).

curl -X POST https://synapse.schaefer.zone/memory/compact \
  -H "Authorization: Bearer YOUR_MIND_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dry_run": true}'

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