memo

Memoria a largo plazo local para agentes de codificación — embeddings en proceso (MLX/CPU), búsqueda híbrida vectorial+BM25, markdown como fuente de verdad. Sin nube, sin claves.

Documentación

memo — local memory for AI

memo

Tu agente de codificación comienza cada sesión con amnesia. memo lo soluciona — 100% en tu propia máquina.

Memoria persistente y buscable para Claude Code, Codex, Cursor, Cline, Devin y OpenCode. Sin nube, sin claves de API, sin Ollama, sin base de datos vectorial que ejecutar. Y gasta menos tokens, no más.

PyPI Downloads License: MIT MCP MCP Toplist

Save a fact once — every later session recalls it automatically, all stored locally.


Instalación

curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.11.3/install.sh | bash

¿Prefieres un gestor de paquetes? uv tool install mlx-memo · pipx install mlx-memo · brew tap jagoff/memo && brew install mlx-memo

Luego:

memo doctor                                   # self-check
memo save 'we use Postgres, not Mongo'        # save a decision
memo search 'what database did we pick?'      # search by meaning

Eso es todo. Tus agentes lo detectan automáticamente a través de MCP — el instalador conecta cada cliente que encuentra.

¿Instalando en otra Mac o delegando la configuración a un agente?

Nueva Mac:

curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.11.3/install.sh | bash
memo sync bootstrap git@github.com:yourname/memo-sync.git

Configuración gestionada por agente:

curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.11.3/install.sh | bash
memo doctor --strict-runtime

¿En Linux o solo quieres echar un vistazo primero?

docker run --rm ghcr.io/jagoff/memo:latest memo doctor

Por qué esto te ahorra dinero

La mayoría de los servidores de memoria añaden contexto. memo está diseñado para eliminarlo.

PerfilHerramientasTokens de esquema
agent (predeterminado)41~9.4k
core / slim58~12.9k
full / default164~30.4k

La superficie MCP predeterminada es de 41 herramientas, no 164 — un 75% menos de herramientas y aproximadamente un 69% menos de contexto de esquema: 41 herramientas / ~9.4k tokens de esquema frente a 164 herramientas / ~30.4k tokens en la superficie completa — un costo que se paga en cada sesión, en cada cliente.

El recuerdo ambiental inyecta un recuerdo relevante antes de que el modelo responda. El hook de Claude Code incluido limita esa inyección a ~160 tokens. memo roi lee los registros reales de fundamentación y de re-preguntas, y luego estima los ahorros acumulados con valores predeterminados divulgados (350 tokens por recuerdo fundamentado y 900 por re-pregunta evitada).

memo roi       # value from grounded recalls and avoided re-asks
memo tokens    # usage-savings ledger

Tres cosas que nadie más hace

🕰️ Máquina del tiempo — consulta tu conocimiento tal como era

memo as-of ask "what was the deploy strategy?" --date 2026-02-01
memo diff --from 2026-01-01 --to 2026-03-01

Reconstrucción histórica completa mediante la reproducción inversa de history.db. Útil cuando necesitas saber por qué tu yo del pasado tomó una decisión, no solo qué decidió tu yo del pasado.

⚡ Radar de contradicciones — memoria que nota cuando cambias de opinión

memo contradict scan      # find conflicting facts corpus-wide
memo contradict triage    # resolve: fuse / newer-wins / dismiss

Cambia una decisión y memo marca la versión ahora obsoleta, para que el agente deje de reintroducir lo que ya descartaste.

🔮 Dream — se optimiza solo mientras duermes

memo dream run

Un pipeline nocturno de 7 fases: inventario → extraer señales → resolver conflictos → podar lo obsoleto → sintetizar conocimientos entre clústeres → optimizar → precalentar los 100 mejores embeddings de consulta para que el recuerdo de mañana se mantenga por debajo de 200 ms. Cada ejecución escribe un recibo que puedes auditar. Cero intervención.


Cómo funciona

Recuperación híbrida. Una rama vectorial (MLX en Apple Silicon, sentence-transformers en CPU) y una rama BM25 (FTS5, con plegado de diacríticos para español) se ejecutan en paralelo, se fusionan mediante Reciprocal Rank Fusion y luego pasan por un re-ranker opcional con cross-encoder MLX.

vector + keyword search in parallel, fused, reranked, top memory injected

Markdown es la fuente de verdad. Cada recuerdo es un archivo .md plano que puedes leer, buscar con grep y versionar. SQLite es un índice derivado que se reconstruye desde los archivos en cualquier momento — edita a mano en Obsidian y tu edición gana en el próximo memo reindex. Nada queda encerrado en una base de datos que no puedas abrir.

Los prompts y los recuerdos permanecen en tu máquina. El embedder, el re-ranker y el LLM se ejecutan todos en proceso. Sin telemetría. La memoria solo viaja si apuntas memo sync a un remoto git que poseas. El inicio normal es completamente offline; las comprobaciones de actualización remota y la auto-actualización requieren una aceptación explícita. → Política de privacidad y red

También incluido: memo resume entre agentes (reabre cualquier sesión desde cualquier agente), sincronización git entre Macs, un grafo de conocimiento con aristas de símbolos de codegraph opcionales, almacenamiento cifrado de secretos, ingesta de OCR/audio, paquetes de evidencia, aprendizaje de resultados, federación firmada y una interfaz de chat local sobre tu memoria (memo chat serve). → Referencia completa de funciones


Cómo se compara

Verificado en julio de 2026 contra la documentación de cada proyecto. Las correcciones son bienvenidas — abre un issue y corregiré la tabla.

memomem0lettacogneebasic-memorycipher
100% local, sin API en la nube⚠️⚠️⚠️⚠️
Máquina del tiempo (rebobinar a cualquier fecha)⚠️⚠️⚠️
Detección y resolución de contradicciones⚠️⚠️
Mantenimiento nocturno autónomo
Perfiles MCP de economía de tokens⚠️
Markdown / Obsidian como fuente de verdad⚠️

✅ de primera clase · ⚠️ parcial, limitado por configuración o complemento · ❌ ausente

Los comparadores más cercanos son basic-memory (local-first + Obsidian + MCP — misma tesis) y cipher (memoria para agentes de codificación).


Requisitos

Soporte
macOS, Apple Silicon (M1–M4)Completo — embedder MLX + re-ranker + ask/synthesize/dream
Linux / UbuntuBackend de CPU independiente — búsqueda, recuerdo, guardado. pipx install "mlx-memo[cpu]" · docs/ubuntu.md
Intel MacNo compatible — las versiones actuales de PyTorch no incluyen wheels de Python 3.13 para esta plataforma
DockerMultiplataforma, backend de CPU · docs/docker.md

Python ≥ 3.13 (el instalador lo gestiona mediante uv si no lo tienes). La primera instalación descarga ~8 GB de modelos, de 5 a 15 minutos. Opcional: un vault de Obsidian — sin uno, memo usa ~/Documents/memo/.


Documentación

Detalle de instalación, opciones del instalador, migración a Mac nuevareference.md › Instalación
Configuración MCP por cliente (Claude Desktop, Cursor, Cline, Continue)reference.md › Configuración MCP
Recuerdo ambiental, captura y ajustereference.md › Memoria ambiental
Referencia completa de CLI (144 comandos) + memo tuireference.md › CLI
Todas las banderas de MEMO_* y perfiles de modeloreference.md › Configuración
Notas de arquitectura y diseñoreference.md › Diseño
Política de privacidad y redPRIVACY.md

Los 144 comandos CLI de nivel superior

Inventario completo de comandos (mantenido aquí para que CI detecte desviaciones entre CLI y documentación)

Núcleo: save search ask get edit rename delete list

Recuerdo y Hooks: recall recall-hook context briefing continuity prewarm capture-tick capture-stop interject ask-gaps guard digest

Sesión e Historial: history as-of diff record-history session chat-session resume reflect mine-history episodes chronicle

Mantenimiento: reindex maintain review dream consolidate synthesize dedupe cross-dedup retier contradict coordinate terminal invalidate temporal compress-context ops

Análisis y Calidad: health stats doctor journey-check lint drift analytics eval roi tokens token-savings usefulness gaps outcome profile confidence graduation hype definitive evidence

Grafo de Conocimiento: graph entities entity extract-entities links version related

Búsqueda Avanzada: embed rerank contextual retrieve context-pack chat chat-ask repo

Importar / Exportar / Sincronizar: import export backup restore sync ingest federation

Visualización: tui dashboard map logs hook-log

Configuración y Ajustes: init setup config install-mcp install-watcher uninstall-watcher install-slash install-statusline install-recall-hook install-shell-wrapper install-shims startup-banner migrate migrate-vault migrate-independence update upgrade self-update watch release onboard

Daemons: daemons recall-daemon ingest-daemon maint-daemon embed-daemon idle-daemon

Otros: backend-native collaborative events feedback query mandate drift sleep-cycle operational ocr-image provenance secret verbatim mcp-command codex-badge debug-recall http-api mine-git token-gate fix undo code-facts code-nudge code-health


Contribuciones

git clone https://github.com/jagoff/memo && cd memo
uv pip install -e '.[dev]'

Los issues y PRs son bienvenidos — consulta CONTRIBUTING.md. Si memo te resulta útil, una ⭐ realmente ayuda a que otras personas lo encuentren.

Licencia MIT. Construido sobre Apple MLX, sqlite-vec y codegraph.