Logo do MemoryWhale

MemoryWhale

Memória de depuração local e persistente para desenvolvedores e agentes de programação.

English README · العربية · Deutsch · README français · 简体中文 README · 繁體中文 README · 한국어 README · 日本語 README · Español · Português (Brasil)

CI release crates.io licença MIT local-first, nada é enviado

Um erro de build volta a aparecer; mw context informa que ele já ocorreu duas vezes e mw search retorna a correção salva.

**Você esbarra em um erro. O MemoryWhale lembra que você já o viu antes e devolve a correção.** O MemoryWhale registra o que realmente aconteceu enquanto você depura: comandos, saída, falhas e as correções que funcionaram. Ele guarda essas evidências em um SQLite local para que você e seus agentes de programação possam encontrá-las depois que o terminal, a conexão SSH ou a sessão do agente já tiverem acabado. Funciona com 19 agentes de programação via MCP, sem conta e sem enviar nada. > No [LongMemEval](../../benchmarks/longmemeval/README.md), um benchmark público de memória de longo prazo, a > busca coloca uma sessão que contém a resposta entre os 5 primeiros resultados > em **97%** de 470 perguntas (apenas recuperação, sem modelo). > > Em uma avaliação controlada com bugs específicos de projeto, um agente resolveu > **25%** sem memória e **96%** com ela. São tarefas sintéticas que demonstram o > mecanismo, não um estudo de campo. Veja > [como foi medido](../../benchmarks/README.md). **MemoryWhale 0.23.0: MemoryWhale on Your Desktop · 26 de outubro de 2026.** A CLI, a interface web e o app desktop compartilham a versão de produto 0.23.0; o núcleo Rust reutilizável está na versão 0.10.0. Consulte as [notas de versão](https://github.com/wuisabel-gif/MemWhale/blob/v0.23.0/docs/releases/0.23.0.md) para o guia de atualização. Ao abrir uma base, ela é migrada do schema 10 para o 17.

O make de um agente falha com um erro do xcrun; o hook de captura responde que o erro já apareceu uma vez e que a correção foi xcode-select --install.

**Quer contribuir?** Comece pela [issue Start here](https://github.com/wuisabel-gif/MemWhale/issues/317). Muitas tarefas não exigem Rust, incluindo revisões de tradução e correções na documentação. ## Por que o MemoryWhale - **Lembre o que realmente aconteceu.** Preserve o comando, o ambiente, a saída, a falha e a lição, não apenas uma linha do histórico do shell. - **Use uma só memória entre agentes de programação.** Qualquer cliente MCP stdio compatível pode ler e gravar na mesma memória local por meio de `mw-mcp`. - **Mantenha o histórico de desenvolvimento local.** O MemoryWhale funciona sem conta, sem serviço hospedado e sem cobrança de memória por token. O MemoryWhale registra a experiência de desenvolvimento, não tudo. Ele é uma camada de memória para depuração, não um agente de programação autônomo, nem um sistema de memória pessoal de uso geral, nem um substituto para a documentação do projeto. ## Novidades do Agent-Native Memory - **Conecte e inspecione agentes.** Instale o acesso MCP para Claude Code ou Rho, os hooks de captura e as orientações de uso da memória com `mw integrate`; `mw doctor` verifica MCP, hooks e skills de forma independente. - **Deixe a procedência explícita.** O schema 10 armazena os agentes dos comandos como `claude`, `rho` ou `NULL`. O rótulo de exibição e filtro `terminal` indica procedência de terminal/manual ou legada, não prova de que uma pessoa executou o comando. A identidade do agente é separada do tipo de fonte, como `command`, `session` ou `note`. - **Compartilhe um repositório, distinga worktrees.** IDs canônicos de repositório agrupam worktrees vinculadas, preservando a raiz de cada worktree e as tags de projeto existentes. A descoberta lê metadados locais do Git, não um serviço remoto. - **Use interfaces locais.** `mw-serve` oferece MCP via HTTP em `POST /mcp`; `mw-serve --api` ativa, por opção, a API JSON somente leitura. Ambos usam o listener do painel; acesso fora do loopback exige um token. - **Busque o contexto do GitHub de forma explícita.** `mw github context ` lê os metadados, checks e reviews de um PR usando seu login existente do `gh`. Ele imprime um contexto limitado e com dados sensíveis ocultados, sem fazer checkout do código nem salvá-lo automaticamente na memória. Não há sincronização com o GitHub em segundo plano. ## Instalação Há binários pré-compilados para Linux x86_64/aarch64 e macOS: ```bash ( set -eu installer="$(mktemp)" trap 'rm -f "$installer"' EXIT curl -fsSL https://raw.githubusercontent.com/wuisabel-gif/MemWhale/7c3864c743cec9a8fa813dcc0b2459cc2859c849/install.sh -o "$installer" printf '%s %s\n' '3e0cad72b29c1894d5ff5f7c30b099537f96501801c14b6320c12e169a3ac8d6' "$installer" | shasum -a 256 -c - sh "$installer" ) ``` Ou instale com Cargo ou Homebrew: ```bash cargo install memorywhale-cli brew tap wuisabel-gif/memorywhale https://github.com/wuisabel-gif/MemWhale brew install memorywhale ``` Depois de instalar ou atualizar, confira a versão e a configuração local: ```bash mw --version mw doctor ``` No Windows, você pode usar o MemoryWhale dentro do [WSL](https://learn.microsoft.com/windows/wsl/). Veja o [guia de primeiros passos](../../docs/guides/getting-started.md) para instalação por pacotes, configuração do PATH e observações sobre cada plataforma. **App desktop.** Se você prefere uma janela a um terminal, o app do MemoryWhale mostra o que foi dito aos seus agentes, os comandos e a saída por trás, e as suas lições, e fica na barra de menus para anunciar cada aviso novo. Ele sai com cada versão a partir da 0.23; veja o [guia do app desktop](../../docs/guides/desktop.md). ## Exemplo em sessenta segundos ```bash mw global on # capture future interactive shell commands mw-run -- cargo check # capture one command and its output mw remember "the linker needed libssl-dev" mw search "linker error" # recover the failure and its fix mw context --last-error # compact context for any agent or chat mw pet # check your memory store's mood ``` ![Demonstração dos humores do mw pet](../../assets/pet-demo.gif) Para trabalhos mais longos, `mw --live` grava uma sessão de shell resistente a falhas. `mw tui` abre um navegador interativo no terminal, e `mw-serve` inicia o painel web local. ## Como funciona ```text CAPTURE MEMORY RETRIEVAL shell / mw-run ──────► local SQLite ────────► search / context agent hooks ─────────► evidence + lessons ──► similar failures │ INTERFACES CLI / MCP / TUI / Web / Desktop ``` Captura e recuperação são independentes. O MCP dá a um agente acesso à memória existente; ele não registra automaticamente a atividade normal do terminal. Veja a [arquitetura](../../docs/architecture.md) e o [conceito de captura](../../docs/concepts/capture.md) para o modelo completo. ## Funciona com o seu agente de programação `mw-mcp` é o ponto comum de integração: um servidor MCP stdio local que expõe seis ferramentas de memória, também disponíveis via HTTP pelo `mw-serve`. Os guias existentes cobrem Claude Code, Rho, Claude Desktop, Cursor, VS Code / GitHub Copilot, Windsurf, Zed, Codex CLI, Cline, Continue, Gemini CLI, Goose, OpenClaw, CrowClaw, Hermes Agent e outros clientes compatíveis. ```bash mw integrate claude mw integrate rho mw doctor ``` Nem todos os clientes oferecem os mesmos recursos. O MCP dá acesso à memória; a captura automática de execuções exige um hook específico de cada cliente. A [matriz de integração](../../integrations/README.md) distingue acesso, captura e orientações de uso da memória, e traz o link de cada guia de configuração verificado. O payload atual do hook do Rho não inclui o texto do comando nem o stdout: as falhas podem ser registradas como metadados com um comando sentinela, e chamadas bem-sucedidas sem texto de comando são ignoradas. A [demo de passagem entre agentes](../../docs/guides/cross-agent-handoff.md) usa fixtures e um cliente Rho simulado contra um MCP real, não agentes em execução nem uma correção do Cargo verificada. A skill incluída orienta o uso da memória; ela não implementa recuperação automática no início da tarefa, consulta de falhas nem salvamento antes da compactação. Essas decisões de ciclo de vida continuam com o cliente. Lições criadas via MCP ficam pendentes de revisão por padrão. ## Para quem é o MemoryWhale? O MemoryWhale é para desenvolvedores cujo contexto de depuração está espalhado pelo histórico de rolagem do terminal, pelo histórico do shell, por várias máquinas e por sessões temporárias de agentes. Ele é especialmente útil quando você: - depura builds, dependências, Git, ambientes ou deploys; - usa agentes de programação ao longo de várias sessões ou alterna entre ferramentas; - trabalha via SSH ou em várias máquinas de desenvolvimento; - quer que falhas recorrentes e suas correções continuem pesquisáveis; - prefere armazenamento local a um serviço de memória hospedado. Veja [Casos de uso](../../docs/concepts/use-cases.md) para cada um desses itens como um cenário de ponta a ponta com comandos reais. ## Documentação - [Mapa da documentação](../../docs/README.md) - [Primeiros passos](../../docs/guides/getting-started.md) - [Referência do `mw pet`](../../docs/reference/pet.md) - [Captura do terminal](../../docs/guides/terminal-capture.md) - [App desktop](../../docs/guides/desktop.md) - [Memória de agentes](../../docs/guides/agent-memory.md) - [Referência da CLI](../../docs/reference/cli.md) - [API JSON local](../../docs/reference/api.md) - [Referência do MCP](../../docs/reference/mcp.md) - [Segurança e modelo de ameaças local](../../docs/SECURITY.md) - [Ecossistema](../../docs/ECOSYSTEM.md): Delphin, ContextGC e MemoryWhale juntos - [Guias de integração e matriz de recursos](../../integrations/README.md) ## Como contribuir O MemoryWhale aceita mudanças que melhorem a captura, a preservação, a recuperação ou o compartilhamento da experiência de desenvolvimento. Leia o [CONTRIBUTING.md](../../CONTRIBUTING.md) para conhecer a regra de escopo, os comandos de desenvolvimento e o checklist de pull request. Quem está começando pode escolher uma tarefa na [issue Start here](https://github.com/wuisabel-gif/MemWhale/issues/317). Todo pull request também recebe uma revisão automatizada do [Second-Opinion](https://github.com/wuisabel-gif/second-opinion), uma GitHub Action de um projeto irmão do mesmo mantenedor. Os comentários dele são sugestões; uma pessoa decide o que fazer com eles. Configuração e limites estão no [guia do Second-Opinion](../../integrations/second-opinion/README.md). Licenciado sob a [Licença MIT](../../LICENSE).