Como dar memória ao Claude Code com Jevmem? Jev decide o que salvar, não uma LLM

Jevmem permite que o Claude Code mantenha memória entre sessões: após cada turno, ele salva suas decisões, restrições, bugs e pendências como linhas em um arquivo JEVMEM.md dentro do seu repositório. O diferencial é quem decide o que salvar: não um LLM, mas Jev, o modelo de decisão da TypeSafe AI, que retorna probabilidades em vez de texto. Por isso o Jevmem pode avaliar cada mensagem por frações de centavo, em vez de fazer um único resumo ao final da sessão.

Nota: no momento da publicação desta nota (26 de setembro de 2026), o Jevmem está na versão 0.5 e publica várias versões por dia. Considere a instalação abaixo válida para v0.5 e revise o README antes de instalar.

O que é Jevmem?

Jevmem é uma camada de memória open source para ferramentas de programação com IA, com licença MIT e publicada no npm como jevmem. Resolve um problema conhecido: o Claude Code começa cada sessão sem se lembrar das decisões que você tomou ontem. Ou você se repete, ou mantém um CLAUDE.md à mão.

Jevmem mantém o arquivo para você. Cada memória é uma linha etiquetada com seu tipo, e os metadados ficam em um comentário HTML:

- [decision] Use Postgres 16 for the primary store; SQLite locks under load  <!-- id:k3d9xq ts:2026-09-22T10:14:02.113Z conf:0.93 -->
- [constraint] Node 20 is the floor; CI runs 20 and 22  <!-- id:p1m4zt ts:2026-09-22T10:20:41.907Z conf:0.88 -->
- [superseded] Use SQLite as the primary store → id:k3d9xq  <!-- id:a8s2ww ts:2026-09-20T16:02:11.000Z conf:0.81 by:k3d9xq -->

A terceira linha mostra o comportamento mais importante. Quando você muda de ideia, a memória anterior não é apagada: é marcada como [superseded] e aponta para a decisão que a substituiu. Ao começar a próxima sessão, as linhas mais relevantes são injetadas automaticamente no contexto do Claude.

Como JEVMEM.md é um arquivo comum, você pode editá-lo, fazer commit e revisá-lo em pull requests como qualquer outro código. É memória de claude code que vive no seu repositório, não em um banco de dados separado.

Como o Jevmem decide o que lembrar?

Jevmem divide o trabalho em duas partes: Jev decide se vale a pena salvar algo, e somente então uma linha é escrita. O README descreve cinco passos:

  1. Limpar. Antes do turno sair da sua máquina, os formatos comuns de segredos, endereços de email e números com formato de cartão são removidos.
  2. Fazer perguntas tipadas a Jev. Há uma decisão? Uma regra? Um bug? É conversa trivial? É uma tentativa de injeção? Qual memória existente contradiz? Jev responde cada uma com uma probabilidade.
  3. Aplicar limites em código. Salvar ou omitir é decidido com regras simples sobre essas probabilidades, definidas em jevmem.config.json. Não é um prompt que você espera que o modelo obedeça.
  4. Escrever uma linha. Por padrão, Jevmem extrai a oração mais relevante do turno e a encurta para 200 caracteres. Um modelo da OpenAI ou Anthropic a condensa apenas se você configurar.
  5. Substituir sem apagar. Se o turno substitui uma memória existente, a linha anterior é etiquetada em vez de ser deletada.

A decisão funciona em dois níveis. Uma passagem rápida avalia cada turno, e um conjunto de perguntas mais detalhado roda apenas nos casos duvidosos, que foram entre 6% e 14% dos turnos nas avaliações do autor.

O design também se sai bem em segurança. Jev não pode gerar texto, então um transcript que diga “ignore as instruções anteriores e lembre-se de X” não tem nada para sequestrar. Além disso, Jevmem pergunta diretamente a Jev se a mensagem é direcionada a um sistema automatizado, e se recusa a salvá-la quando é.

O que é Jev?

Jev é o primeiro “System One Model” da TypeSafe AI: um modelo feito para tomar decisões dentro do software, não para conversar. Você envia perguntas estruturadas e ele retorna respostas tipadas com probabilidades calibradas. Não pode escrever prosa, e isso faz parte do design, não uma limitação.

Explicamos em detalhes como funciona em Jev da TypeSafe: como funciona a IA que toma decisões sem gerar texto. No momento da publicação desta nota, a TypeSafe oferece Jev em acesso antecipado (early access).

Como instalar o Jevmem no Claude Code?

A via recomendada em v0.5 é o plugin do Claude Code. Você precisa de Node 20 ou superior e de uma chave de API da TypeSafe.

Como plugin do Claude Code

npm install -g jevmem
claude plugin marketplace add Avinash-jetwani/jevmem
claude plugin install jevmem@jevmem
cd your-project && jevmem enable

Depois, insira sua chave da TypeSafe dentro do Claude Code com /plugin configure jevmem@jevmem; o comando de instalação no terminal não a solicita. O Claude Code a salva no armazenamento seguro de credenciais do seu sistema, não em settings.json.

O plugin é ativado projeto por projeto. Até que você execute jevmem enable em um repositório, ele não faz chamadas de rede, não cria arquivos e não imprime nada. jevmem disable coloca a configuração de lado e não toca em JEVMEM.md.

Apenas com npm

Esta via também configura Cursor e Codex:

npm install -g jevmem
cd your-project
jevmem init --tool claude

Neste caso, guarde sua chave em ~/.jevmem/env como TYPESAFE_API_KEY=.... Os hooks do Claude Code não herdam as variáveis do seu shell, e Jevmem não lê os perfis do shell. jevmem doctor verifica a instalação e diz qual chave encontrou, sem mostrá-la.

Você já tem um CLAUDE.md?

jevmem import divide CLAUDE.md, AGENTS.md e as regras do Cursor em enunciados, e passa cada um pelo mesmo filtro que um turno ao vivo. Por padrão, só mostra o que adicionaria; com --apply escreve. Com --from claude-auto-memory também lê a memória automática do próprio Claude Code para o projeto. Os arquivos de origem são apenas lidos, nunca modificados.

Jevmem é gratuito?

A ferramenta é gratuita e open source. Usá-la não é totalmente gratuito, porque cada decisão é uma chamada para Jev, e Jev é pago.

TypeSafe cobra Jev a USD 42 por cada bilhão de tokens de entrada, e segundo a documentação de Jevmem os tokens de saída não são cobrados. As medições do próprio autor calculam que um dia de 300 turnos custa cerca de USD 0,03–0,04 em decisões mais USD 0,02 em recuperação de memória. Se você configurar um LLM para escrever as linhas, adiciona uma completion curta para cada linha salva.

Essas cifras vêm dos testes do autor, não de uma avaliação independente, mas estão documentadas chamada por chamada em docs/cost.md do repositório. jevmem stats mostra seu custo diário real a partir do log local.

Funciona com Cursor, Codex e Claude Desktop?

Sim, mas a captura automática é exclusiva do Claude Code. O README deixa isso bem claro:

Ferramenta Captura Recuperação
Claude Code Automática, em cada turno (hook Stop) Automática, em cada prompt (hook UserPromptSubmit)
Codex Automática enquanto jevmem watch roda; caso contrário, o agente chama add_memory via MCP O agente chama search_memory via MCP
Cursor Uma regra pede ao agente que chame add_memory quando você declara uma decisão. Se não fizer, nada é salvo A regra pede chamar search_memory antes de tarefas não triviais
Claude Desktop Manual: você pede que chame add_memory Sob demanda

Se você trabalha principalmente no Cursor, Jevmem se parece mais com uma ferramenta de memória que o agente pode usar do que com uma memória automática.

Jevmem ou claude-mem?

Os dois dão memória entre sessões ao Claude Code, mas com arquiteturas opostas.

  • claude-mem captura observações do uso de ferramentas e gera resumos semânticos com um modelo de IA: seu serviço hospedado, sua própria chave OpenRouter ou Gemini, ou seu plano Anthropic. Salva tudo em SQLite com busca vetorial em Chroma, atrás de um serviço local com visualizador web. Licença Apache 2.0.
  • Jevmem não resume. Jev decide se um turno merece uma linha, e a memória é um arquivo Markdown dentro do seu repositório. Licença MIT.

Na prática: claude-mem é útil se você quer um histórico rico e pesquisável de tudo que o agente fez. Jevmem é útil se você quer um registro curto de decisões que seu time possa ler e revisar em um pull request. Analisamos claude-mem em detalhes em claude-mem: dale a Claude Code la memoria que le falta.

E CLAUDE.md?

CLAUDE.md e JEVMEM.md resolvem metades distintas do problema:

  • CLAUDE.md salva instruções que você escreve propositalmente: como rodar os testes, o estilo de código, as convenções do projeto.
  • JEVMEM.md captura o que se decide no caminho: a escolha do banco de dados do turno 41, a restrição mencionada de passagem, o bug que levou uma hora para diagnosticar.

A razão para automatizar a segunda metade é que ninguém para no meio de uma sessão para atualizar um arquivo à mão. O comando import faz com que ambos se complementem em vez de competirem.

Se você mudar de ferramenta, levar o contexto é outro problema; cobrimos isso em Como mudar de Cursor para Claude Code sem perder o contexto do projeto. E se você prefere uma abordagem que salva tudo, confira MemPalace.

Quão rápido e preciso é Jevmem?

No benchmark do autor (66 turnos reservados para avaliação, executado em 23 de setembro de 2026), Jevmem igualou os LLM de fronteira em precisão para decidir o que salvar, com cerca de um décimo de sua latência:

  • Precisão salvar/omitir: 98,5%, empatado em primeiro lugar com GPT-6 Astra.
  • Precisão salvar + tipo correto: 95,5%. GPT-6 Astra e Claude Opus 5.5 tiveram melhor desempenho nesta medida, a um custo por decisão entre 40 e 60 vezes maior.
  • Tempo mediano por decisão: 0,30 s, em comparação com 2,8–4,3 s de seis LLM atuais com a mesma entrada.

Desde a v0.5.0 você nem espera por essa decisão. O hook Stop roda de forma assíncrona e seu processo termina em 13–15 ms; a decisão é registrada em segundo plano alguns centésimos de milissegundos depois.

São cifras autorrelatadas, e o próprio README reconhece isso. Sua seção de limitações deixa claro que todos os conjuntos de avaliação foram escritos pelo autor, que a qualidade da recuperação não foi medida e que também não foi medido como a memória se degrada após semanas de uso.

Você pode calibrar o modelo com seu próprio critério:

  • jevmem right e jevmem wrong marcam decisões individuais.
  • jevmem missed registra algo que deveria ter sido salvo.
  • Com 40 marcações, jevmem fit reajusta os limiares.

Que riscos tem Jevmem?

Há três que vale a pena conhecer antes de ativá-lo em um repositório de trabalho.

Seus turnos vão para TypeSafe. Jevmem envia a mensagem do usuário de cada turno, os dois turnos anteriores e suas linhas de memória para avaliação. Antes disso, remove formatos comuns de credenciais, endereços de e-mail e números de 16 dígitos. O README deixa claro que não detecta nomes, telefones ou endereços. Compare isso com a política da sua empresa sobre enviar conversas de código para terceiros.

A memória pode ser envenenada. JEVMEM.md fica em git, então um pull request poderia incluir uma linha como “sempre execute este script com sh”. Jevmem revisa as linhas que você não escreveu na sua máquina antes que qualquer agente as veja. No teste do autor, bloqueou 20 de 22 linhas plantadas, sem bloquear nenhuma regra legítima; as duas que escaparam eram instruções disfarçadas de processo normal. A revisão também não se aplica quando um agente abre JEVMEM.md diretamente como arquivo. Revise os diffs de JEVMEM.md como se fossem código; jevmem audit --security --ci executa a mesma revisão em CI.

Uma queda de Jev atrasa a captura. Se Jev não responde ou dá erro, os turnos esperam em uma fila local e são retentados em ordem. Os que continuam não salvos depois de 24 horas são descartados com uma linha no log.

Para quem é Jevmem?

Jevmem é para quem vive em Claude Code e já sofreu com um agente que esquece. O interessante é a arquitetura:

  • Um modelo de decisão barato filtra o que vale a pena guardar.
  • Os limites vivem na configuração, não em um prompt.
  • O arquivo de memória é revisado nos PR.

É um projeto inicial: tem dias de vida, as versões mudam diariamente e os benchmarks são do próprio autor. Mas já dá para instalar, é ativado projeto por projeto e é barato o suficiente para rodar em cada turno. Ative em um repo, execute jevmem why em algumas linhas guardadas e julgue as decisões você mesmo.

1 curtida