Logotipo de MemoryWhale

MemoryWhale

Memoria de depuración local y persistente para desarrolladores y agentes de código.

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

CI versión crates.io licencia MIT local primero, no se sube nada

Vuelve a aparecer un error de compilación; mw context indica que ya ocurrió dos veces y mw search devuelve la solución guardada.

**Te topas con un error. MemoryWhale recuerda que ya lo viste antes y te devuelve la solución.** MemoryWhale registra lo que realmente ocurrió mientras depurabas: comandos, salida, fallos y las soluciones que funcionaron. Guarda esa evidencia en SQLite local para que tú y tus agentes de código puedan encontrarla cuando el terminal, la conexión SSH o la sesión del agente ya no estén. Funciona con 19 agentes de código a través de MCP, sin cuenta y sin subir nada. > En [LongMemEval](../../benchmarks/longmemeval/README.md), un benchmark público de memoria a largo plazo, la búsqueda sitúa > una sesión que contiene la respuesta entre sus 5 primeros resultados en el **97%** > de 470 preguntas (solo recuperación, sin modelo). > > En una evaluación controlada con bugs específicos de un proyecto, un agente resolvió > el **25%** sin memoria y el **96%** con ella. Son tareas sintéticas que > demuestran el mecanismo, no un estudio de campo; consulta > [cómo se midió](../../benchmarks/README.md). **MemoryWhale 0.23.0: MemoryWhale on Your Desktop · 26 de octubre de 2026.** La CLI, la interfaz web y la aplicación de escritorio comparten la versión de producto 0.23.0; el núcleo reutilizable en Rust está en la versión 0.10.0. Consulta las [notas de la versión](https://github.com/wuisabel-gif/MemWhale/blob/v0.23.0/docs/releases/0.23.0.md) para ver la guía de actualización. Al abrir un almacén, se migra del esquema 10 al 17.

El make de un agente falla con un error de xcrun; el hook de captura responde que el error ya apareció una vez y que la solución fue xcode-select --install.

**¿Quieres contribuir?** Empieza por el [issue «Start here»](https://github.com/wuisabel-gif/MemWhale/issues/317). Muchas tareas no requieren Rust, como revisar traducciones o corregir la documentación. ## Por qué MemoryWhale - **Recuerda lo que realmente ocurrió.** Conserva el comando, el entorno, la salida, el fallo y la lección, no solo una línea del historial del shell. - **Usa una sola memoria con todos tus agentes de código.** Cualquier cliente MCP stdio compatible puede leer y escribir en la misma memoria local a través de `mw-mcp`. - **Mantén local tu historial de desarrollo.** MemoryWhale funciona sin cuenta, sin servicio alojado y sin pagar la memoria por token. MemoryWhale registra tu experiencia de desarrollo, no todo lo que haces. Es una capa de memoria para depurar, no un agente de código autónomo, ni un sistema de memoria personal de uso general, ni un sustituto de la documentación del proyecto. ## Novedades de Agent-Native Memory - **Conecta e inspecciona agentes.** Instala el acceso MCP para Claude Code o Rho, los hooks de captura y las pautas de uso de la memoria con `mw integrate`; `mw doctor` comprueba MCP, hooks y skills de forma independiente. - **Mantén explícita la procedencia.** El esquema 10 guarda el agente de cada comando como `claude`, `rho` o `NULL`. La etiqueta `terminal`, usada al mostrar y filtrar, indica una procedencia de terminal o manual, o heredada (legacy); no demuestra que lo haya ejecutado una persona. La identidad del agente es independiente del tipo de origen, como `command`, `session` o `note`. - **Comparte un repositorio, distingue los worktrees.** Los identificadores canónicos de repositorio agrupan los worktrees vinculados y conservan la raíz de cada worktree y las etiquetas de proyecto existentes. La detección lee los metadatos locales de Git, no un servicio remoto. - **Usa interfaces locales.** `mw-serve` ofrece MCP por HTTP en `POST /mcp`; `mw-serve --api` activa, solo si lo pides, la API JSON de solo lectura. Ambas usan el listener del panel; el acceso fuera de loopback requiere un token. - **Obtén el contexto de GitHub de forma explícita.** `mw github context ` lee los metadatos, checks y revisiones de un PR mediante tu sesión de `gh` ya iniciada. Muestra un contexto acotado y con datos sensibles ocultos, sin hacer checkout del código ni guardarlo automáticamente en la memoria. No hay sincronización con GitHub en segundo plano. ## Instalación Hay binarios precompilados para Linux x86_64/aarch64 y 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" ) ``` También puedes instalarlo con Cargo o Homebrew: ```bash cargo install memorywhale-cli brew tap wuisabel-gif/memorywhale https://github.com/wuisabel-gif/MemWhale brew install memorywhale ``` Después de instalar o actualizar, comprueba la versión y la configuración local: ```bash mw --version mw doctor ``` En Windows, puedes usar MemoryWhale dentro de [WSL](https://learn.microsoft.com/windows/wsl/). Consulta la [guía de inicio](../../docs/guides/getting-started.md) para la instalación con paquetes, la configuración del PATH y las notas de cada plataforma. **App de escritorio.** Si prefieres una ventana a una terminal, la app de MemoryWhale muestra lo que se les dijo a tus agentes, los comandos y la salida detrás, y tus lecciones, y se queda en la barra de menús para anunciar cada aviso nuevo. Se publica con cada versión desde la 0.23; consulta la [guía de escritorio](../../docs/guides/desktop.md). ## Ejemplo en sesenta 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 ``` ![Demostración de los estados de ánimo de mw pet](../../assets/pet-demo.gif) Para trabajos más largos, `mw --live` graba una sesión de shell resistente a caídas. `mw tui` abre un navegador interactivo en el terminal, y `mw-serve` inicia el panel web local. ## Cómo funciona ```text CAPTURE MEMORY RETRIEVAL shell / mw-run ──────► local SQLite ────────► search / context agent hooks ─────────► evidence + lessons ──► similar failures │ INTERFACES CLI / MCP / TUI / Web / Desktop ``` La captura y la recuperación son independientes. MCP da a un agente acceso a la memoria existente; no registra automáticamente la actividad normal del terminal. Consulta la [arquitectura](../../docs/architecture.md) y el [concepto de captura](../../docs/concepts/capture.md) para ver el modelo completo. ## Funciona con tu agente de código `mw-mcp` es el punto de integración común: un servidor MCP stdio local que expone seis herramientas de memoria, también disponibles por HTTP a través de `mw-serve`. Hay guías para Claude Code, Rho, Claude Desktop, Cursor, VS Code / GitHub Copilot, Windsurf, Zed, Codex CLI, Cline, Continue, Gemini CLI, Goose, OpenClaw, CrowClaw, Hermes Agent y otros clientes compatibles. ```bash mw integrate claude mw integrate rho mw doctor ``` No todos los clientes ofrecen las mismas capacidades. MCP permite acceder a la memoria; la captura automática de ejecuciones requiere un hook específico del cliente. La [matriz de integración](../../integrations/README.md) distingue acceso, captura y pautas de uso de la memoria, y enlaza cada guía de configuración verificada. El payload actual de los hooks de Rho no incluye el texto del comando ni stdout: los fallos pueden registrarse como metadatos con un comando centinela, y las llamadas correctas sin texto de comando se omiten. La [demo de traspaso entre agentes](../../docs/guides/cross-agent-handoff.md) usa fixtures y un cliente Rho simulado contra un MCP real, no agentes en vivo ni una solución de Cargo verificada. La skill incluida orienta el uso de la memoria; no implementa la recuperación automática al iniciar una tarea, la búsqueda de fallos ni el guardado previo a la compactación. Esas decisiones de ciclo de vida corresponden al cliente. Las lecciones creadas a través de MCP quedan pendientes de revisión por defecto. ## ¿Para quién es MemoryWhale? MemoryWhale es para desarrolladores cuyo contexto de depuración está repartido entre el historial de desplazamiento del terminal, el historial del shell, distintas máquinas y sesiones temporales de agentes. Es especialmente útil si: - depuras compilaciones, dependencias, Git, entornos o despliegues; - usas agentes de código en varias sesiones o cambias de una herramienta a otra; - trabajas por SSH o en varias máquinas de desarrollo; - quieres que los fallos recurrentes y sus soluciones se puedan seguir buscando; - prefieres el almacenamiento local a un servicio de memoria alojado. Consulta los [casos de uso](../../docs/concepts/use-cases.md), donde cada uno se describe como un escenario completo con comandos reales. ## Documentación - [Mapa de la documentación](../../docs/README.md) - [Primeros pasos](../../docs/guides/getting-started.md) - [Referencia de `mw pet`](../../docs/reference/pet.md) - [Captura del terminal](../../docs/guides/terminal-capture.md) - [App de escritorio](../../docs/guides/desktop.md) - [Memoria para agentes](../../docs/guides/agent-memory.md) - [Referencia de la CLI](../../docs/reference/cli.md) - [API JSON local](../../docs/reference/api.md) - [Referencia de MCP](../../docs/reference/mcp.md) - [Seguridad y modelo de amenazas local](../../docs/SECURITY.md) - [Ecosistema](../../docs/ECOSYSTEM.md): Delphin, ContextGC y MemoryWhale juntos - [Guías de integración y matriz de capacidades](../../integrations/README.md) ## Contribuir MemoryWhale acepta cambios que mejoren la captura, la conservación, la recuperación o el intercambio de experiencia de desarrollo. Lee [CONTRIBUTING.md](../../CONTRIBUTING.md) para conocer la regla de alcance, los comandos de desarrollo y la lista de comprobación de pull requests. Si contribuyes por primera vez, elige una tarea del [issue «Start here»](https://github.com/wuisabel-gif/MemWhale/issues/317). Cada pull request recibe además una revisión automática de [Second-Opinion](https://github.com/wuisabel-gif/second-opinion), una GitHub Action de un proyecto hermano del mismo mantenedor. Sus comentarios son sugerencias; una persona decide qué aplicar. La configuración y los límites están en la [guía de Second-Opinion](../../integrations/second-opinion/README.md). Publicado bajo la [licencia MIT](../../LICENSE).