3 min de lectura

deja-vu convierte los registros de agentes en una memoria local consultable

La herramienta de código abierto deja-vu indexa localmente los historiales de Claude Code, Codex y opencode, con redacción, sincronización y recuperación MCP integradas.

Imagen: Hacker News

deja-vu es una herramienta de código abierto destinada a un problema creciente con los agentes de programación: ya han escrito la respuesta en algún sitio, pero encontrarla entre montones de registros de sesiones locales es difícil. Creado por Vladislav Shulcz, el proyecto indexa los historiales de conversación de Claude Code, Codex CLI y opencode en una capa de búsqueda local que, según la página del proyecto, se puede consultar en 7–9 ms sobre archivos de varios gigabytes.

La propuesta es sencilla: en lugar de añadir otra plataforma de memoria o una canalización de captura, deja-vu funciona con los registros que las herramientas ya almacenan en disco. Puede buscar historiales antiguos de forma retroactiva, generar un resumen compacto de contexto en Markdown con deja ctx <query>, y exponer un servidor MCP para que los agentes puedan incorporar trabajos pasados relevantes en la sesión actual. Una configuración opcional --auto añade un hook SessionStart que inyecta automáticamente la memoria reciente del proyecto.

El proyecto también enfatiza la operación local-first. Shulcz afirma que no hay código de red en la ruta de indexación o búsqueda, y que la herramienta se ejecuta como un binario sin dependencias. Para opencode, la indexación utiliza el CLI sqlite3, que según el proyecto viene preinstalado en macOS y la mayoría de distribuciones Linux.

La seguridad es una parte central del diseño. La herramienta redacta credenciales en el momento de la indexación, incluyendo:

Recomendado

Signal prueba usar teléfonos Android como dispositivos vinculados

  • claves de AWS
  • asignaciones genéricas api_key= y token=
  • tokens bearer y JWTs en bruto
  • bloques de clave privada PEM
  • tokens de proveedores como ghp_, sk-, npm_, xox. y AIza
  • URLs scheme://user:pass@host

Las funciones de exportación y compartición vuelven a aplicar la redacción al salir. Las sesiones se pueden compartir como resúmenes sanitizados con deja share <id>, y la memoria puede trasladarse entre máquinas con deja sync export, import o ssh. Sync se describe como append-only e idempotente, con lotes JSONL simples y salvaguardas para evitar que los registros vuelvan a su origen.

Entornos compatibles y rendimiento

El soporte actual cubre:

  • Claude Code: ~/.claude/projects/*/.jsonl
  • Codex CLI: ~/.codex/sessions/** + history.jsonl
  • opencode: ~/.local/share/opencode/opencode.db

El proyecto indica que el soporte para aider y Gemini CLI está planeado en los issues #6 y #7.

Las cifras de rendimiento se basan en lo que el repositorio denomina un corpus real de más de 1.250 sesiones y aproximadamente 3,3 GB repartidos en los tres entornos. En ese conjunto de datos, la búsqueda en caliente se sitúa típicamente en 7–9 ms, alrededor de 40 ms en el peor caso, con un tiempo de indexación en frío de unos 10 s. El tamaño resultante del índice es aproximadamente el 2,4% del corpus de origen.

La herramienta guarda su índice invertido local en ~/.cache/deja, usando manifest.json para rastrear el estado por archivo, de modo que ejecuciones repetidas solo ingieren los datos cambiados. Las opciones de instalación incluyen un script de shell, go install, npx y Homebrew, y el proyecto se publica bajo la licencia MIT.

Tomas Berg

Computing Editor

Tomas lives in the terminal. He covers chips, laptops, and operating systems with a focus on performance and efficiency. He reads kernel changelogs the way other people read fiction, and he's always on the hunt for the perfect mechanical keyboard switch. If it processes data, Tomas has an opinion on it.

vía Hacker News

// Sigue leyendo