Tu agente de codificación lo recuerda todo. Se acabó volver a explicarlo.
Basado en el iii engine
Memoria persistente para Claude Code, GitHub Copilot CLI, Cursor, Gemini CLI, Codex CLI, Hermes, OpenClaw, pi, OpenCode y cualquier cliente MCP.
🇬🇧 English • 🇨🇳 简体中文 • 🇹🇼 繁體中文 • 🇯🇵 日本語 • 🇰🇷 한국어 • 🇵🇹 Português • 🇧🇷 Português (Brasil) • 🇪🇸 Español • 🇩🇪 Deutsch • 🇫🇷 Français • 🇮🇹 Italiano • 🇳🇱 Nederlands • 🇵🇱 Polski • 🇨🇿 Čeština • 🇷🇴 Română • 🇭🇺 Magyar • 🇬🇷 Ελληνικά • 🇸🇪 Svenska • 🇩🇰 Dansk • 🇳🇴 Norsk • 🇫🇮 Suomi • 🇷🇺 Русский • 🇺🇦 Українська • 🇹🇷 Türkçe • 🇮🇱 עברית • 🇸🇦 العربية • 🇮🇳 हिन्दी • 🇧🇩 বাংলা • 🇵🇰 اردو • 🇹🇭 ไทย • 🇻🇳 Tiếng Việt • 🇮🇩 Bahasa Indonesia • 🇵🇭 Tagalog
El gist extiende el patrón LLM Wiki de Karpathy con puntuación de confianza, ciclo de vida, grafos de conocimiento y búsqueda híbrida: agentmemory es la implementación.
Instalación • Inicio rápido • Benchmarks • Comparativa • Agentes • Cómo funciona • MCP • Visor • Powered by iii • Config • API
--- ## Instalación Requisitos: - Node.js 20 o superior con npm y npx (`node -v`, `npm -v` y `npx -v`). - La instalación automática de iii-engine en macOS/Linux también necesita `curl`, un `sh` POSIX y `tar`. Las imágenes mínimas como `node:20-slim` pueden no incluirlos. - Windows nativo requiere instalar manualmente el `iii.exe` de iii-engine v0.22.1 fijado. WSL2 o Docker Desktop son las otras rutas soportadas. Comando canónico de instalación limpia: ```bash npx -y @agentmemory/agentmemory@latest ``` La primera ejecución es un setup interactivo: elige los agentes a conectar (Claude Code, Cursor, Codex, Gemini CLI, OpenCode, ...), elige un proveedor LLM o quédate sin claves, y siembra la configuración, arranca el servidor de memoria y su iii engine fijado, y ofrece instalar globalmente para que el comando `agentmemory` a secas funcione en cualquier lugar a partir de entonces. `-y` acepta el prompt de paquete de npx y `@latest` evita una release cacheada obsoleta. Un proveedor habilita las funciones de LLM, pero la compresión de observaciones escrita por LLM solo arranca cuando también se establece `AGENTMEMORY_AUTO_COMPRESS=true`. El modo sin claves desactiva los embeddings vectoriales. `memory_recall` (la ruta `mem::search`) usa BM25, mientras que `memory_smart_search` también puede fusionar coincidencias estructurales del grafo cuando ya existen datos de grafo. Para recall semántico local y gratuito, define `EMBEDDING_PROVIDER=local` en `~/.agentmemory/.env` y reinicia. La primera petición de embedding descarga `Xenova/all-MiniLM-L6-v2`; la inferencia corre en local después de esa descarga inicial del modelo. El runtime local usa cuatro puertos: `3111` para REST/MCP HTTP, `3112` para los streams de iii, `3113` para el visor y `49134` para el WebSocket del worker de iii. El estado persistente de iii vive en `~/Library/Application Support/agentmemory` en macOS, `$XDG_DATA_HOME/agentmemory` o `~/.local/share/agentmemory` en Linux, y `%APPDATA%\agentmemory` en Windows. Usa `--data-dirFunciona con cualquier agente que hable MCP o HTTP. Un servidor, memorias compartidas entre todos ellos.
--- Explicas la misma arquitectura en cada sesión. Vuelves a descubrir los mismos bugs. Vuelves a enseñar las mismas preferencias. La memoria integrada (CLAUDE.md, .cursorrules) tiene un tope de 200 líneas y se queda obsoleta. agentmemory soluciona esto. Captura en silencio lo que hace tu agente, lo comprime en memoria buscable e inyecta el contexto correcto cuando empieza la siguiente sesión. Un solo comando. Funciona entre agentes. **Qué cambia:** en la sesión 1 configuras JWT auth. En la sesión 2 pides rate limiting. El agente ya sabe que tu auth usa middleware jose en `src/middleware/auth.ts`, que tus tests cubren la validación de tokens, y que elegiste jose sobre jsonwebtoken por compatibilidad con Edge, sin volver a explicar nada y sin copiar y pegar. ```bash npx -y @agentmemory/agentmemory@latest ``` Por defecto, agentmemory almacena el estado de iii-engine fuera del repositorio desde el que lo arrancas: `~/Library/Application Support/agentmemory` en macOS, `$XDG_DATA_HOME/agentmemory` o `~/.local/share/agentmemory` en Linux, y `%APPDATA%\agentmemory` en Windows. Un `./data/state_store.db` o `./data/iii-config.yaml` legacy ya existentes se reutilizan para la instancia 0 antes de ese valor por defecto de la plataforma. Para elegir una ubicación explícitamente, pasa `--data-dir| ### Precisión de recuperación **coding-agent-life-v1** (corpus propio, reproducible en sandbox) | Adaptador | P@5 | R@5 | Tasa de aciertos top-5 | Latencia p50 | |---|---|---|---|---| | **agentmemory hybrid** | **0.240** | **1.000** | **15 / 15** | 14 ms | | baseline grep | 0.227 | 0.967 | 15 / 15 | 0 ms | Tasa de aciertos top-5 del 100% en el **techo matemático de P@5** para este corpus (0.240, ver scorecard). Hybrid recupera todas las sesiones gold; grep falla 1 de 2 gold en la consulta temporal multi-sesión. La mejora es **recall + temporal**, no precisión agregada. Este benchmark es pequeño y escaso en gold; el LongMemEval-S más grande de abajo diferencia mejor. Desglose completo por tipo + nota de corrección: [`docs/benchmarks/2026-05-20-coding-agent-life-v1.md`](../docs/benchmarks/2026-05-20-coding-agent-life-v1.md). **LongMemEval-S** (ICLR 2025, 500 preguntas) | Sistema | R@5 | R@10 | MRR | |---|---|---|---| | **agentmemory** | **95.2%** | **98.6%** | **88.2%** | | Fallback solo BM25 | 86.2% | 94.6% | 71.5% | | ### Ahorro de tokens | Enfoque | Tokens/año | Coste/año | |---|---|---| | Pegar el contexto completo | 19.5M+ | Imposible (excede la ventana) | | Resumido por LLM | ~650K | ~$500 | | **agentmemory** | **~170K** | **~$10** | | agentmemory + embeddings locales | ~170K | **$0** | |
| agentmemory | mem0 (63K ⭐) | Letta / MemGPT (24K ⭐) | Khoj (36K ⭐) | supermemory (29K ⭐) | TencentDB Agent Memory (22K ⭐) | MemPalace (54K ⭐) | oracleagentmemory | Hippo | Integrada (CLAUDE.md) | |
|---|---|---|---|---|---|---|---|---|---|---|
| Tipo | Motor de memoria + servidor MCP | API de capa de memoria | Runtime de agente completo | IA personal | API de memoria + app | Hub de memoria de equipo (proxy LLM) | Memoria vectorial (OSS) | Motor de memoria (Oracle DB) | Sistema de memoria | Fichero estático |
| R@5 de recuperación | 95.2% | 68.5% (LoCoMo) | 83.2% (LoCoMo) | N/A | Autoinformado | PersonaMem 76% (autoinformado) | ~96.6% (autoinformado) | 94.4% (autoinformado) | N/A | N/A (grep) |
| Captura automática | 12 hooks (esfuerzo manual cero) | Llamadas manuales a add() |
Autoedición por el agente | Manual | Extracción del lado de la API | Intercepción por proxy (cambio de base-URL) | Manual | Extracción por API | Manual | Edición manual |
| Búsqueda | BM25 + Vector + Graph (fusión RRF) | Vector + Graph | Vector (archival) | Semántica | Vector + RAG | 4 tipos de asset (Chat / Skill / Wiki / CodeGraph) | Solo vector | Vector + semántica | Ponderada por decaimiento | Carga todo en el contexto |
| Multiagente | MCP + REST + leases + signals | API (sin coordinación) | Solo dentro del runtime de Letta | No | No | Roles de equipo + assets compartidos | No | Solo con scope | Compartido multiagente | Ficheros por agente |
| Lock-in de framework | Ninguno (cualquier cliente MCP) | Ninguno | Alto (debes usar Letta) | Standalone | Ninguno | Un proxy antepone cada llamada al modelo | Ninguno | Oracle Database | Ninguno | Formato por agente |
| Dependencias externas | Ninguna (SQLite + iii-engine) | Qdrant / pgvector | Postgres + BD vectorial | Varias | Nube gestionada | Stack Docker (Core + Hub + Proxy) | Vector store | Oracle AI Database | Ninguna | Ninguna |
| Ciclo de vida de la memoria | Consolidación de 4 niveles + decaimiento + auto-olvido | Extracción pasiva | Gestionado por el agente | Manual | Auto-olvido | Revisión manual; auto-enrutado en progreso | Ninguno | No especificado | Decaimiento + consolidación | Poda manual |
| Eficiencia de tokens | ~1,900 tokens/sesión ($10/año) | Varía según la integración | Memoria core en el contexto | Varía | Precios de nube | No especificado | Sin presupuesto de tokens | Respaldado por LLM (varía) | Varía | 22K+ tokens con 240 obs |
| Visor en tiempo real | Sí (puerto 3113) | Dashboard en la nube | Dashboard en la nube | UI web | Dashboard en la nube | UI web del hub | No | No | No | No |
| Self-hosted | Sí (por defecto) | Opcional | Opcional | Sí | No (solo nube) | Sí (Docker) | Sí | Sí (Oracle DB) | Sí | Sí |
benchmark/COMPARISON.md). Las cifras de mem0 y Letta son sus números publicados de LoCoMo (un dataset distinto); las cifras de MemPalace, supermemory, TencentDB (PersonaMem) y oracleagentmemory son afirmaciones autoinformadas por el proveedor que no hemos reproducido de forma independiente (la ejecución de oracleagentmemory usó GPT-5.5 contra una Oracle AI Database). Se muestran una junto a otra solo a modo orientativo, no como un cara a cara sobre datos idénticos. Los conteos de estrellas son aproximados y varían con el tiempo.
**Nuevos entrantes** que vale la pena conocer, comparados en profundidad en [`benchmark/COMPARISON.md`](../benchmark/COMPARISON.md):
| Sistema | ⭐ | Enfoque |
|--------|---|-------|
| Zep / Graphiti | 30K | Grafo de conocimiento temporal; los resultados publicados más fuertes en consultas temporales (LongMemEval 63.8%), pero el grafo se construye de forma asíncrona, así que los hechos recientes pueden tardar en aparecer |
| Cognee | 30K | Ingesta de documento a grafo de conocimiento, solo Python, construido para extracción estructurada de entidades en lugar de captura de sesiones |
Ninguno de estos captura automáticamente desde hooks de agentes de codificación, incluye un visor local-first ni funciona sin claves — la combinación en torno a la que está construido agentmemory.
---
Página Workers: cada worker conectado, incluida agentmemory, con PID, conteo de funciones, runtime y last-seen.
Traces: waterfall / flame / service breakdown para cada operación de memoria.