memtrace
Memtrace proporciona a los agentes de codificación de IA una memoria estructural: tu base de código como un grafo de conocimiento en vivo, para que los agentes dejen de derivar la estructura del código desde cero y comiencen a razonar a partir de hechos.
Documentación
Tus agentes merecen memoria estructural.
Memtrace oficial de Syncable. Comienza en memtrace.io/docs. El paquete oficial es memtrace en npm, y el repositorio público es syncable-dev/memtrace-public. Otros proyectos con el mismo nombre no están relacionados. Compara memtrace --version con el historial de versiones Stable y Nightly.
Para soporte de instalación, abre un issue en el repositorio público oficial con tu sistema operativo, versión de Memtrace y el error exacto. Elimina credenciales y código privado de los registros compartidos. El equipo de Syncable mantiene este paquete y sus canales de soporte.
📖 Documentación · ⭐ Danos una estrella · memtrace.io · npm · Discord
Memtrace convierte tu base de código en un grafo de conocimiento en vivo que los agentes de IA pueden consultar en milisegundos — cada función, clase, borde de llamada y versión, en cada sesión, sin volver a leer archivos ni romper cosas que no pueden ver.
Lleva a tu flota a memoria estructural compartida en menos de 90 segundos.
Estructural · cero llamadas LLM · Bi-temporal · consultas de viaje en el tiempo · Consciente de reproducción · cero refactorizaciones a ciegas
DeepSeek Harness
Memtrace se ejecuta como un plugin de DeepSeek Harness. Instala Harness primero (npm install -g @deepseek-ai/dsh — ese es el comando dsh), luego agrega Memtrace:
npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
Luego pide al agente que indexe el espacio de trabajo y extraiga radio de explosión, evolución o un informe de arquitectura. Detalles: syncable-dev/dsh-plugin-memtrace.
Qué hace
Tres cosas, en cada versión.
🧭 Ejecuta una flota de agentes de codificación en el mismo repositorio sin infierno de fusiones. Cada agente lee el mismo grafo de llamadas, ve el mismo radio de explosión, hereda el mismo historial temporal. Sin colisiones. Sin contexto obsoleto.
🔁 Reproduce cualquier refactorización con plena conciencia causal. Los agentes ven exactamente qué depende de qué, y qué cambió y cuándo. Se acabó el "refactoricé una función y 14 pruebas se rompieron que nadie vio."
⚡ Indexa un repositorio de 50k archivos en menos de 90 segundos. Rust + Tree-sitter, $0 en costos de API, 20+ lenguajes más escáneres conscientes del framework (Vapor, Lapis, Kong, GitHub Actions, Terraform, políticas RLS, …), totalmente local. Tu código nunca sale de tu máquina.
🆕 LeanCTX Native — lecturas comprimidas, árboles inteligentes y un libro mayor de valor. Cuatro nuevos modos de compresión en get_source_window, mapas de directorio de una sola llamada, panel de ahorro de tokens en tiempo real y un aprendiz adaptativo opcional que supera la tabla estática en ~14%. Desglose completo: docs/leanctx-native.md. Disponible en v0.3.57+.
memtrace-demo.mp4
Números
| Operación | Memtrace | Mejor alternativa | Δ |
|---|---|---|---|
| Indexar 1,500 archivos | 1.5s · $0 | Mem0: 31 min · $10–50 | ~1,200× más rápido |
| Consulta exacta de símbolo (acc@1, lat) | 96.6% · 0.07 ms | GitNexus: 97.0% · 8.95 ms | 128× menor latencia |
| Recuerdo de llamadores del grafo (Django) | 81.6% | GitNexus: 5.3% | 15.4× |
| Re-indexación incremental p95 | 42.5 ms | CodeGrapher: 613.7 ms | 14.4× |
| Híbrido acc@1 (Django, 3K casos) | 73.9% | GitNexus: 38.6% | 1.91× |
| F1 de revisión de código PR (50 PRs) | 0.7268 | Cubic v2: 0.6077 | +19.60% |
| RSS / proceso | 26 MB | ChromaDB: 1,060 MB | 41× más compacto |
| Lenguajes | 16+ (Tree-sitter) | varía | — |
Suite de benchmarks reproducible: benchmarks/. Misma máquina, mismos corpus, mismo contrato de adaptador. Verdad fundamental del ast y pyright LSP de Python — nunca del índice de ninguna herramienta. Ningún sistema obtiene ventaja de campo en el conjunto de datos.
Desgloses detallados: BENCHMARKS-v0.3.22.md · BENCHMARKS-v0.3.29.md · Benchmark de revisor de código
Crecimiento de estrellas en GitHub
Obtén acceso
Memtrace está en beta privada. Estamos otorgando acceso en lotes para mantener el ciclo de retroalimentación ajustado — cada cohorte llega a un canal de Discord donde publicamos correcciones de informes de errores reales en menos de una semana.
→ Únete a la lista de espera en memtrace.io.
¿Ya tienes acceso? npm install -g memtrace y estarás indexando en 90 segundos. Configuración completa abajo.
🔒 Privacidad. Memtrace se ejecuta completamente en tu máquina. El código fuente nunca la abandona. El único tráfico de red es la validación de licencia, conteos agregados de nodos/bordes y telemetría de fallos opcional de exclusión — sin código fuente, sin rutas de archivos, sin nombres de símbolos. Desglose completo: PRIVACY.md, TELEMETRY.md. Desactiva la telemetría con
MEMTRACE_TELEMETRY=off.
Por qué existe Memtrace
Ya existen buenas herramientas de inteligencia de código. GitNexus y CodeGrapherContext construyen grafos basados en AST que funcionan para "qué hay en mi repositorio ahora mismo."
Memtrace es un grafo de conocimiento estructural episódico bi-temporal. Se construye sobre la misma base de AST y agrega dos dimensiones:
- Memoria temporal — cada símbolo lleva su historial completo de versiones. Seis algoritmos de puntuación (impacto, novedad, actualidad, direccional, compuesto, resumen) permiten a los agentes hacer diferentes preguntas temporales: "¿qué cambió?", "¿qué es inesperado?", "¿qué se romperá?".
- Topología de API entre servicios — Memtrace mapea grafos de llamadas HTTP entre repositorios, detectando qué servicios llaman a qué endpoints en tu arquitectura.
Además, la capa estructural es integral:
| Los símbolos son nodos | funciones, clases, interfaces, tipos, endpoints |
| Las relaciones son bordes | CALLS, IMPLEMENTS, IMPORTS, EXPORTS, CONTAINS |
| Detección de comunidades | El algoritmo Louvain identifica módulos arquitectónicos automáticamente |
| Recuperación híbrida | Tantivy BM25 + incrustaciones vectoriales + Fusión de Rango Recíproco + reordenamiento con cross-encoder |
| Nativo en Rust | binario compilado, sin sobrecarga de runtime Python/JS, latencia de consulta p95 inferior a 8 ms |
El agente no solo busca en tu código. Lo recuerda.
Memtrace vs. sistemas de memoria generales (Mem0, Graphiti)
Mem0 y Graphiti son potentes motores de memoria conversacional diseñados para rastrear conocimiento de entidades (p. ej. User -> Likes -> Apples). Sobresalen en eso. Para inteligencia de código específicamente, la compensación es que dependen de inferencia LLM para construir sus grafos — lo que agrega costo y tiempo al procesar miles de archivos fuente.
Graphiti procesa datos a través de add_episode(), lo que dispara múltiples llamadas LLM por episodio — extracción de entidades, resolución de relaciones, deduplicación. A ~50 episodios/minuto (fuente), ingerir 1,500 archivos de código toma 1–2 horas.
Mem0 procesa datos a través de client.add(), que pone en cola extracción LLM asíncrona y resolución de conflictos por elemento de memoria (fuente). La ingesta masiva con infer=True (predeterminado) significa que cada archivo pasa por un pipeline LLM. El rendimiento está limitado por los límites de tasa de tu proveedor LLM.
Ambos acumulan $10–50+ en costos de API para bases de código grandes porque cada relación se infiere en lugar de analizarse.
Memtrace toma un enfoque diferente: indexa 1,500 archivos en 1.2–1.8 segundos por $0.00 — sin llamadas LLM, sin costos de API, sin límites de tasa. Los analizadores AST nativos de Tree-sitter resuelven referencias de símbolos deterministas (CALLS, IMPLEMENTS, IMPORTS) localmente. La compensación es que Memtrace está construido específicamente para código — no maneja memoria de entidades conversacionales como lo hacen Mem0 y Graphiti.
25+ herramientas MCP
Memtrace expone un kit de herramientas estructural completo a través del Protocolo de Contexto de Modelo.
Búsqueda y Descubrimiento - find_code — híbrido BM25 + semántico + RRF - find_symbol — exacto / difuso con Levenshtein Relaciones - analyze_relationships — llamadores, llamados, jerarquía, importaciones - get_symbol_context — vista de 360° en una sola llamada Análisis de Impacto - get_impact — radio de explosión con calificación de riesgo - detect_changes — mapeo de alcance diff-a-símbolos Calidad de Código - find_dead_code — detección de cero llamadores - find_most_complex_functions — puntos críticos de complejidad - calculate_cyclomatic_complexity - get_repository_stats | Análisis Temporal - get_evolution — 6 modos de puntuación - get_timeline — historial completo de versiones - detect_changes — alcance basado en diff Algoritmos de Grafo - find_bridge_symbols — centralidad de intermediación - find_central_symbols — PageRank / grado - list_communities — módulos Louvain - list_processes / get_process_flow Topología de API - get_api_topology — grafo HTTP entre repositorios - find_api_endpoints - find_api_calls Indexación y Vigilancia - index_directory — analizar, resolver, incrustar - watch_directory — incremental en vivo - execute_cypher — consultas directas al grafo |
|---|
17 habilidades de agente
Memtrace incluye habilidades/orientación que enseñan a los agentes cómo usar el grafo. Se activan automáticamente según lo que preguntes — sin necesidad de ingeniería de prompts.
| Habilidad | Tú dices… |
|---|---|
memtrace-search | "encuentra esta función", "dónde está definido X" |
memtrace-relationships | "quién llama a esto", "muestra la jerarquía de clases" |
memtrace-evolution | "qué cambió esta semana", "cómo evolucionó esto" |
memtrace-impact | "qué se rompe si cambio esto", "radio de explosión" |
memtrace-quality | "encuentra código muerto", "puntos críticos de complejidad" |
memtrace-graph | "muéstrame la arquitectura", "encuentra cuellos de botella" |
memtrace-api-topology | "lista endpoints de API", "dependencias de servicios" |
memtrace-index | "indexa este proyecto", "analiza esta base de código" |
memtrace-cochange | "qué más cambia con esto", "acoplamiento oculto" |
Más 8 habilidades de flujo de trabajo que encadenan múltiples herramientas con lógica de decisión: memtrace-first, codebase-exploration, change-impact-analysis, incident-investigation, refactoring-guide, continuous-memory, episode-replay y session-continuity.
Motor Temporal
Seis algoritmos de puntuación para diferentes preguntas temporales:
| Modo | Mejor para |
|---|---|
compound | "¿Qué cambió?" de propósito general — mezcla ponderada de impacto, novedad, actualidad |
impact | "¿Qué se rompió?" — clasifica por radio de explosión (in_degree^0.7 × (1 + out_degree)^0.3) |
novel | "¿Qué es inesperado?" — detección de anomalías mediante puntuación de sorpresa |
recent | "¿Qué cambió cerca del incidente?" — decaimiento exponencial en el tiempo |
directional | "¿Qué se agregó vs. se eliminó?" — puntuación asimétrica |
overview | Resumen rápido a nivel de módulo |
Utiliza Presupuesto de Significancia Estructural para mostrar el conjunto mínimo de cambios que cubre ≥80% de la significancia total.
Compatibilidad
| Editor / Agente | Herramientas MCP (25+) | Habilidades / Orientación | Instalación |
|---|---|---|---|
| Claude Code | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| Claude Desktop | ✅ | ✅ | Automática — compartida con Claude Code |
| DeepSeek Harness | ✅ | ✅ | npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace |
| Cursor (v2.4+) | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| Codex CLI | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| Windsurf | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| VS Code (Copilot) | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| Hermes | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| OpenCode | ✅ | ✅ | npm install -g memtrace — totalmente automática |
| Kiro | ✅ | Dirección | npm install -g memtrace — totalmente automática |
| Cline / Roo Code | ✅ | — | Agregar servidor MCP manualmente |
| Cualquier cliente MCP | ✅ | — | Agregar servidor MCP manualmente |
Las habilidades son prompts de flujo de trabajo que enseñan al agente cómo encadenar herramientas. Kiro no usa SKILL.md, por lo que Memtrace escribe archivos de dirección automática equivalentes en su lugar.
Configuración
DeepSeek Harness
dsh proviene de @deepseek-ai/dsh, no de Memtrace.
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
O sin un CLI global:
npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
Ese bundle registra las habilidades de Memtrace e inicia memtrace mcp dentro del perfil de Harness. El primer lanzamiento puede descargar el binario de Memtrace mediante npx; fija una instalación local con npm install -g memtrace y MEMTRACE_BIN=memtrace.
Claude Code + Claude Desktop
npm install -g memtrace
Maneja todo: binario, 17 habilidades, servidor MCP, plugin, marketplace. Un solo comando, ambos editores.
Para configuración manual:
claude plugin marketplace add https://github.com/syncable-dev/memtrace-public.git
claude plugin install memtrace-skills@memtrace --scope user
claude mcp add memtrace -- memtrace mcp
Cursor
npm install -g memtrace maneja todo automáticamente. Cursor v2.4+ lee el mismo formato SKILL.md que Claude.
Para instalación local al proyecto (las habilidades viajan con tu repositorio):
npx memtrace-skills install --only cursor --local
Codex, Windsurf, VS Code, Hermes, OpenCode y Kiro
El instalador también escribe habilidades/guía y configuración de MCP para las superficies de agente más nuevas:
| Agente | Habilidades/guía globales | Config MCP global | Soporte local al proyecto |
|---|---|---|---|
| Codex | ~/.agents/skills/ | ~/.codex/config.toml | .agents/skills/, .codex/config.toml |
| Windsurf | ~/.codeium/windsurf/skills/ | ~/.codeium/windsurf/mcp_config.json | .windsurf/skills/; MCP permanece a nivel de usuario |
| VS Code / Copilot | ~/.copilot/skills/ | Usuario de VS Code mcp.json | .github/skills/, .vscode/mcp.json |
| Hermes | ~/.hermes/skills/ | ~/.hermes/config.yaml | solo a nivel de usuario |
| OpenCode | ~/.config/opencode/skills/ | ~/.config/opencode/opencode.json | .opencode/skills/, opencode.json |
| Kiro | ~/.kiro/steering/ | ~/.kiro/settings/mcp.json | .kiro/steering/, .kiro/settings/mcp.json |
Instala solo integraciones seleccionadas:
npx memtrace-skills install --only codex,windsurf,vscode,hermes,opencode,kiro
Instala configuración local al proyecto donde sea compatible:
npx memtrace-skills install --only codex,vscode,opencode,kiro --local
Otros clientes MCP
Para Cline, Roo Code o cualquier cliente que solo necesite herramientas MCP, agrega este servidor manualmente:
{
"mcpServers": {
"memtrace": {
"command": "memtrace",
"args": ["mcp"],
"env": {}
}
}
}
| Editor | Archivo de configuración |
|---|---|
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| VS Code (Copilot) | .vscode/mcp.json en la raíz de tu proyecto |
| Codex | ~/.codex/config.toml o .codex/config.toml |
| Hermes | ~/.hermes/config.yaml |
| OpenCode | ~/.config/opencode/opencode.json o proyecto opencode.json |
| Kiro | ~/.kiro/settings/mcp.json o .kiro/settings/mcp.json |
| Cline | Configuración MCP de Cline en el panel de extensiones |
Desinstalación
memtrace uninstall # removes skills, MCP server, plugin, settings
npm uninstall -g memtrace
¿Ya ejecutaste npm uninstall primero? El script de limpieza está en ~/.memtrace/uninstall.js:
node ~/.memtrace/uninstall.js
Solución de problemas de instalación
npm install -g memtrace incluye un paquete principal pequeño + un binario específico de plataforma (uno de @memtrace/darwin-arm64, @memtrace/linux-x64, @memtrace/win32-x64). Si memtrace start alguna vez dice "Could not find binary for your platform":
# Re-run install, asking npm to keep optional deps
npm install -g memtrace --include=optional
# Or refresh from latest
memtrace install # built-in self-update
npm install -g memtrace@latest --force
# Or install the platform binary directly (Apple Silicon shown — swap for your platform)
npm install -g @memtrace/darwin-arm64
Esto normalmente solo ocurre en máquinas donde npm está configurado para omitir dependencias opcionales (npmrc corporativo, ciertos cachés de CI).
Idiomas
Programación: Rust · Go · TypeScript · JavaScript · Python · Java · C · C++ · C# · Swift · Kotlin · Ruby · PHP · Dart · Scala · Perl · Lua — AST completo: funciones, clases, tipos, llamadas, complejidad.
Infraestructura y configuración: YAML · HCL / Terraform · JSON · TOML · SQL (incluido PostgreSQL CREATE POLICY para RLS, con bordes entre lenguajes desde políticas hasta símbolos de esquema Drizzle / Prisma / TS).
Escáneres conscientes de frameworks sobre la capa AST:
- Backend HTTP: Express · NestJS · Encore · Fastify · Vapor · Hummingbird · FastAPI · Flask · Django · Gin · Chi · Echo · Actix · Lapis · Kong · OpenResty · rutas de Rails
- Frontend / cliente: RTK Query · TanStack Query · SWR · URLSession · AsyncHTTPClient · axios · fetch · vistas SwiftUI
- CI / infra: flujos de trabajo de GitHub Actions (trabajos, pasos, bordes
needs:) · variables / módulos / fuentes de datos de Terraform · gráficos Helm · manifiestos K8s - Gráficos de paquetes y dependencias: scripts + dependencias de
package.json· dependencias deCargo.toml·pyproject.toml(mejor esfuerzo) - Base de datos: políticas RLS de PostgreSQL + disparadores + funciones, con bordes heurísticos al esquema ORM
Requisitos
Memtrace se ejecuta localmente: el primer índice es intensivo en CPU/RAM; las consultas posteriores y la indexación incremental son mucho más ligeras.
| Mínimo | Recomendado | |
|---|---|---|
| CPU | 4 núcleos | 8+ núcleos para monorepos grandes |
| Memoria | 8 GB RAM | 16–32 GB RAM |
| Disco | 5 GB libres | 10–20 GB libres |
| GPU | No requerida | No requerida |
| Node.js | ≥ 18 | LTS actual |
| Git | Requerido para análisis temporal | Historial completo del repositorio para mejores resultados |
Telemetría
Desde v0.3.17 Memtrace incluye telemetría opt-out que nos ayuda a detectar fallos, regresiones y problemas de rendimiento antes de que alguien abra un issue.
- Recopilado: eventos de inicio de la aplicación, duraciones de indexación/embedding, informes de pánico, líneas de registro WARN/ERROR de los propios crates de Memtrace.
- NO recopilado: código fuente, contenido de archivos, nombres de símbolos, embeddings, nombres o rutas de repositorios, nombres de ramas, datos de commits.
- Sanitización: cada payload pasa por un sanitizador que elimina rutas del directorio home, cadenas con forma de token y direcciones de correo antes de tocar el disco.
Desactívalo con una variable de entorno:
MEMTRACE_TELEMETRY=off memtrace start # per-run
export MEMTRACE_TELEMETRY=off # permanent (~/.zshrc, ~/.bashrc)
O en la configuración MCP de tu editor: "env": { "MEMTRACE_TELEMETRY": "off" }.
El desglose completo — incluido el diseño de la cola en disco, dónde se almacenan los datos en el extremo receptor y cómo inspeccionar lo que se habría enviado — está en TELEMETRY.md.
Licencia y propiedad
EULA propietario. Uso gratuito durante la beta privada y después de la disponibilidad general para desarrolladores individuales. El indexador + la base de datos (MemDB) son de código cerrado.
Suite de benchmarks bajo MIT en benchmarks/ — totalmente reproducible, sin código propietario requerido para ejecutarlos.
memtrace.io · Discord · npm · Issues
Construido por Syncable · Copenhague 🇩🇰