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
Сохранить новое воспоминание или обновить существующее (та же категория + key = обновление).
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
Получить список воспоминаний с необязательными фильтрами.
# All memories (JSON)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?limit=50&offset=0"
# Filter by category
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?category=project"
# Filter by tag
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}'