Wyrm

Memória persistente para agentes de IA via MCP: armazenamento local-first, aprendizado negativo a partir de falhas passadas e recuperação híbrida, publicado no npm como wyrm-mcp.

Documentação

Wyrm

Wyrm — memory that survives the session

npm version npm downloads node license: proprietary MCP registry local-first

Memória persistente para agentes de IA, via MCP.
Verdades fundamentais, falhas registradas que bloqueiam repetições, causalidade de decisões e recuperação híbrida.
Uma memória SQLite estruturada na sua máquina. Sem nuvem, sem LLM separado.

Site · Início rápido · Discussões · Changelog


O que é

A maioria das sessões de codificação com IA começa do zero. O Wyrm dá ao agente uma memória que persiste entre elas. Ele mantém as decisões, convenções, trabalhos em aberto e becos sem saída do seu projeto em um banco de dados estruturado na sua própria máquina e os devolve ao modelo no início da próxima sessão. Um agente conectado ao Wyrm lembra o que foi decidido na semana passada em vez de redescobrir, e pode ser impedido de repetir uma abordagem que já falhou.

Ele fala o Model Context Protocol, então se integra ao Claude, Cursor, Copilot, Windsurf e Codex sem código de cola.

Início rápido

npm install -g wyrm-mcp   # install
wyrm-setup                # wire it into your AI clients, then restart them

Se npm install -g falhar com EACCES, o prefixo global do npm é um diretório no qual você não pode escrever (geralmente /usr). Instale em um prefixo seu e coloque o bin no seu PATH: npm install -g --prefix ~/.npm-global wyrm-mcp, depois export PATH="$HOME/.npm-global/bin:$PATH". wyrm update atualiza essa mesma instalação mais tarde.

No npm v12+, o npm nega scripts de instalação de dependências por padrão, o que pula a compilação nativa do better-sqlite3 — a instalação funciona, mas o wyrm falha com "Could not locate the bindings file". Instale com o build na lista de permissões: npm install -g wyrm-mcp --allow-scripts=wyrm-mcp,better-sqlite3 (o wyrm update já faz isso por você). Veja TROUBLESHOOTING.md.

Depois, de dentro do seu cliente, peça para chamar wyrm_capabilities para confirmar a conexão. O ciclo diário tem quatro etapas que o agente executa sozinho assim que o hábito se estabelece:

prime    →  load the project's truths, quests, and dead-ends at session start
recall   →  retrieve what you know before re-deriving it
check    →  before retrying an approach, ask if it already failed
capture  →  store durable facts, lessons, and tasks as you go

Medido, não afirmado

Cada número publicado pelo Wyrm vem de um benchmark commitado no código-fonte, reproduzível nos seus próprios dados. O firewall de aprendizado negativo e o ganho de recuperação são os dois que mais importam, e ambos estão cobertos abaixo.

O Recibo do Firewall

O recibo é a prova medida de uma afirmação: quando uma falha está registrada, o firewall bloqueia a repetição, permanece silencioso em ações novas e remove o bloqueio quando a fonte ancorada muda, de forma determinística e sem modelo no loop. No wyrm-mcp 9.1.2, medido em 2026-09-12, o benchmark determinístico pontua recall 100% (32/32) em repetições idênticas e reformuladas com precisão 100% (0 bloqueios falsos de 16), e no A/B cego com agente a taxa de falha repetida cai de 38,9% (14/36) para 8,3% (3/36), uma redução relativa de 78,6% com IC bootstrap de 95% de 45,5% a 100% (n=36 por braço). O método, a tabela por cenário e os dois limites que os números carregam estão em docs/firewall-receipt.md; o recibo determinístico é regenerado a cada push no CI como o artefato firewall-receipt-node22.x (workflow).

O firewall de falhas em vinte segundos: uma falha está registrada, o agente propõe o mesmo deploy, e o hook PreToolUse recusa com o motivo registrado antes do comando rodar. Uma variante com uma flag adicional recebe um aviso, não um bloqueio, que é a borda honesta da correspondência determinística. Cada linha no clipe é saída real do hook.

The firewall blocking a repeated deploy

Por que o Wyrm

Ele lembra o que falhou, não só o que funcionou

A maioria das ferramentas de memória armazena sucessos. O Wyrm também registra becos sem saída e bloqueia a repetição. Você registra uma abordagem falha com wyrm_failure_record, e um wyrm_failure_check posterior a expõe antes que o agente volte a ela. Em uma sessão, isso para de re-litigar problemas resolvidos; em uma frota de agentes, o beco sem saída de um trabalhador avisa os outros, uma vez.

Recuperação que encontra por significado, não só por palavras-chave

wyrm_recall executa busca por palavras-chave (FTS5) e busca semântica sobre um índice vetorial, funde-as e reordena. É híbrido por padrão, sem configuração, sem conta e sem chamada hospedada: um pequeno modelo de embedding local baixa automaticamente na primeira vez que você roda wyrm-setup. Ele também pondera recência, pistas temporais e reuso confirmado, então a memória que se encaixa no momento fica em primeiro. Em um benchmark LoCoMo real commitado no repositório, o piso determinístico sem LLM é recall@5 52,4% / recall@10 59,9%, e o modelo local incluído eleva isso para recall@5 60,0% / recall@10 72,0% (em linha com a referência híbrida local publicada de 60,3% / 72,2%, veja BENCHMARKS.md). Para máxima precisão, wyrm upgrade muda para recuperação hospedada NVIDIA NIM (abaixo).

Local primeiro, e honesto sobre egresso

Por padrão, nenhum dado de memória sai da sua máquina. O banco de dados é um único arquivo SQLite em ~/.wyrm/wyrm.db. As únicas chamadas de saída padrão são uma verificação diária de versão do npm e, em instalações com chave de licença, uma busca assinada de lista de revogação — ambas desligadas com WYRM_NO_VERSION_CHECK=1 e WYRM_LICENSE_REFRESH=0 respectivamente; o download único do modelo do plano gratuito é uma busca simples que não envia nada. docs/EGRESS.md no repositório enumera cada destino, e se você encontrar uma chamada de saída que não está nessa tabela, é um bug que vale reportar. Quando você opta por um caminho de embedding hospedado, o Wyrm relata exatamente o que saiu e para onde, em um recibo de determinismo e no endpoint de saúde. A alegação de privacidade é verificável no runtime, não só na documentação.

Cada escrita deixa um recibo

Cada escrita de memória retorna um recibo estruturado que diz o que aconteceu com ela: armazenada, na fila para revisão, mesclada, aliasada ou descartada, e por quê. Os recibos também são registrados, então wyrm digest --writes reconstrói as escritas de um dia offline e wyrm_stats mostra os resultados e a profundidade da fila de revisão. Você pode auditar o que o agente realmente commitou na memória, não só confiar que fez.

Feito para um agente ou uma frota

Cada memória é atribuída ao agente e à execução que a produziu, então um enxame de agentes pode compartilhar um barramento de memória responsável, com falhas mantidas privadas para sua conta por padrão. Um stream de eventos ao vivo mantém dispositivos sincronizados.

Entrada não confiável fica fora do resumo de contexto

Cada artefato é etiquetado com sua origem: você, um agente, uma importação ou uma fonte não confiável. Conteúdo na via não confiável é categoricamente retido dos resumos de contexto que o modelo lê, seja o que for, e conteúdo importado é verificado por detector e marcado. A quarentena da superfície de resumo foi endurecida contra um red-team garak completo de 622 payloads reais de jailbreak: zero escapes da via não confiável por construção, e o detector sinalizou 80,7% do resto com zero falsos positivos em prosa benigna. Esse red-team roda como gate de CI.

Recuperação NVIDIA NIM (opcional)

Vetores locais estão ligados por padrão. NIM é o próximo passo, para embeddings e reordenação, quando precisão vale uma chamada hospedada. No benchmark de recuperação LoCoMo commitado no repositório (2 conversas, k=10, medido em setembro de 2026), o modelo de embedding NIM padrão nvidia/nemotron-3-embed-1b alcançou recall@1 39,9% e recall@10 76,7%; adicionar o reordenador NIM (nvidia/llama-nemotron-rerank-vl-1b-v2) elevou recall@1 para 55,5% nas mesmas 301 perguntas, com cerca de um segundo extra por consulta. Números publicados aqui antes foram medidos em modelos que a NVIDIA aposentou em 25 de agosto de 2026 e foram retirados. É um opt-in explícito, desligado por padrão, e o egresso é divulgado em cada chamada.

O caminho guiado é wyrm upgrade: uma chave de API gratuita, entrada de chave mascarada, uma chamada ao vivo para validar a chave antes de qualquer escrita, e um reindex opcional único de memórias existentes no novo nível. Para configurar manualmente:

export WYRM_VECTOR_PROVIDER=nim
export WYRM_RERANK_PROVIDER=nim
export NVIDIA_API_KEY=nvapi-...

Ghost Protocol (Pvt) Ltd é membro da NVIDIA Inception.

Funciona com

Claude (Code, desktop, web) · Cursor · GitHub Copilot · Windsurf · Codex, e qualquer cliente compatível com MCP.

Requisitos

Node.js 22 ou mais novo. Recuperação semântica está ligada por padrão via um pequeno modelo local incluído (wyrm-setup baixa, sem conta necessária); wyrm upgrade adiciona recuperação hospedada NVIDIA NIM para máxima precisão. Já roda Ollama para isso? Configurações existentes continuam funcionando sem mudanças.

Preços

Wyrm é gratuito para sempre — a memória local, o firewall, a recuperação, tudo. Planos pagos adicionam sincronização em nuvem entre dispositivos, snapshots criptografados, memória de equipe compartilhada e suporte:

  • Pro — US$ 29/mês · sincronização em nuvem, snapshots criptografados, analytics, suporte prioritário
  • Team — US$ 199/mês · memória de equipe compartilhada, até 25 assentos, painel de administração
  • Enterprise — US$ 499/mês · assentos ilimitados, SSO/SAML, SLA personalizado, opção on-premise

Planos e checkout self-serve: account.ghosts.lk/pricing. Personalizado ou on-premise, email ryan@ghosts.lk.

Comunidade e feedback

Wyrm não envia telemetria, então a forma de sabermos o que funciona é você nos contar.

  • wyrm feedback do seu terminal abre um relatório pré-preenchido. Adicione --bug, --idea ou --question.
  • Discussões para perguntas, ideias e como está indo.
  • Issues para bugs e pedidos concretos.
  • Email ryan@ghosts.lk.

Se o Wyrm ganhou um lugar no seu fluxo de trabalho, uma estrela ajuda outras pessoas a encontrá-lo.

Licença

Wyrm é software proprietário, gratuito sob a licença Wyrm e os Termos de Serviço. Este repositório é o lar público da documentação, do changelog e da comunidade. O código-fonte não é publicado aqui. Para uma licença comercial (incorporar o Wyrm em um produto fechado ou rodá-lo como serviço gerenciado), contate ryan@ghosts.lk.


Construído por Ghost Protocol · Colombo, Sri Lanka
NVIDIA, o logotipo da NVIDIA e NVIDIA Inception são marcas comerciais e/ou marcas registradas da NVIDIA Corporation.