MeMesh

MeMesh 是跑在你自己電腦上的 AI Agent 協作層。記憶、指定收件人的訊息和改善提案,都放在同一個 SQLite 檔案裡。Claude Code、Codex、Cursor、Gemini,或你自己接的本機模型,都能透過 MCP、HTTP 或 CLI 使用;不綁單一廠商,也不用先把資料送上雲端。開源、MIT 授權、免費使用。

Documentación

🌐 English | 繁體中文 | Deutsch

MeMesh

Memoria compartida y coordinación local duradera para agentes de codificación.
Un solo archivo SQLite. Sin Docker. Sin nube requerida.

npm MIT Node MCP


MeMesh es la capa de colaboración local de código abierto para agentes de codificación con IA: memoria compartida, mensajería duradera con destinatario exacto y propuestas gobernadas de memoria a producto para Claude Code, Codex, Cursor, agentes personalizados o respaldados por Ollama, y clientes MCP locales compatibles. Un solo archivo SQLite. Sin Docker. Sin nube requerida.

Nuevas superficies de colaboración

  • message brinda a los agentes locales una bandeja de entrada duradera con destinatario exacto, recuperación de cursor y recibos explícitos a través de MCP, HTTP y CLI.
  • improvement convierte memorias activas en propuestas de trabajo de producto vinculadas a evidencia que los agentes pueden preparar, pero solo un humano puede aceptar o rechazar.

Instalación

En Claude Code — escribe esto en el chat (los hooks, las herramientas de memoria y la habilidad /memesh se conectan automáticamente):

/plugin marketplace add PCIRCLE-AI/memesh
/plugin install memesh@pcircle-memesh

Reinicia Claude Code. Una línea de estado ◉ MeMesh en la parte superior de tu próxima sesión significa que está capturando.

En una terminal — el CLI memesh, el panel de control y el servidor memesh-mcp para Codex / Cursor y clientes MCP locales compatibles (requiere Node 22.13+):

npm install -g @pcircle/memesh
memesh doctor        # verifies this install end to end

La mayoría de los usuarios de Claude Code eventualmente quieren ambos — comparten una sola base de datos y nunca entran en conflicto. Detalles, otros agentes y actualizaciones: Comenzar.

¿Instalando a través de un agente de IA? Apúntalo a llms-install.md — pasos deterministas con verificación por paso. Una vez instalado, AGENTS.md le indica cómo usar memesh correctamente.

El Problema

Tu agente de codificación no solo olvida hechos entre sesiones — repite trabajo. Vuelve a proponer el enfoque que rechazaste el mes pasado, tropieza con la misma prueba fallida, redescubre la restricción que rompió producción en marzo y te pide que reexpliques la arquitectura que ayudó a diseñar.

Eso no es un problema de historial de chat; es un problema de memoria del agente. Lo que necesita sobrevivir entre sesiones es el trabajo: decisiones con sus razones, fallos con sus correcciones y los vínculos entre ellos.

MeMesh es esa memoria. Los hooks la capturan de lo que el agente realmente hace (sesiones, commits, fallos — no notas manuales), el recuerdo la inyecta en el momento en que el agente actúa (inicio de sesión, antes de ediciones de archivos), y la capa de grafo de conocimiento la mantiene honesta con el tiempo (supersesión, detección de conflictos juzgada por LLM). Instala con npm, la memoria vive en ~/.memesh/knowledge-graph.db, conéctalo a Claude Code o a cualquier cliente compatible con MCP.

[!IMPORTANT] En desarrollo activo — las funciones pueden cambiar entre versiones. Abre un issue para errores o solicitudes de funciones.


Colaboración Local de Agentes, con Honestidad

MeMesh tiene una ventaja real entre agentes: cada host conectado a la misma instancia local de MeMesh puede compartir memoria duradera, mientras que la herramienta message proporciona una ruta de mensajería explícita con destinatario exacto a través de MCP, HTTP y CLI.

El runtime opcional de activación nativa segura del host actualmente soporta macOS y Linux. La memoria central de MeMesh, el almacenamiento duradero de mensajes y las herramientas MCP permanecen disponibles en Windows; la activación nativa del host en Windows aún no está soportada.

  • Funciona hoy: un remitente MCP, HTTP o CLI puede enviar de forma duradera a un destinatario local nombrado. Un receptor puede recuperar la carga útil por separado, reanudar desde un cursor opaco después de reiniciar y registrar la ingesta, el acuse de recibo, la disposición del flujo de trabajo y la activación del host como hechos separados.
  • Con el plugin de MeMesh para Codex habilitado y la opción privada del propietario memesh agent setup codex-session activada, una sesión activa de Codex en el espacio de trabajo local configurado exacto recibe una activación nativa memesh_message_available sin sondeo ni recordatorio humano. El marcador contiene solo metadatos de enrutamiento; Codex luego recupera la carga útil duradera con la herramienta con alcance message.
  • Una admisión exitosa en la cola (host_accept) significa solo que la cola local de Codex aceptó el marcador. No significa que un agente leyó la carga útil, la acusó de recibo o aceptó el trabajo.
  • El almacenamiento duradero de mensajes está limitado por la política del propietario, no por eliminación silenciosa: memesh message storage report expone la carga útil lógica, filas protegidas, páginas SQLite reutilizables y tamaño de WAL; la poda limitada es de prueba por defecto y solo marca como eliminadas las cargas útiles terminales antiguas. Un MEMESH_AGENT_MESSAGE_STORAGE_QUOTA_BYTES opcional rechaza un envío atómicamente. Consulta almacenamiento limitado y retención de auditoría.
  • Una sesión de Codex detenida, ausente o desconectada no se activa ni se reemplaza. Su bandeja de entrada duradera permanece disponible para auditoría y recuperación; poll y memesh message watch son rutas de compatibilidad y diagnóstico. La entrega nativa nunca reanuda una sesión de modelo detenida, ejecuta una carga útil ni implica acuse de recibo.
  • Límite de confianza cooperativa: el nombre del destinatario es un ID de enrutamiento lógico, no un inicio de sesión por agente ni una ACL. Cada llamador con acceso a la misma instancia local de MeMesh debe tratarse como un participante de confianza del espacio de trabajo; los adaptadores de host aún aplican sus propios permisos y reglas de aprobación humana.
  • Límite del adaptador: la activación nativa descrita aquí es la ruta configurada de sesión local de Codex. Otros bucles MCP locales pueden usar las operaciones de mensajes duraderos que su propio bucle de host soporta; esto no es una afirmación de soporte universal de host.

Consulta la Guía de Mensajería Local de Agentes para el ciclo de vida exacto, el límite de capacidades, la matriz de soporte y el trabajo restante del adaptador.

Convierte la experiencia del agente en trabajo de producto revisado

La herramienta improvement convierte memorias activas y lecciones en una propuesta de mejora de producto vinculada a evidencia, en lugar de dejar comentarios valiosos enterrados en una bandeja de entrada. Los agentes pueden proponer e inspeccionar el estado, pero no pueden aprobar sus propias ideas. Un humano acepta o rechaza a través de las superficies de revisión existentes; la aceptación preserva cada memoria fuente, vincula el elemento de trabajo revisado de vuelta a su evidencia y lo hace visible en futuros resúmenes de proyecto. Esto mantiene el aprendizaje accionable sin convertir silenciosamente una sugerencia de agente en política de producto.


Rutas de instalación de un vistazo

MeMesh tiene dos rutas de instalación que coexisten. La mayoría de los usuarios quieren ambas. Escriben en la misma base de datos de memoria (~/.memesh/knowledge-graph.db), por lo que las memorias capturadas en el chat de Claude Code aparecen en tu shell, y viceversa.

flowchart TB
    classDef client fill:#1f2937,stroke:#4b5563,color:#f9fafb,stroke-width:1px
    classDef pathA  fill:#1e3a8a,stroke:#3b82f6,color:#eff6ff,stroke-width:2px
    classDef pathB  fill:#14532d,stroke:#22c55e,color:#f0fdf4,stroke-width:2px
    classDef db     fill:#7c2d12,stroke:#f97316,color:#fff7ed,stroke-width:2px

    subgraph clients["Where you use memesh from"]
      direction LR
      CC["Claude Code<br/>(chat + agent)"]:::client
      TERM["Terminal / other<br/>MCP clients<br/>(Codex, Cursor...)"]:::client
    end

    subgraph paths["Two install paths"]
      direction LR
      A["<b>Path A — /plugin install</b><br/>───────────────<br/>Lives in <code>~/.claude/plugins/</code><br/><br/>• MCP tools in chat<br/>• Auto-capture hooks<br/>• <code>/memesh</code> skill<br/>• Session-start banner"]:::pathA
      B["<b>Path B — npm install -g</b><br/>───────────────<br/>Lives in <code>$(npm prefix -g)/bin/</code><br/><br/>• <code>memesh</code> shell command<br/>• <code>memesh-mcp</code>, <code>-http</code> bins<br/>• For Cursor / Cline / other MCP"]:::pathB
    end

    DB[("Shared memory DB<br/><code>~/.memesh/knowledge-graph.db</code><br/>Same data, both paths see it")]:::db

    CC -->|uses| A
    TERM -->|uses| B
    A --> DB
    B --> DB

¿Cuál necesitas?

Lo que quieres hacerRuta de instalación
Usar la habilidad /memesh dentro de una conversación de Claude CodeRuta A (plugin)
Obtener captura automática (sesiones → lecciones → recuerdo) en Claude CodeRuta A (plugin)
Ejecutar memesh remember / memesh recall / memesh doctor en cualquier terminalRuta B (npm-global)
Abrir el panel de control local a través de memesh serve (sin retraso de búsqueda npx)Ruta B (npm-global)
Conectar memesh-mcp a Codex CLI, Cursor u otro cliente MCP localRuta B (npm-global)
Todo lo anteriorInstala ambos — no entran en conflicto

⚠️ Instalar el plugin NO instala el CLI

Esta es la confusión más común. Léelo una vez y te ahorrarás el bucle:

  • /plugin install memesh@pcircle-memesh desde dentro de Claude Code → instala solo la Ruta A. Te da herramientas MCP, hooks y la habilidad /memesh. NO pone memesh en tu PATH del shell.
  • memesh reindex / memesh update / memesh doctor escritos en una terminal normal → necesitan Ruta B (npm-global). Sin ella: zsh: command not found: memesh.
  • Configuración recomendada para usuarios de Claude Code: instala ambos. Coexisten, comparten la misma base de datos y nunca entran en conflicto.
# After /plugin install ..., also run this:
npm install -g @pcircle/memesh

Si solo usas memesh a través del chat de Claude Code (nunca escribes memesh en una terminal), la Ruta A sola es suficiente. Todos los demás: instala ambos.


Comienza en 60 Segundos

Opción A — Plugin de Claude Code (instalación de una línea)

Si usas Claude Code, instala MeMesh como plugin desde dentro del CLI:

/plugin marketplace add PCIRCLE-AI/memesh
/plugin install memesh@pcircle-memesh

Claude Code conecta hooks, habilidades y el servidor MCP automáticamente. Obtienes captura automática en sesión, recuerdo proactivo, la habilidad /memesh (recordar / recuperar / aprender / olvidar) dentro de la conversación de Claude Code, y remember / recall / forget / learn disponibles como herramientas MCP para el agente.

Verifícalo: reinicia Claude Code e inicia cualquier sesión. Una línea de estado como ◉ MeMesh ready · no memories for "your-project" yet aparece en la parte superior — esa línea ES el plugin funcionando; no se necesita ningún comando separado. (Una vez que tengas memorias, muestra conteos en su lugar).

El servidor MCP se ejecuta directamente desde la salida compilada incluida del plugin — sin búsqueda de npx, sin paso de compilación y nada que compilar. memesh almacena sus datos a través de node:sqlite, que es parte del propio Node (22.13+), por lo que una actualización de Node no puede dejarlo con un binario compilado para el runtime incorrecto.

Esto instala solo el plugin. Puedes ejecutar comandos CLI a través de npx @pcircle/memesh <command> si absolutamente no quieres una instalación global, pero escribir memesh simple en una terminal reportará command not found. Para obtener un comando real de shell memesh, también ejecuta la Opción B a continuación — ambas rutas coexisten y comparten la misma base de datos de memoria. El diagrama "Rutas de instalación de un vistazo" arriba cubre esto.

Opción B — npm global (optimización opcional)

Si quieres el binario directamente en tu PATH del shell (para que memesh, memesh-mcp, etc. simples funcionen en cualquier terminal sin la búsqueda de npx por llamada), o quieres exponer memesh-mcp como un comando stdio de ruta fija para clientes MCP que no son de Claude Code (Codex CLI, Cursor, Cline, flujos solo de terminal):

npm install -g @pcircle/memesh

Notas de primera instalación (una sola vez):

  • No se necesita compilador — el motor de base de datos es el propio node:sqlite de Node. sqlite-vec, que añade búsqueda basada en significado, se distribuye como un archivo precompilado para macOS (arm64/x64), Linux (x64/arm64) y Windows x64; en cualquier otra plataforma simplemente está ausente y el recuerdo permanece en búsqueda por palabras clave. Nada aquí ejecuta un script de instalación, por lo que npm install --ignore-scripts instala un memesh completamente funcional.
  • La búsqueda semántica (basada en significado) es opcional — la ruta de recuerdo predeterminada es la búsqueda por palabras clave FTS5, que no necesita modelo ni descarga. La búsqueda basada en significado necesita un embedder: ejecuta Ollama localmente, o configura un embedder en la nube (consulta "Trae tus propios embeddings" a continuación). Sin uno, memesh usa solo búsqueda por palabras clave.

Paso 1.5: Conecta MeMesh a Claude Code (solo ruta npm)

Si instalaste a través de la Opción A (/plugin install memesh@pcircle-memesh), omite este paso — Claude Code conecta los hooks del plugin automáticamente.

Si instalaste a través de la Opción B (npm install -g), el CLI está en tu PATH — pero nada está conectado a Claude Code todavía: el paquete npm deliberadamente no ejecuta scripts de instalación, y el plugin (Opción A) es lo que registra el servidor MCP y los hooks dentro de Claude Code. Lo que la ruta npm puede conectar por sí misma son los hooks de sesión. Sin ellos, aún puedes usar memesh remember / recall manualmente, pero el bucle de captura automática (sesiones → lecciones → recuerdo en la próxima sesión) está silencioso.

memesh setup                 # checks local host wiring and reports what it finds

O los pasos individuales a mano:

memesh install-hooks         # adds memesh's hooks to ~/.claude/settings.json
memesh setup --check         # machine-level verification: reads the hosts' own config, changes nothing

Los hooks coexisten con cualquier hook personalizado que ya tengas bajo ~/.claude/hooks/install-hooks escribe entradas aditivas y nunca sobrescribe las tuyas. Para eliminar después: memesh uninstall-hooks.

Misma memoria desde Codex CLI, Cursor y otros clientes MCP

memesh-mcp es un servidor MCP stdio simple, por lo que cualquier host compatible con MCP puede hablar con él — no solo Claude Code. Con la Opción B instalada (memesh-mcp en tu PATH), regístralo una vez por host:

# OpenAI Codex CLI — writes [mcp_servers.memesh] into ~/.codex/config.toml
codex mcp add memesh -- memesh-mcp

Para Cursor, añade el mismo servidor stdio a ~/.cursor/mcp.json (global) o .cursor/mcp.json (a nivel de proyecto):

{
  "mcpServers": {
    "memesh": { "command": "memesh-mcp" }
  }
}

Cada host local configurado lee y escribe el mismo ~/.memesh/knowledge-graph.db, por lo que una memoria almacenada desde un agente se puede recuperar desde Codex, Cursor u otro cliente MCP. Verifícalo desde el host pidiéndole que llame a la herramienta recall, o desde una terminal:

codex mcp list       # memesh should be listed as enabled

Usa memesh-mcp, no npx -p @pcircle/memesh, como comando configurado. npx -p se resuelve al paquete local siempre que el directorio de trabajo del host esté dentro de un checkout de este repositorio, ejecutando silenciosamente el estado de ese árbol de trabajo en lugar de la versión instalada.

Integración nativa: Hermes Agent

Hermes Agent (NousResearch) tiene un sistema de plugins MemoryProvider de primera parte — MeMesh se integra en el mismo nivel que los backends de memoria integrados de Hermes (honcho, mem0, hindsight), no como un puente HTTP. A diferencia del modo MCP donde llamas manualmente a las herramientas, el sistema de proveedores de Hermes ejecuta recall/remember automáticamente en cada turno.

La integración mapea los hooks prefetch() y sync_turn() de Hermes directamente sobre la API HTTP de MeMesh. Guía completa con estructura de código del proveedor, configuración y cuatro errores reales de un despliegue en vivo: docs/platforms/hermes-agent.md

Integración nativa: OpenClaw

OpenClaw tiene un sistema de plugins de capacidades de memoria de primera parte — MeMesh se integra como proveedor de memoria nativo en el mismo nivel que los backends integrados de OpenClaw (LanceDB), no como un puente HTTP. El plugin se registra vía api.registerMemoryCapability() y expone las herramientas memory_recall/memory_store/memory_forget además de recuperación automática en el hook before_prompt_build.

Diferencia clave con Hermes: la captura automática de OpenClaw está limitada por umbral (máximo 3 memorias/turno cuando se activa), no en cada turno. La integración se mapea sobre la API HTTP de MeMesh (/v1/recall, /v1/remember, /v1/forget). Contrato completo del plugin TypeScript, forma de configuración y errores: docs/platforms/openclaw.md

Paso 2: Almacena una decisión

Los ejemplos de bash a continuación asumen que memesh está en tu PATH (Opción B). Los usuarios de la Opción A (solo plugin) tienen dos rutas equivalentes: preguntar en la conversación de Claude Code (la habilidad /memesh + las herramientas MCP cubren los mismos flujos), o reemplazar memesh con npx @pcircle/memesh en cualquier shell — mismas banderas, sin necesidad de instalación global.

memesh remember "Use OAuth 2.0 with PKCE for the new auth"

O usa la forma explícita cuando quieras un nombre y tipo estables para filtrar más tarde:

memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"

Paso 3: Recupéralo más tarde

memesh recall "login security"
# → Finds "OAuth 2.0 with PKCE" even though you searched different words

Eso es todo. MeMesh ahora está recordando y recuperando entre sesiones.

Si quieres verificar la instalación y el cableado local de extremo a extremo:

memesh doctor

Abre el panel para explorar tu memoria:

memesh serve

MeMesh — find any memory instantly

MeMesh analytics — health score, timeline, patterns, knowledge coverage

MeMesh Graph — interactive knowledge graph with type filters and ego mode

Mira lo que recordó

En cualquier momento, un comando imprime lo que tu agente sabe sobre el proyecto actual — dónde se dejó el trabajo, decisiones, lecciones, actividad reciente (envuelto como datos de referencia):

memesh briefing
Where "your-project" was left off (today):
- Goal: Ship the payment retry logic
- Next: Open the PR once CI is green

Decisions and direction for "your-project":
- [decision] Use FTS5 as the retrieval baseline

Este mismo bloque es lo que Claude Code recibe automáticamente al inicio de la sesión, y lo que cualquier otro cliente MCP obtiene de la herramienta briefing — el agente comienza orientado en lugar de releer el repositorio, y dejas de reexplicar la semana pasada. El panel (memesh serve) es la vista visual completa.

Tus datos

  • Un archivo local. Todo vive en ~/.memesh/knowledge-graph.db — SQLite, en tu disco. Sin cuenta en la nube; nada sale de tu máquina a menos que configures un embedder o LLM en la nube tú mismo.
  • Respaldo = copiar ese archivo. Restaurar = copiarlo de vuelta.
  • Pausa la captura cuando quieras: export MEMESH_AUTO_CAPTURE=false.
  • Elimina todo: elimina ~/.memesh/.

¿Para Quién Es Esto?

Si eres...MeMesh te ayuda a...
Un desarrollador que usa Claude CodeRecuperar automáticamente decisiones de proyecto, lecciones específicas de archivos y fallos pasados mientras trabajas
Un usuario avanzado de agentes de codificaciónCompartir una capa de memoria local y un patrón de bandeja de entrada local veraz entre herramientas compatibles con MCP
Un individuo que usa Codex, Cursor, Claude Code u otro cliente MCPUsar una capa de memoria local entre agentes y sesiones, y coordinar traspasos a través del almacén compartido
Un desarrollador que integra un agenteAñadir memoria local a través de MCP, HTTP o la CLI

Diseñado Para Agentes de Codificación Primero

Claude Code / Desktop

memesh-mcp

Herramientas MCP + hooks de Claude Code

Cualquier Cliente HTTP

curl localhost:3737/v1/recall \
  -H "Content-Type: application/json" \
  -d '{"query":"auth"}'

memesh serve (API REST)

Cualquier LLM (formato OpenAI)

memesh export-schema \
  --format openai

Pega herramientas en cualquier llamada API


¿Por Qué No OpenMemory, Cursor Memories, Mem0 O Zep?

MeMeshOpenMemoryCursor MemoriesMem0Zep / Graphiti
Mejor ajusteMemoria local para agentes de codificaciónMemoria MCP local/entre clientesMemoria de proyecto nativa de CursorMemoria gestionada para apps/agentesGrafos de conocimiento temporales
Forma de instalaciónnpm install -g @pcircle/memeshFlujo de app/servidor localIntegrado en CursorAPI en la nube / SDK / MCPConfiguración de servicio/framework
AlmacenamientoUn archivo SQLite localPila de memoria localReglas/memorias gestionadas por CursorPila alojada o autoalojadaBase de datos de grafos
Nube requeridaNoNo para modo localDepende de la cuenta/configuración de CursorSí para la plataformaGeneralmente sí/autoalojado
Hooks de Claude CodeDe primera claseHerramientas MCPNoHerramientas MCPNo específico de Claude Code
PanelIntegradoIntegradoConfiguración de CursorPanel de la plataformaHerramientas de plataforma/grafos
CompensaciónCuña local simple, no escala empresarialHuella de app local más ampliaBloqueado a CursorPlataforma gestionada fuerte, menos local-primeroModelo de grafos fuerte, configuración más pesada

MeMesh intercambia infraestructura gestionada a escala empresarial por configuración local instantánea, almacenamiento inspeccionable y hooks de flujo de trabajo para agentes de codificación.


Benchmarks — 95.60% R@5 en LongMemEval-S

La recuperación de MeMesh es solo FTS5 — sin LLM, sin embeddings en la ruta crítica. Medido contra el benchmark público LongMemEval-S (500 preguntas, licencia MIT):

SistemaR@5Fuente
MeMesh (Modo A, vía recallEnhanced())95.60%benchmarks/longmemeval/RESULTS.md
MemPalace96.6%Autoinforme del proveedor
Supermemory~82%Estimación del proveedor
Zep63.8%Artículo de LongMemEval
Mem049.0%Artículo de LongMemEval

Reejecutable en ~10 segundos. Instrucciones completas, SHA256 del conjunto de datos, resultados crudos por pregunta y análisis de fallos conocidos: benchmarks/longmemeval/REPRODUCE.md.


Qué Sucede Automáticamente En Claude Code

No necesitas recordar todo manualmente. MeMesh tiene 8 hooks que capturan e inyectan conocimiento mientras trabajas:

CuándoQué hace MeMesh
En cada inicio de sesiónCarga tus memorias más relevantes + advertencias proactivas de lecciones pasadas
Antes de editar archivosRecupera memorias vinculadas al archivo o proyecto antes de que Claude escriba código
Cuando pides recordarDetecta la intención de "recuerda esto" / "guardar en memesh" / "sauvegarder dans memesh" / "記下來" (5 idiomas) y recuerda a Claude usar memesh
Después de cada git commitRegistra lo que cambiaste, con estadísticas de diff
Cuando Claude se detieneCaptura archivos editados, errores corregidos y genera automáticamente lecciones estructuradas de los fallos
Antes de la compactación de contextoGuarda conocimiento antes de que se pierda por límites de contexto
Antes de comandos y ediciones riesgososActiva los guardias de lecciones que aceptaste — una advertencia en el momento exacto en que un error registrado está a punto de repetirse
Cuando una sesión de Codex con opt-in inicia o se reanudaRegistra ese hilo en vivo exacto para wakeups de mensajes de MeMesh solo con metadatos; otros espacios de trabajo y sesiones detenidas no se adjuntan

Exclúyete cuando quieras: export MEMESH_AUTO_CAPTURE=false


Configuración

Toda la configuración es mediante variables de entorno. Los valores predeterminados son solo locales y sin red — no necesitas configurar nada para obtener un sistema funcional.

VariablePredeterminadoQué hace
MEMESH_DB_PATH~/.memesh/knowledge-graph.dbSobrescribe la ubicación de la base de datos SQLite.
MEMESH_AUTO_CAPTUREtrueDesactiva los hooks de captura automática (Stop, PreCompact) por completo.
MEMESH_AUTO_DETECT_LLMsin establecer (auto-detección activada)Establécelo a 0 para evitar que memesh use una clave API que encuentre en el entorno de tu shell. Por defecto, si ANTHROPIC_API_KEY / OPENAI_API_KEY / OLLAMA_HOST está establecido y no has configurado un proveedor en ~/.memesh/config.json, memesh lo usa para funciones LLM del lado de escritura (extracción de lecciones, autoetiquetado, dream). Los embeddings no se ven afectados — siguen siendo solo de palabras clave (FTS5) a menos que establezcas explícitamente embedder.provider a ollama o openai.
MEMESH_AUTO_UPDATEoffPolítica de autoactualización. off (predeterminado) nunca autoactualiza; patch permite X.Y.Z → X.Y.Z+N; minor añade X.Y.Z → X.Y+1.0; major permite cualquier incremento. Cuando está permitido, un npm install -g separado se dispara al final de la sesión (hook Stop) para que nunca bloquee tu trabajo — los resultados llegan a ~/.memesh/auto-update.log. También se puede establecer como autoUpdate en ~/.memesh/config.json (el entorno gana). Una advertencia de deprecación del mantenedor nunca sobrescribe off: actualiza manualmente o elige una política que permita el incremento.
OPENAI_API_KEYsin establecerTu clave de OpenAI. Se usa automáticamente para funciones LLM a menos que establezcas MEMESH_AUTO_DETECT_LLM=0 o configures un proveedor explícitamente.
OLLAMA_HOSThttp://localhost:11434Sobrescribe el endpoint de Ollama cuando usas un proveedor local de Ollama.

memesh doctor imprime la configuración resuelta para que veas qué está activo.

Proveedores LLM de respaldo (Modo Inteligente). En el panel Configuración → "Proveedores de respaldo" puedes establecer una cadena de conmutación por error ordenada — memesh prueba cada proveedor por turno cuando tu principal está caído. Añade un respaldo local Ollama, o uno en la nube (OpenAI / Anthropic, con una clave API). Compensación de privacidad: cuando se usa un respaldo en la nube, el texto de memoria — que puede ser privado — se envía a ese proveedor, por lo que importa si ejecutas solo local por privacidad.

Cuando npm marca una versión instalada como deprecada (típicamente un aviso de seguridad), el siguiente inicio de sesión antepone un banner fuerte ⚠️ MeMesh <ver> is DEPRECATED y memesh update-status muestra la misma línea hasta que actualices. La verificación se almacena en caché en ~/.memesh/update-check.<version>.json para que un fallo de red transitorio no pueda atenuar la advertencia.


Panel

5 pestañas, 11 idiomas, cero dependencias externas. Accede en http://localhost:3737/dashboard cuando el servidor esté en ejecución.

PestañaQué ves
InicioLo que memesh hizo por ti — los insights del soñador lideran: resúmenes semanales y propuestas de patrones con aceptar/rechazar de un clic; la pila completa de analíticas (Puntuación de Salud de Memoria, línea de tiempo de 30 días, velocidad de PM + conectividad KG, patrones de trabajo) se pliega en un expansor bajo demanda
MemoriasToda la biblioteca detrás de una superficie — filtro instantáneo más Enter para búsqueda clasificada por servidor (texto completo + vector), chips de alcance para la capa de trabajo (metas/decisiones/lecciones/planes) vs evidencia vs todo vs archivado, una barra de composición de clúster, detalle expandible por fila (las lecciones mantienen su vista estructurada de error/causa raíz/arreglo/prevención), archivar/restaurar en línea
ProyectoEl historial de un proyecto — la vista de hoja de ruta (fases, hitos, lecciones clave) detrás de un selector de proyecto
GrafoGrafo de conocimiento interactivo dirigido por fuerza con filtros de tipo, búsqueda, modo ego, mapa de calor de recencia
ConfiguraciónConfiguración del proveedor LLM, selector de idioma instantáneo

Funciones Inteligentes

🧠 Búsqueda Inteligente — Busca "seguridad de inicio de sesión" y encuentra recuerdos sobre "OAuth PKCE". MeMesh usa FTS5 + sqlite-vec en la ruta crítica, sin LLM, y el complemento vectorial aún alcanza a través de redacción relacionada.

🌏 Búsqueda en escrituras que no usan espacios — Chino, japonés, coreano, tailandés, lao, jemer y katakana de ancho medio se indexan como pares de caracteres superpuestos, por lo que un recuerdo escrito como 「資料庫遷移前一定要先備份」 se encuentra buscando 「備份」 — no solo por su texto completo exacto. El texto se normaliza (NFC) tanto al escribir como al consultar, por lo que los recuerdos escritos en macOS o con un IME coreano o vietnamita se encuentran en cualquiera de las dos grafías.

📊 Clasificación Puntuada — Resultados clasificados por relevancia (30%) + actualidad (25%) + frecuencia (18%) + confianza (17%) + impacto de recuperación (10%).

🔄 Evolución del Conocimiento — Las decisiones cambian. forget archiva recuerdos antiguos (nunca los elimina). supersedes relaciones vinculan antiguo → nuevo. Tu IA siempre ve la versión más reciente.

⚠️ Detección de Conflictosmemesh dream conflicts hace que el LLM evalúe tus pares de recuerdos semánticamente más cercanos en busca de contradicción, sustitución o duplicación, y presenta lo que encuentra como propuestas. Nada se aplica solo: tú revisas con dream list / dream show, y solo una propuesta aceptada crea la relación — después de lo cual cada recall que toque cualquiera de los recuerdos lleva la advertencia. La causalidad nunca se infiere de las marcas de tiempo; los veredictos provienen de lo que realmente dicen los recuerdos.

🕸️ Conectividad del Grafo de Conocimientomemesh kg backfill-relations --all-rules vincula entidades huérfanas usando co-ocurrencia de etiquetas, agrupación de proyectos, contexto de sesión y similitud de nombres — sin necesidad de LLM.

📦 Respaldo y migración personalmemesh export > memesh-backup.json → cópialo a otra máquina → memesh import memesh-backup.json Los paquetes importados siguen siendo buscables, pero MeMesh no inyecta automáticamente recuerdos importados en el contexto del host hasta que los revises o los vuelvas a almacenar localmente.


Ejemplo de Uso

"MeMesh recordó que elegimos PKCE sobre flujo implícito hace tres semanas. Cuando le pregunté a Claude sobre autenticación nuevamente, ya lo sabía — sin necesidad de volver a explicar." — Desarrollador independiente, construyendo un SaaS

"Guardé una decisión de Claude Code y la recordé desde Codex al día siguiente. La misma memoria local siguió mi trabajo en lugar de un solo agente." — Desarrollador independiente que usa múltiples agentes de codificación

"El panel me mostró que el 90% de mis recuerdos eran registros de sesión generados automáticamente. Empecé a usar remember deliberadamente para decisiones de arquitectura. Cambió el juego." — Desarrollador que descubrió el panel de análisis


Recetas

Detecta una contradicción antes de que muerda

Dos decisiones, tomadas con semanas de diferencia, que no pueden ser ambas verdaderas — el modo de fallo que una capa de memoria existe para detectar:

memesh remember --name retry-policy --type decision \
  --obs "All HTTP clients retry failed requests up to 5 times with exponential backoff."
# ...weeks later, someone decides the opposite...
memesh remember --name retry-policy-v2 --type decision \
  --obs "HTTP clients must never retry automatically — fail fast and surface the error."

memesh dream conflicts        # the judge flags the pair, with its reasoning
memesh dream show 1           # read the verdict, the excerpts, what accepting creates
memesh dream accept 1         # YOU decide — nothing is ever linked automatically
memesh recall "retry policy"  # → Warning: Conflicts detected

A partir de entonces, cualquier asistente que recuerde cualquiera de las dos decisiones recibe la información de que entran en conflicto — en lugar de citar con confianza la que haya encontrado primero.

Una memoria, tres asistentes

MeMesh es un servidor MCP, por lo que el mismo archivo SQLite sirve a cada cliente MCP en la máquina. Regístralo una vez por herramienta (comandos exactos en Comienza) y una decisión registrada en Claude Code es recordada por Codex u otro cliente MCP local configurado a mitad de sesión — sin volver a explicar, sin copiar y pegar contexto entre proveedores.

Registra decisiones para que sigan siendo encontrables

La captura automática mantiene el historial de sesión, pero los recuerdos que valen la pena son los deliberados:

memesh remember --name auth-approach --type decision \
  --obs "JWT with RS256; PKCE over implicit flow because the client is public." \
  --tags "project:myapp" "topic:auth"

Luego vincula las consecuencias a sus causas a medida que ocurren — desde cualquier cliente MCP, en palabras simples: "recuerda este incidente como una lección, influenciado por enfoque-de-autenticación". La herramienta remember acepta relaciones de forma libre, y caused / influenced son el vocabulario causal documentado (causa → efecto, declarado explícitamente — MeMesh nunca infiere causalidad de las marcas de tiempo). Semanas después, memesh recall "why did we pick PKCE" devuelve la decisión con sus consecuencias registradas adjuntas — razonamiento que puedes seguir, no solo texto que coincidió.


Desbloquea el Modo Inteligente (Opcional)

MeMesh funciona sin conexión por defecto — la recuperación permanece estrictamente sin LLM (95.60% R@5 en LongMemEval-S de fábrica). Agrega una clave de API de LLM solo si quieres flujos de análisis aumentados por LLM encima: extracción de sesión más inteligente, etiquetado automático de nuevos recuerdos, generación de lecciones a partir de fallos y compresión dream:

memesh config set llm.provider anthropic
memesh config set llm.api-key sk-ant-...

O usa la pestaña de Configuración del panel (configuración visual):

memesh serve  # opens dashboard → Settings tab

Extrae tus sesiones pasadas a memoria. memesh dream run --from-transcripts lee las transcripciones de sesión de Claude Code de este proyecto, le pide al LLM las decisiones y lecciones enterradas en la conversación, y las presenta como propuestas — nada entra a tu grafo automáticamente. Revisa cada una con memesh dream show <id> y acepta las que valga la pena conservar. Para ejecutarlo en un horario, habilita memesh config set transcriptMining true y apunta una entrada de cron/launchd a memesh dream run --from-transcripts --if-due — se auto-limita (por defecto una vez cada 24h por proyecto) y permanece solo en modo de propuesta. Consulta API_REFERENCE.

Búsqueda semántica / incrustaciones (opcional)

Por defecto MeMesh hace recuperación solo por palabras clave (FTS5) — sin clave de API, sin descarga de modelos, nada sale de tu máquina. La búsqueda semántica (basada en significado) es opcional y necesita un incrustador. Apunta uno de estos hacia él:

memesh config set embedder.provider ollama          # local, needs `ollama serve`
# or, for a hosted embedder:
memesh config set embedder.provider openai

El incrustador se configura independientemente del LLM de chat — cambiar llm.provider nunca cambia silenciosamente tus incrustaciones. Cada proveedor fija su propio modelo y ancho (ollama → nomic-embed-text a 768, openai → text-embedding-3-small a 1536); el modelo no es seleccionable por separado, porque un índice vectorial se fija a un ancho y un segundo modelo pondría vectores de un espacio de incrustación diferente en él.

Si cambias a un incrustador con una dimensión diferente (ej. 768 → 1536), nada se elimina. MeMesh conserva el índice existente y te indica al abrir que ejecutes memesh reindex, que construye el nuevo índice junto al antiguo y cambia solo una vez que cada recuerdo tiene un vector — por lo que una reconstrucción interrumpida no te cuesta nada y se reanuda donde se detuvo. Durante esa ventana, la búsqueda semántica está desactivada y la recuperación funciona solo con búsqueda de palabras clave; recall informa esto como degraded en lugar de implicar que buscó. Valores admitidos de embedder.provider: ollama (local), openai (alojado). Sin ninguno configurado, la recuperación permanece en búsqueda de palabras clave.

Nivel 0 (predeterminado)Nivel 1 (Modo Inteligente)
BúsquedaFTS5 + sqlite-vec, 95.60% R@5sin cambios — la recuperación es sin LLM en cada nivel
Captura automáticaPatrones basados en reglas+ LLM extrae decisiones y lecciones
Etiquetado automáticoSolo etiquetas manuales+ LLM genera etiquetas para nuevos recuerdos
Análisis de fallosNo disponible+ LLM convierte errores de sesión en lecciones estructuradas
CompresiónNo disponibledream comprimen recuerdos verbosos
CostoGratis, sin clave de API~$0.0001 por llamada de análisis (Haiku)

Los 11 Herramientas de Memoria y Coordinación

HerramientaQué hace
rememberAlmacena conocimiento con observaciones, relaciones y etiquetas
recallBúsqueda FTS5 + sqlite-vec con puntuación multifactorial (relevancia, actualidad, frecuencia, confianza, impacto de recuperación) — sin LLM en la ruta crítica
forgetArchivo suave (nunca elimina) o elimina observaciones específicas
exportRespalda, migra o mueve recuerdos como JSON entre agentes compatibles
importImporta recuerdos con estrategias de fusión (omitir / sobrescribir / agregar)
learnRegistra lecciones estructuradas de errores (error, causa raíz, corrección, prevención)
task_stateLee o registra dónde está el trabajo — objetivo, siguiente paso, bloqueador, lo que se acaba de terminar
briefingLa topología de trabajo ensamblada — el mismo bloque que Claude Code recibe al inicio de sesión, para cualquier cliente MCP
user_patternsAnaliza tus patrones de trabajo — horario, herramientas, fortalezas, áreas de aprendizaje
improvementPresenta una mejora de producto vinculada a evidencia para revisión humana, o lee su estado; los agentes no pueden aceptarla ni rechazarla
messageEnvía, consulta, obtiene y confirma explícitamente mensajes duraderos de destinatario exacto en una instancia local de MeMesh

Arquitectura

                    ┌─────────────────┐
                    │   Core Engine   │
                    │   operations    │
                    └────────┬────────┘
           ┌─────────────────┼─────────────────┐
           │                 │                 │
     CLI (memesh)    HTTP API (serve)    MCP (memesh-mcp)
           │                 │                 │
           └─────────────────┼─────────────────┘
                             │
                    SQLite + FTS5 + sqlite-vec
                    (~/.memesh/knowledge-graph.db)

El núcleo es independiente del framework. La misma lógica se ejecuta desde terminal, HTTP o MCP.


Actualización

El mercado de complementos de Claude Code fija las versiones al momento de la instalación y no se actualiza automáticamente. Para obtener una nueva versión:

Opción A — Interfaz de /plugin: desinstala memesh@pcircle-memesh, luego reinstala. Claude Code obtiene la versión más reciente del mercado.

Opción B — un comando (sin clics en la interfaz, idempotente; requiere la CLI de npm, npm install -g @pcircle/memesh):

memesh upgrade-plugin

Encuentra tu versión instalada del complemento, verifica los requisitos previos y ejecuta el script de actualización incluido por ti. Requisitos previos: node, npm y rsync en tu PATH (macOS incluye rsync; Debian/Ubuntu: sudo apt install rsync).

Los usuarios solo de complemento sin la CLI de npm aún pueden ejecutar el script manualmente — sustituye tu versión instalada en la ruta:

bash ~/.claude/plugins/cache/pcircle-memesh/memesh/<current-version>/scripts/upgrade-plugin.sh

# Installs from before v4.2.5 don't contain the script yet; use the
# npm-global copy instead (see "Install paths at a glance" above):
bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.sh"

El script avanza rápidamente la caché del mercado, prepara la nueva versión bajo ~/.claude/plugins/cache/, instala las dependencias de ejecución y re-apunta installed_plugins.json. Reinicia Claude Code después para que el servidor MCP se reconecte.

Instalaciones globales de npm (npm install -g @pcircle/memesh) pueden auto-actualizarse mediante memesh update. Clonados de fuente: git pull && npm install && npm run build.

Al inicio de sesión aparece un banner de una línea (limitado a una vez cada 24h por versión) cuando hay una versión más reciente disponible, y memesh doctor informa el objetivo de actualización con el comando específico del canal.


Contribuciones

git clone https://github.com/PCIRCLE-AI/memesh
cd memesh && npm install && npm run build
npm test
npm run test:e2e-dashboard

Panel: cd dashboard && npm install && npm run dev


MIT — Hecho por PCIRCLE AI