Memory API
Pełna dokumentacja 22 endpointów pamięci: zapis, recall, wyszukiwanie, wyszukiwanie semantyczne, synchronizacja, audyt i więcej.
Memory API
Memory API stanowi serce Synapse. Zapewnia 22 endpointy do zapisywania, pobierania, wyszukiwania i zarządzania ustrukturyzowanymi wspomnieniami. Wszystkie endpointy wymagają Mind Key do autoryzacji.
Kategorie
Wspomnienia są zorganizowane w 8 kategoriach:
| Kategoria | Przypadek użycia |
|---|---|
identity |
Imię użytkownika, rola, dane kontaktowe, preferencje dotyczące samego siebie |
preference |
Sympatie, antypatie, styl pracy, preferencje komunikacyjne |
fact |
Weryfikowalne fakty (szczegóły projektu, daty, URL-e) |
project |
Status projektu, kamienie milowe, architektura |
skill |
Rzeczy, w których użytkownik jest dobry |
mistake |
Błędy z przeszłości — unikać ich powtarzania |
context |
Kontekst istotny dla sesji |
note |
Różne notatki |
Priorytety
low— warto wiedziećnormal— domyślnyhigh— ważnecritical— nigdy nie wolno zapominać (tożsamość użytkownika, informacje prawne)
Podstawowe endpointy
GET /memory/recall
Zwraca WSZYSTKIE wspomnienia jako zwykły tekst zoptymalizowany dla LLM. Należy wywoływać na początku każdej sesji.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/recallOdpowiedź (text/plain):
Mind: Michael's Mind
Memories: 12 total (10 verified)
[001] identity (CRITICAL)
user_name
Michael Schäfer
Tags: person, identity
...POST /memory
Zapisuje nowe wspomnienie lub aktualizuje istniejące (ta sama kategoria + klucz = aktualizacja).
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"
}'Odpowiedź: { "id": "mem_001", "status": "stored" }
GET /memory
Lista wspomnień z opcjonalnymi filtrami.
# Wszystkie wspomnienia (JSON)
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?limit=50&offset=0"
# Filtr wg kategorii
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?category=project"
# Filtr wg tagu
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory?tag=docker"PUT /memory/:id
Aktualizuje konkretne wspomnienie po 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
Usuwa pojedyncze wspomnienie.
curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mem_001Endpointy wyszukiwania
GET /memory/search
Wyszukiwanie pełnotekstowe z użyciem FTS5.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/search?q=docker+swarm"Składnia FTS5:
- Wiele słów = AND:
docker swarm - Fraza:
"docker swarm" - Prefiks:
docker* - Wartość logiczna:
docker OR kubernetes - Wykluczenie:
docker -swarm
GET /memory/semantic-search
Wyszukiwanie semantyczne z użyciem osadzeń (wolniejsze niż FTS5, ale rozumie znaczenie).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/semantic-search?q=container+orchestration"Zwraca wspomnienia semantycznie podobne do zapytania, nawet jeśli nie ma dopasowań słów kluczowych. Przydatne do „znajdź wspomnienia o X", gdy X jest opisane inaczej.
GET /memory/by-tag
Lista wspomnień wg tagu.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/by-tag?tag=docker"GET /memory/related/:id
Znajduje wspomnienia powiązane z konkretnym (przez wspólne tagi).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/related/mem_001Synchronizacja i diff
GET /memory/diff
Synchronizacja przyrostowa — zwraca wspomnienia zmienione od podanego znacznika czasu.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/diff?since=1700000000"Odpowiedź: { "added": [...], "updated": [...], "deleted": [...] }
POST /memory/sync
Stosuje diff z innej instancji (do synchronizacji 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": [...]}'Operacje masowe
POST /memory/bulk-delete
Usuwa wiele wspomnień po 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
Generuje osadzenia dla wspomnień, które ich jeszcze nie mają (do wyszukiwania semantycznego).
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
Sprawdza postęp generowania osadzeń.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/embed-batch-statusWeryfikacja
Wspomnienia mają flagę verified. Wspomnienia zapisane przez agenta są domyślnie
niezweryfikowane (source=agent); zapisane przez człowieka są zweryfikowane
(source=user).
POST /memory/verify
Oznacza wspomnienie jako zweryfikowane (wymaga JWT, nie Mind Key).
curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
-H "Authorization: Bearer YOUR_JWT"POST /memory/unverify
Oznacza wspomnienie jako niezweryfikowane (wymaga JWT).
curl -X POST https://synapse.schaefer.zone/memory/mem_001/unverify \
-H "Authorization: Bearer YOUR_JWT"GET /memory/unverified
Lista wspomnień oczekujących na weryfikację przez człowieka.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/unverified?limit=100"Statystyki i audyt
GET /memory/stats
Statystyki agregowane dla bieżącego umysłu.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/statsZwraca: { "total": 12, "verified": 10, "unverified": 2, "by_category": {...}, "by_priority": {...} }
GET /memory/audit
Dziennik audytu wszystkich operacji zmieniających stan.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/audit?limit=100&action=store"GET /memory/contradictions
Wykrywa potencjalne sprzeczności w zapisanych wspomnieniach.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/contradictionsGET /memory/expiring
Lista wspomnień z zbliżającą się datą wygaśnięcia.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/expiring?within=7d"Kondycja i eksport
GET /memory/health
Szybkie sprawdzenie kondycji systemu pamięci.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/healthGET /memory/mind-export
Pełny eksport JSON wszystkich wspomnień (do kopii zapasowej).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mind-export > backup.jsonPOST /memory/compact
Kompaktuje podobne wspomnienia (automatyczne streszczanie).
curl -X POST https://synapse.schaefer.zone/memory/compact \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"dry_run": true}'