API de Memória
Referência completa dos 22 endpoints de memória: armazenar, recall, busca, busca semântica, sincronização, auditoria e mais.
API de Memória
A API de Memória é o coração do Synapse. Ela oferece 22 endpoints para armazenar, recuperar, buscar e gerenciar memórias estruturadas. Todos os endpoints requerem uma Mind Key para autenticação.
Categorias
As memórias estão organizadas em 8 categorias:
| Categoria | Caso de uso |
|---|---|
identity |
Nome do usuário, papel, contato, preferências sobre si mesmo |
preference |
Gostos, desgostos, estilo de trabalho, preferências de comunicação |
fact |
Fatos verificáveis (detalhes de projeto, datas, URLs) |
project |
Status de projeto, marcos, arquitetura |
skill |
Coisas em que o usuário é bom |
mistake |
Erros passados — evitar repetir |
context |
Contexto relevante para a sessão |
note |
Notas diversas |
Prioridades
low— bom sabernormal— padrãohigh— importantecritical— nunca esquecer (identidade do usuário, info jurídica)
Endpoints principais
GET /memory/recall
Retorna TODAS as memórias como texto puro otimizado para LLMs. Chame isso no início de cada sessão.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/recallResposta (text/plain):
Mind: Michael's Mind
Memories: 12 total (10 verified)
[001] identity (CRITICAL)
user_name
Michael Schäfer
Tags: person, identity
...POST /memory
Armazena uma nova memória ou atualiza uma existente (mesma categoria + key = atualização).
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"
}'Resposta: { "id": "mem_001", "status": "stored" }
GET /memory
Lista memórias com filtros opcionais.
# 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
Atualiza uma memória específica por 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
Exclui uma única memória.
curl -X DELETE -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mem_001Endpoints de busca
GET /memory/search
Busca em texto completo usando FTS5.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/search?q=docker+swarm"Sintaxe FTS5:
- Múltiplas palavras = AND:
docker swarm - Frase:
"docker swarm" - Prefixo:
docker* - Booleano:
docker OR kubernetes - Excluir:
docker -swarm
GET /memory/semantic-search
Busca conceitual usando embeddings (mais lenta que FTS5, mas entende significado).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/semantic-search?q=container+orchestration"Retorna memórias semanticamente similares à consulta, mesmo que nenhuma palavra- -chave corresponda. Útil para "encontrar memórias sobre X" quando X é descrito de outra forma.
GET /memory/by-tag
Lista memórias por tag.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/by-tag?tag=docker"GET /memory/related/:id
Encontra memórias relacionadas a uma memória específica (via tags compartilhadas).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/related/mem_001Sync & Diff
GET /memory/diff
Sincronização incremental — retorna memórias alteradas desde um timestamp.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/diff?since=1700000000"Resposta: { "added": [...], "updated": [...], "deleted": [...] }
POST /memory/sync
Aplica um diff de outra instância (para sync auto-hospedado).
curl -X POST https://synapse.schaefer.zone/memory/sync \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"added": [...], "updated": [...], "deleted": [...]}'Operações em massa
POST /memory/bulk-delete
Exclui várias memórias por 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
Gera embeddings para memórias que ainda não os têm (para busca semântica).
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
Verifica o progresso da geração de embeddings.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/embed-batch-statusVerificação
Memórias têm um flag verified. Memórias armazenadas pelo agente vêm como não
verificadas por padrão (source=agent); memórias armazenadas por humanos são
verificadas (source=user).
POST /memory/verify
Marca uma memória como verificada (requer JWT, não Mind Key).
curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
-H "Authorization: Bearer YOUR_JWT"POST /memory/unverify
Marca uma memória como não verificada (requer JWT).
curl -X POST https://synapse.schaefer.zone/memory/mem_001/unverify \
-H "Authorization: Bearer YOUR_JWT"GET /memory/unverified
Lista memórias aguardando verificação humana.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/unverified?limit=100"Estatísticas e auditoria
GET /memory/stats
Estatísticas agregadas para o mind atual.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/statsRetorna: { "total": 12, "verified": 10, "unverified": 2, "by_category": {...}, "by_priority": {...} }
GET /memory/audit
Log de auditoria de todas as operações que alteram estado.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/audit?limit=100&action=store"GET /memory/contradictions
Detecta potenciais contradições nas memórias armazenadas.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/contradictionsGET /memory/expiring
Lista memórias com datas de expiração se aproximando.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
"https://synapse.schaefer.zone/memory/expiring?within=7d"Health e exportação
GET /memory/health
Health check rápido do sistema de memória.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/healthGET /memory/mind-export
Exportação JSON completa de todas as memórias (para backup).
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
https://synapse.schaefer.zone/memory/mind-export > backup.jsonPOST /memory/compact
Compacta memórias similares (auto-resumo).
curl -X POST https://synapse.schaefer.zone/memory/compact \
-H "Authorization: Bearer YOUR_MIND_KEY" \
-H "Content-Type: application/json" \
-d '{"dry_run": true}'