Pitch: recall — memória semântica persistente para o Claude Code
O problema
O Claude Code tem memória nativa via CLAUDE.md — você escreve à mão, atualiza à mão, sem busca. Funciona pra contexto pequeno. Não escala.
Soluções externas como Supermemory existem, mas mandam seus dados pra nuvem e cobram por uso.
o que o recall faz
Salva o contexto de cada sessão em SQLite local, indexa com embeddings vetoriais e permite busca semântica — no projeto atual ou em todos os projetos de uma vez.
/recall-save → resume + indexa a sessão atual /recall-load → busca e restaura contexto por projeto /recall-load --global "X" → busca em todos os projetos
Pedi pro próprio Claude Code comparar com a memória nativa dele:
"A busca foi por similaridade semântica — encontrei a sessão certa porque o contexto batia, não porque você sabia o ID ou o nome do arquivo. Com a memória nativa, você teria que ter escrito algo como 'lembre que o recall foi publicado' — e mesmo assim perderia os detalhes."
claude-code-terminal
isso não é pitch. é o claude se autodocumentando.
Stack
- SQLite + sqlite-vec — armazenamento e busca vetorial local, sem dependência externa
- gemini-embedding-001 — 3072 dimensões, só para embeddings
- Claude — gera o resumo estruturado da sessão antes de indexar
- Hooks nativos do Claude Code — integração transparente
- Comandos
.md— executados pelo próprio Claude, sem binários externos
A única dependência externa é o Gemini — gratuito no tier atual pra esse volume. Se isso for bloqueador pra você, faz sentido, é uma tradeoff consciente.
Limitações
- Só funciona com Claude Code por enquanto
- Qualidade da busca depende da qualidade do resumo gerado — sessão bagunçada, contexto bagunçado
- Sem interface pra explorar o histórico, só terminal
- Projeto novo, provavelmente tem bugs que ainda não encontrei
Por que publicar agora
Uso em produção nos meus projetos há algumas semanas. Funciona bem o suficiente pra me poupar tempo real. Prefiro feedback cedo a polir sozinho por mais um mês.