Sobre o projeto

deja-vu é uma camada de memória exclusivamente local para agentes de programação com IA. Ele indexa as transcrições de sessões que mais de 34 agentes — incluindo Claude Code, Codex CLI, Cursor, Copilot CLI, Gemini CLI, Goose e muitos outros — já gravam no disco, e torna esse histórico pesquisável em todos eles. Uma correção encontrada em um agente fica recuperável em qualquer outro. Principais capacidades: - Busca retroativa: consulta gigabytes de histórico existente, incluindo sessões anteriores à instalação do deja-vu. Consultas em linguagem natural recorrem a níveis de relevância; o tempo é uma dica, não um filtro. - Recuperação entre agentes via MCP: uma única ferramenta MCP `deja` no modo `recall` responde a perguntas como "corrigimos isso há três semanas", independentemente de qual agente resolveu originalmente. - Sobrevivência à compactação: no Claude Code e no Codex, hooks capturam a tarefa, os arquivos e os comandos quando a compactação começa, e depois os devolvem uma vez na sessão seguinte. Medido em 43 compactações, os resumos retêm 77% das decisões, mas apenas 0,2% dos comandos; o deja-vu recupera o restante. - Recuperação no ponto de ação: antes de um agente editar um arquivo ou executar um comando, o deja-vu traz à tona decisões anteriores ou invocações que funcionaram. Um hook PostToolUse responde com o que se seguiu ao mesmo erro anteriormente. - Indexação do trabalho: registra arquivos abertos, comandos executados com status de saída e trechos exatos de edição — os detalhes que os resumos descartam. - Redação: chaves da AWS, tokens de API, JWTs, blocos de chave privada PEM, tokens bearer, credenciais em URL e valores de alta entropia são removidos no momento da indexação. Os comandos de CLI incluem `deja <query>` para busca, `deja blame <path>` para histórico em nível de arquivo, `deja fix <error>` para resoluções de erros anteriores, `deja friction` para erros recorrentes, `deja ctx <query>` para um resumo em markdown, `deja sync ssh` para transferência de memória entre máquinas e `deja stats --card` para um resumo visual. `deja forget` grava tombstones para impedir a reindexação de sessões removidas. A instalação é feita por script curl, Homebrew, Scoop, Go install ou npx. `deja install --auto` conecta a recuperação via MCP a todos os agentes detectados e constrói o primeiro índice. A recuperação semântica opcional está disponível por meio de `deja embed` com um Ollama local, LM Studio ou endpoint compatível com OpenAI; a busca lexical funciona sem isso. O repositório inclui harnesses de benchmark (LongMemEval-S e LoCoMo) e vários subcomandos `deja bench` para ranking de recuperação, digestão de contexto, sobrevivência de blocos e custo de ingestão. Toda a indexação e busca são executadas localmente; a rede é usada apenas por `deja update`, `deja sync ssh` e verificações de versão.