Memory API
Повний довідник із 22 кінцевих точок пам'яті: збереження, відкликання, пошук, семантичний пошук, синхронізація, аудит та інше.
Memory API
Memory API — це серце Synapse. Вона надає 22 кінцеві точки для збереження, отримання, пошуку та керування структурованими спогадами. Усі кінцеві точки потребують Mind Key для автентифікації.
Категорії
Спогади організовано у 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/contradictionsGET /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/healthGET /memory/mind-export
Повний JSON-експорт усіх спогадів (для резервного копіювання).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mind-export > backup.jsonPOST /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}'