MeMesh
MeMesh 是跑在你自己電腦上的 AI Agent 協作層。記憶、指定收件人的訊息和改善提案,都放在同一個 SQLite 檔案裡。Claude Code、Codex、Cursor、Gemini,或你自己接的本機模型,都能透過 MCP、HTTP 或 CLI 使用;不綁單一廠商,也不用先把資料送上雲端。開源、MIT 授權、免費使用。
Documentación
MeMesh
Una capa de colaboración local para agentes de codificación con IA.
Un solo archivo SQLite. Sin Docker. Sin necesidad de nube.
Qué hace
Cambiar de sesión o de agente de codificación puede significar repetir una decisión, explicar la misma arquitectura o revisitar una solución que ya se había encontrado.
MeMesh permite que los agentes compartan memoria e intercambien mensajes localmente. Sus usos principales son: llevar tus preferencias, decisiones y lecciones entre sesiones; enviar trabajo, preguntas, progreso y resultados entre agentes; y mantener un traspaso de dónde se detuvo el trabajo para que una sesión posterior tenga contexto para revisar. Claude Code y Codex son ejemplos principales; Cursor y otros clientes MCP pueden usar las integraciones documentadas. La captura y entrega automáticas dependen de la integración del host que se indica a continuación.
you work with the agent
|
v
+------------------+ +------------------+
| Claude Code | | Claude Code |
| capture | | recall |
| sessions, | ---> | at session |
| commits, fixes | | start and |
| (automatic) | | before edits |
+------------------+ +------------------+
| ^
v |
+----------------------------------------+
| ~/.memesh/knowledge-graph.db |
| decisions, lessons, links between them |
+----------------------------------------+
- Captura, recuperación, recordatorios y salvaguardas en el momento adecuado. MeMesh incluye 10 hooks (diez comandos de hook) en sus integraciones con Claude Code y Codex: nueve hooks de Claude Code se ejecutan al inicio de la sesión, antes de ediciones de archivos, después de
git commit, después de que un plan sea aprobado o una pregunta respondida, cuando Claude se detiene (dos veces: capturando conocimiento de la sesión y bloqueando la detención una vez por mensaje de agente en espera), antes de la compactación de contexto, cuando dices "recuerda esto" (5 idiomas) y antes de un comando riesgoso que repite una lección aceptada. Los hooks de plan/pregunta y "recuerda esto" solo recuerdan al agente llamar aremember; el décimo comando maneja tanto Codex SessionStart como SessionEnd para registrar y retirar una sesión CLI ordinaria de Codex elegible. - Una memoria para todas tus herramientas. Una decisión almacenada desde Claude Code está disponible para Codex o Cursor al día siguiente.
- Los agentes pueden dejarse mensajes entre sí. Una bandeja de entrada duradera sobrevive a los reinicios; en macOS o Linux, un hilo CLI ordinario de Codex con el plugin de MeMesh puede mantener una ventana de cola nativa acotada posterior al turno y consumir el mensaje aceptado cuando ese mismo hilo se reanuda.
- Mantén un traspaso de trabajo. Claude Code puede guardar su última respuesta sustantiva para la próxima sesión en el mismo proyecto. El informe nombra una fuente de traspaso conocida de Claude Code o Codex, de modo que la respuesta de otro host sea distinguible; reemplazar un traspaso actualiza a su escritor. Usa
task_statepara registrar un objetivo declarado, siguiente paso, bloqueo o finalización, ymessagepara enviar ubicaciones de evidencia o preguntas de seguimiento a un destinatario exacto. - Un panel de control para explorarlo todo: 4 pestañas, 11 idiomas, en
http://localhost:3737/dashboard.
Funciona con
| Plataforma | Cómo | Notas |
|---|---|---|
| Claude Code | Plugin: hooks, herramientas MCP, habilidad /memesh | Captura y recuperación automáticas completas |
| Codex CLI | Plugin o servidor MCP (memesh-mcp) | Instalación de plugin sin configuración, o codex mcp add memesh -- memesh-mcp |
| Gemini CLI | Servidor MCP (memesh-mcp) | gemini mcp add -s user memesh memesh-mcp |
| Cursor, Cline y otros clientes MCP | Servidor MCP (memesh-mcp) | Apunta el cliente a memesh-mcp; un cliente que no reporta raíz de espacio de trabajo también necesita MEMESH_PROJECT_ROOT |
| Hermes Agent | Plugin nativo de proveedor de memoria | docs/platforms/hermes-agent.md |
| OpenClaw | Plugin nativo de memoria | Solo fuente; no publicado ni probado en vivo: docs/platforms/openclaw.md |
| Tus propios scripts y aplicaciones | API HTTP desde memesh serve | docs/platforms/universal.md |
| ChatGPT, Gemini web y otros chats alojados | API HTTP a través de un puente local que tú ejecutas | docs/platforms/README.md |
Los nueve hooks de Claude Code proporcionan captura, recuperación, recordatorios y salvaguardas automáticas. El plugin de Codex carga el mismo archivo de hooks: una vez que Codex puede ejecutar los hooks del plugin, su hook SessionStart inyecta el mismo bloque de memoria y inicia el compañero de mensajería para hilos CLI ordinarios elegibles. Cuáles de los otros hooks se activan bajo Codex aún no está verificado. Con el plugin de Codex, llama a briefing solo cuando ese bloque falte; en clientes solo MCP, llama a briefing al inicio de la sesión. Usa recall para preguntas específicas.
La recuperación y captura son locales y deterministas: búsqueda SQLite FTS5, herramientas de memoria explícitas y hooks basados en reglas. Esta versión no configura ni llama a un LLM, proveedor de embeddings o vectores. Los ajustes de proveedores retirados de versiones anteriores permanecen en disco pero se ignoran; memesh doctor nombra las claves de nivel superior sin leer ni imprimir sus valores.
Instalación
Las instalaciones de plugins y la CLI global de npm comparten una sola base de datos. La mayoría de los usuarios de Claude Code quieren su plugin más la CLI; Codex puede usar su propio plugin o el servidor MCP de la CLI.
Claude Code chat Terminal, Codex, Cursor
| |
v v
+-----------------+ +------------------+
| A: plugin | | B: npm global |
| /plugin install | | npm install -g |
| hooks + tools | | memesh CLI |
| + /memesh skill | | + memesh-mcp |
+-----------------+ +------------------+
| |
+---------------+------------------+
v
~/.memesh/knowledge-graph.db
(one file, both paths)
A. Dentro de Claude Code (hooks, herramientas y la habilidad /memesh están conectados por ti):
/plugin marketplace add PCIRCLE-AI/memesh
/plugin install memesh@pcircle-memesh
Reinicia Claude Code. Una línea ◉ MeMesh aparece en la parte superior de la próxima sesión.
B. En una terminal (requiere Node 22.13+):
npm install -g @pcircle/memesh
memesh doctor # checks local install health and prints fixes
memesh install-hooks # only if you skipped A: wires Claude Code, keeps your own hooks
Para una instalación de Codex sin configuración, ejecuta codex plugin marketplace add PCIRCLE-AI/memesh y codex plugin add memesh@pcircle-memesh. La alternativa manual es codex mcp add memesh -- memesh-mcp. Para Cursor, agrega { "mcpServers": { "memesh": { "command": "memesh-mcp" } } } a ~/.cursor/mcp.json. Un cliente que no reporta raíz de espacio de trabajo necesita MEMESH_PROJECT_ROOT (el directorio absoluto del proyecto) en el entorno del servidor, o un argumento project en cada llamada. El banner de doctor del panel puede aplicar las dos reparaciones locales recuperables que sabe verificar; nunca cambia archivos solo porque se abrió la página.
El plugin no instala la CLI. Después de
/plugin install, escribirmemeshen una terminal dicecommand not foundhasta que también ejecutesnpm install -g @pcircle/memesh. Si solo usas el chat de Claude Code, A solo es suficiente.
Actualización: Plugin de Claude Code: memesh upgrade-plugin (o npx @pcircle/memesh upgrade-plugin sin la CLI). Plugin de Codex: codex plugin marketplace upgrade pcircle-memesh && codex plugin add memesh@pcircle-memesh. CLI global de npm: memesh update. ¿Instalando con un agente de IA? Apúntalo a llms-install.md.
Primeros pasos
memesh remember "Login uses OAuth 2.0 with PKCE"
memesh recall "login"
# -> finds the note
memesh briefing # what the agent knows about this project
memesh serve # starts the local server and prints the dashboard URL
Mantén memesh serve ejecutándose y abre la URL impresa. En Claude Code ni siquiera necesitas la terminal para las herramientas de memoria: di "recuerda esto" en el chat, y una vez que haya algo que mostrar, el informe llega solo al inicio de la sesión.
Dos cosas que vale la pena saber una vez que tengas memorias:
forgetarchiva una memoria en lugar de eliminarla. Una memoria más nueva puede reemplazar a una más antigua.- Un agente en ejecución puede llamar a
work_packagepara preparar un resumen de calendario o turnos visibles acotados de la transcripción reciente elegible más nueva de Claude Code. El modo de transcripción requiere la raíz de archivo MCP única coincidente del cliente; raíces faltantes o ambiguas y fallos de escaneo acotados fallan de forma segura. El envío conserva turnos fuente redactados y solo prepara la revisión humana pendiente; los agentes no pueden aplicarla ni rechazarla, y MeMesh no llama a ningún proveedor. Los límites exactos de descubrimiento están en la referencia de API.
Para un traspaso, el hook Stop de Claude Code guarda su última respuesta sustantiva como una nota de proyecto reemplazable. Una nota reciente y confiable aparece antes de las memorias clasificadas en la próxima sesión de Claude Code y en briefing en cualquier cliente; es un recordatorio para verificar, no un reinicio garantizado de tarea. Registra solo el estado de trabajo que realmente conoces con task_state, y envía ubicaciones de evidencia o preguntas de seguimiento con message (guía de mensajería entre agentes). Un mensaje almacenado está disponible para recuperación, pero la entrega, la obtención y la aceptación de la cola nativa no significan que el destinatario completó la tarea.
En el informe, las decisiones recientes del proyecto tienen prioridad sobre la actividad rutinaria, y hasta cinco lecciones del proyecto se seleccionan por separado. El traspaso, el estado de tarea mostrado, las memorias clasificadas, la memoria global en full y el índice inyectado comparten un límite de bloque de memoria de 4000 caracteres. Si el índice dice que se omitieron más memorias, usa recall; memesh briefing --index muestra el índice independiente bajo sus límites separados de 40 líneas/3072 bytes.
Referencia completa de comandos y herramientas: docs/api/API_REFERENCE.md. Cómo está construido: docs/ARCHITECTURE.md. Contribuciones: CONTRIBUTING.md.
Las 12 herramientas de memoria y coordinación
| Herramienta | Qué hace |
|---|---|
work_package | Prepara un resumen de calendario no confiable acotado o un paquete de transcripción de Claude Code bajo una raíz de espacio de trabajo MCP coincidente; envía un resultado estricto para revisión humana pendiente, o difiere sin cambio duradero. El envío de transcripción conserva turnos fuente redactados acotados; no se exponen rutas de archivo, razonamiento oculto, proveedor, embeddings ni datos vectoriales. |
remember | Almacena conocimiento como observaciones, relaciones y etiquetas — o pasa texto libre como note y el título, las observaciones y el nombre se derivan; replace corrige una memoria en su lugar; una nueva decisión necesita why (su razón y qué haría que dejara de mantenerse) |
recall | Búsqueda local FTS5 con puntuación multifactorial (relevancia, recencia, frecuencia, confianza, impacto de recuperación) |
forget | Archivo suave (nunca elimina) o elimina observaciones específicas |
export | Respalda, migra o mueve memorias como JSON entre agentes compatibles |
import | Importa memorias con estrategias de fusión (omitir / sobrescribir / agregar) |
learn | Registra lecciones estructuradas de errores (error, causa raíz, solución, prevención) |
task_state | Lee o registra dónde está el trabajo — objetivo, siguiente paso, bloqueo, qué se acaba de terminar |
briefing | La topología de trabajo ensamblada para cualquier cliente MCP — un traspaso de proyecto elegible precede a las memorias clasificadas en cada nivel; minimal luego muestra las decisiones, lecciones, conocimiento y actividad reciente de este proyecto más memorias sin proyecto, standard agrega estado de tarea fresco y un índice de memoria duradera limitado, y full agrega otros proyectos y memoria global; project + recipient exactos pueden mostrar solo las entregas no obtenidas de ese destinatario |
user_patterns | Analiza tus patrones de trabajo — horario, herramientas, fortalezas, áreas de aprendizaje |
improvement | Prepara una mejora de producto vinculada a evidencia para revisión humana, o lee su estado; los agentes no pueden aceptarla ni rechazarla |
message | Descubre agentes activos y luego intercambia mensajes no confiables de destinatario exacto. Carga útil JSON duradera máx.: 64 KiB; envoltura nativa completa máx.: 16 KiB con fallos distintos de native_message_too_large y recipient_unavailable. La aceptación nativa, el descubrimiento, la consulta y la obtención nunca implican acuse de recibo ni disposición |
La letra pequeña
Clasificación puntuada — Resultados clasificados por relevancia (30%) + recencia (25%) + frecuencia (18%) + confianza (17%) + impacto de recuperación (10%).
Mensajería entre agentes, las reglas exactas (guía completa: docs/platforms/agent-messaging.md):
- Funciona hoy: un remitente MCP, HTTP o CLI puede enviar de forma duradera una carga útil JSON no confiable de como máximo 65,536 bytes UTF-8 (64 KiB) a un destinatario local con nombre. Un receptor puede recuperarla por separado, reanudar desde un cursor opaco después de reiniciar, y registrar ingesta, acuse de recibo, disposición del flujo de trabajo y activación del host como hechos separados.
- Con el plugin Codex de MeMesh habilitado, cada hilo ordinario de Codex CLI que se inicia o reanuda con una identidad de hilo válida y un directorio de trabajo existente se registra automáticamente bajo una identidad con ámbito de hilo; no se requiere
agent setupmanual. SessionStart lanza un acompañante privado del propietario. SessionEnd mantiene una ventana de cola inactiva limitada de 45 segundos, reanudar reemplaza la generación exacta anterior, y la expiración elimina el registro. Un mensaje aceptado durante esa ventana inactiva llega al hilo como un aviso breve cuando el mismo hilo se reanuda, y el agente luego recupera el cuerpo de la bandeja de entrada; no es una afirmación de que una interfaz detenida fue despertada.memesh agent setup codex-sessionsigue disponible solo cuando un espacio de trabajo necesita un principal nombrado estable. El envoltorio nativo completo, incluidos los metadatos de enrutamiento y la carga útil, está limitado por separado a 16,384 bytes (16 KiB). Un envío de sesión exacta devuelve éxito solo después de que esa cola nativa lo acepte; un envoltorio completo sobredimensionado reportanative_message_too_large, un enrutador local inalcanzable reportarouter_unreachable, y otras sesiones no disponibles o rechazadas reportanrecipient_unavailable. Los datos de recuperación con ámbito permanecen duraderos para todas las fallas del lado del remitente y del receptor. Los destinos principales conservan el comportamiento de almacenar y reenviar. La aceptación nativa no es acuse de recibo ni disposición, y los mensajes nativos no deben contener secretos. - Una sesión de Codex detenida, faltante o desconectada no se despierta ni se reemplaza, y una entrega nativa de sesión exacta fallida no se reproduce automáticamente; el remitente debe reintentar deliberadamente. Sus datos de recuperación con ámbito permanecen disponibles;
memesh message storage reportmuestra lo que está almacenado. La entrega nativa funciona solo en macOS y Linux. - Esta ruta nativa documentada cubre Codex CLI ordinario. No asuma que Codex Desktop o una tarea no adjunta se registra a menos que esa sesión en ejecución exacta aparezca en
message discover; este es un límite de evidencia, no una afirmación de que esos hosts sean universalmente incompatibles. - Emparejar Claude Channel con el registro automático de Codex no necesita ningún valor
--projectcopiado entre los dos: cada host deriva su propio proyecto de enrutamiento de su propio directorio de trabajo (Claude) o--workspace(Codex), por lo que iniciar ambos en el mismo repositorio los coloca en el mismo proyecto automáticamente.
Licencia MIT