
MemoryCustodian
MemoryCustodian proporciona a los agentes de codificación una memoria de proyecto duradera y nativa del repositorio al almacenar el contexto clave como Markdown simple y cargar solo las piezas relevantes para la tarea a través de un manifiesto para una sobrecarga mínima de indicaciones entre sesiones y equipos.
https://github.com/waittim/MemoryCustodian?ref=producthunt&utm_source=aipure

Información del Producto
Actualizado:30/07/2026
¿Qué es MemoryCustodian?
MemoryCustodian es un sistema ligero de "memoria de proyecto" para agentes de codificación de IA que les ayuda a retener lo que importa entre sesiones (decisiones, restricciones, enfoques rechazados y la forma actual del proyecto) sin depender del historial de chat o de indicaciones de instrucción infladas. Mantiene el contexto duradero como Markdown revisable y diferenciable dentro de su repositorio (típicamente bajo `docs/memory/`) y proporciona una CLI rápida, "offline-first" y Python (solo stdlib) más integraciones de agentes (por ejemplo, Codex, Claude Code, habilidades estilo Gemini). El objetivo es hacer que el conocimiento del proyecto sea portátil entre agentes y fácil de auditar para los humanos como el código, mientras se mantiene el contexto de tiempo de ejecución pequeño e intencional.
Características Principales de MemoryCustodian
MemoryCustodian es un sistema de "memoria de proyecto" con enfoque offline-first para agentes de codificación que almacena contexto duradero (decisiones, restricciones, enfoques rechazados y la forma actual del proyecto) como Markdown simple dentro de su repositorio. En lugar de pegar grandes prompts o depender del historial de chat, utiliza un flujo de trabajo "manifest-first" para cargar solo los archivos de memoria relevantes para la tarea en el paquete de contexto de un agente, manteniendo las sesiones ligeras mientras hace que el conocimiento sea inspeccionable, diferenciable, portátil entre agentes/equipos y mantenible a través de una CLI de Python determinista y solo de la biblioteca estándar con mutaciones protegidas "preview-first" (por ejemplo, compactar/olvidar/migrar).
Memoria Markdown nativa del repositorio: Almacena el conocimiento duradero del proyecto en `docs/memory/` como Markdown simple para que los humanos puedan revisar, diferenciar, confirmar y revertir la memoria como código, sin necesidad de una base de datos vectorial, índice RAG o dependencia de la nube.
Carga selectiva "manifest-first": Los agentes leen `manifest.md` y luego `brief.md`, y cargan solo los archivos específicos relevantes para la tarea actual (planificación/implementación/artefacto), minimizando la hinchazón de los prompts mientras se conserva el contexto crítico.
Arranques de agentes ligeros en todas las plataformas: Genera pequeños archivos de arranque (por ejemplo, `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`) que apuntan a los agentes al manifiesto en lugar de incrustar grandes bloques de instrucciones, lo que admite agentes estilo Codex, Claude Code, Gemini y uso genérico de shell.
CLI determinista con mantenimiento protegido: Proporciona comandos `init/status/check/read/add/enable/forget/compact/migrate`; las operaciones de mantenimiento son "preview-first" y preservan la estructura, con verificaciones de presupuesto y planes de mutación seguros antes de aplicar los cambios.
Módulos de memoria con alcance y opcionales: Mantiene el conocimiento opcional (por ejemplo, `rules/`, `profiles/`, `areas/`, `archive/`) fuera del contexto predeterminado hasta que se habilita explícitamente por el manifiesto, lo que permite la memoria específica del subsistema sin contaminar cada tarea.
Controles de olvido y archivo seguros para la privacidad: Admite flujos de olvido suave/duro y purga con marcadores de eliminación y protecciones de redacción, además de archivo controlado (por ejemplo, archivo de la decisión más antigua) que requiere confirmación explícita para evitar la pérdida semántica accidental.
Casos de Uso de MemoryCustodian
Equipos de software que mantienen bases de código de larga duración: Capture decisiones de arquitectura, restricciones y enfoques rechazados para que las nuevas sesiones de agentes (y los nuevos ingenieros) no vuelvan a debatir elecciones anteriores, reduciendo la depuración repetida y el retrabajo en los sprints.
Entornos regulados o sin conexión: Úselo en finanzas, atención médica, defensa o entornos empresariales con aislamiento de red donde los servicios de memoria en la nube no están permitidos; la CLI solo de la biblioteca estándar y el almacenamiento local de Markdown admiten flujos de trabajo completamente sin conexión.
Interoperabilidad multi-agente/herramientas: Estandarice la memoria del proyecto en diferentes hosts de agentes (Codex, Claude Code, agentes estilo Gemini) para que los equipos puedan cambiar de herramientas sin perder contexto ni reconstruir prompts.
Traspasos de consultoría y agencia: Entregue proyectos de clientes con un paquete de memoria auditable y contenido en el repositorio (resumen/decisiones/restricciones/no usar) que preserve la lógica y los límites para futuros mantenedores.
Monorepos complejos y propiedad de subsistemas: Utilice `areas/` y el enrutamiento de manifiestos para cargar solo la memoria relevante para el dominio (frontend, sincronización, infraestructura, etc.), ayudando a los agentes a trabajar de manera efectiva sin arrastrar el contexto de toda la organización a cada tarea.
Ventajas
Portátil y auditable: la memoria es Markdown simple en el repositorio, fácil de revisar, diferenciar y controlar versiones.
Contexto de baja sobrecarga: la carga selectiva impulsada por el manifiesto evita la hinchazón de los prompts y mantiene las sesiones de los agentes eficientes.
Offline-first y dependencias mínimas: la CLI central es solo de la biblioteca estándar de Python y está diseñada para funcionar sin servicios de red.
Desventajas
Requiere disciplina de curación: el andamio `brief.md` generado debe ser curado de fuentes autorizadas antes de que sea confiable.
No hay recuperación semántica automática: evita incrustaciones/RAG por diseño, por lo que la relevancia depende de una buena estructura de manifiesto y de la calidad de escritura humana/agente.
Las operaciones de mantenimiento pueden ser conservadoras: las salvaguardias y restricciones "preview-first" (por ejemplo, protecciones de coincidencia amplia) pueden agregar pasos al flujo de trabajo para los usuarios que esperan una limpieza totalmente automática.
Cómo Usar MemoryCustodian
1) Instale MemoryCustodian (elija la ruta que coincida con su agente/flujo de trabajo): Elija un método de instalación:
- Pida a su agente de codificación que instale la habilidad desde el repositorio: https://github.com/waittim/MemoryCustodian
- Codex (mercado local): ejecute `codex plugin marketplace add .` desde una extracción, luego `codex plugin add memory-custodian@memory-custodian-dev`.
- Claude Code (plugin): para pruebas locales, ejecute `claude --plugin-dir .`, o instale en habilidades personales con `./install.sh claude`.
- Agentes estilo Gemini: instale con `./install.sh gemini` o `gemini skills link ./skills/memory-custodian`.
- CLI/extracción de código fuente: ejecute desde el repositorio a través de `scripts/memory-custodian ...` o instale editable con `python3 -m pip install -e .` para obtener el comando `memory-custodian`.
2) Inicialice MemoryCustodian en un proyecto (una vez por repositorio): Ejecute la inicialización una vez para cada proyecto de destino:
- Si está instalado como un script de consola: `memory-custodian init --project-root /ruta/al/proyecto --agent all`
- Desde una extracción de código fuente: `scripts/memory-custodian init --project-root /ruta/al/proyecto --agent all`
Use `--agent codex`, `--agent claude`, `--agent gemini`, o `--agent all` para generar los archivos de arranque delgados que lee su agente.
3) Comprenda lo que crea la inicialización (dónde reside la memoria): La inicialización crea el conjunto de memoria duradera predeterminado bajo `docs/memory/`:
- `manifest.md` (enruta lo que se debe cargar)
- `brief.md` (forma actual del proyecto)
- `decisions.md` (decisiones clave)
- `constraints.md` (requisitos difíciles)
- `do-not-use.md` (rutas rechazadas / lápidas)
- `inbox.md` (área de preparación)
Los archivos de arranque de la plataforma (por ejemplo, `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`) permanecen delgados y apuntan a los agentes a `docs/memory/`.
4) Curar el resumen generado antes de confiar en él: Después de `init`, `brief.md` comienza como un andamio con TODOs. Rellénelo con fuentes autorizadas del proyecto (README, código, documentos) antes de considerar la memoria lista. Use `memory-custodian status --project-root /ruta/al/proyecto` (o `scripts/memory-custodian status ...`) para ver si el resumen aún no ha sido curado; `status` y `check` informan un resumen no curado.
5) Cargue la memoria correcta para una tarea (lectura primero del manifiesto): El flujo de trabajo previsto para los agentes es:
1) Lea `docs/memory/manifest.md`.
2) Lea `docs/memory/brief.md`.
3) Cargue solo los archivos relevantes para la tarea nombrados por el manifiesto.
Para inspección manual, genere un paquete de contexto con:
- `memory-custodian read --project-root /ruta/al/proyecto --task planning`
- `memory-custodian read --project-root /ruta/al/proyecto --task implementation`
- `memory-custodian read --project-root /ruta/al/proyecto --task artifact`
6) Agregue memoria duradera cuando algo deba sobrevivir al chat actual: Registre decisiones/restricciones/preferencias/enfoques rechazados usando la CLI:
- `memory-custodian add "Elegimos la carga primero del manifiesto." --type decision`
- `memory-custodian add "Persistir la reintentos de sincronización con retroceso." --type decision --area sync --reason "Mantener los reintentos acotados entre lanzamientos."`
Mantenga las entradas de decisión cortas (la herramienta aplica una guía de tokens y rechaza escrituras demasiado largas a menos que permita explícitamente entradas largas).
7) Habilite módulos de memoria opcionales solo cuando sean relevantes: Los módulos opcionales (por ejemplo, reglas, perfiles, áreas) son opcionales y no se cargan a menos que estén habilitados y enrutados por el manifiesto. Habilítelos según sea necesario:
- `memory-custodian enable preferences`
- `memory-custodian enable rules/output`
- `memory-custodian enable profile/git`
- `memory-custodian enable area/frontend`
La habilitación nunca sobrescribe un archivo de módulo existente.
8) Use 'do-not-use' para preservar enfoques rechazados y evitar regresiones: Cuando rechace intencionalmente un enfoque (por ejemplo, un backend de almacenamiento o una arquitectura), regístrelo en `docs/memory/do-not-use.md` (mediante ediciones o el flujo de trabajo apropiado de agregar/olvidar) para que las sesiones futuras no lo vuelvan a proponer.
9) Verifique la salud y la compatibilidad del protocolo regularmente: Ejecute una validación determinista para asegurar que la estructura, los presupuestos y los metadatos del protocolo sean correctos:
- `memory-custodian check --project-root /ruta/al/proyecto`
Use `memory-custodian status` para una descripción general rápida y para detectar un resumen no curado.
10) Compacte y mantenga la memoria (primero la vista previa, mutaciones seguras): Use comandos de mantenimiento para mantener la memoria pequeña y actualizada:
- `memory-custodian compact --project-root /ruta/al/proyecto`
La compactación está protegida y es primero la vista previa; aplique los cambios solo después de revisar el plan. La compactación de la bandeja de entrada es conservadora (por ejemplo, eliminación exacta de unidades de viñetas de nivel superior duplicadas y filtrado de lápidas) y espera que un agente/humano realice la promoción semántica a decisiones/restricciones.
11) Olvide información obsoleta de forma segura (primero la vista previa): Elimine o redacte temas obsoletos con el olvido primero de la vista previa:
- Vista previa: `memory-custodian forget "nota de despliegue antigua" --mode soft --project-root /ruta/al/proyecto`
- Aplicar después de la revisión: `memory-custodian forget "nota de despliegue antigua" --mode soft --apply --project-root /ruta/al/proyecto`
Las coincidencias amplias requieren confirmación explícita (por ejemplo, `--allow-broad-match`). Algunos casos requieren una reescritura manual; la herramienta rechazará eliminaciones masivas inseguras.
12) Repare o reemplace una configuración existente cuando sea necesario: Si faltan archivos o los metadatos necesitan actualizarse sin sobrescribir el contenido curado:
- Reparar: `memory-custodian init --project-root /ruta/al/proyecto --repair`
Si desea intencionalmente un reemplazo completo, use el reemplazo primero de la vista previa y aplíquelo solo cuando sea correcto:
- `memory-custodian init --project-root /ruta/al/proyecto --replace-existing`
- luego agregue `--apply` solo si los archivos listados deben ser reemplazados.
13) Migre las versiones del protocolo/memoria del proyecto cuando la herramienta se actualice: Cuando `check` informe metadatos de protocolo antiguos o faltantes, migre el manifiesto del proyecto sin conexión:
- Vista previa: `memory-custodian migrate --project-root /ruta/al/proyecto`
- Aplicar después de la revisión: `memory-custodian migrate --apply --project-root /ruta/al/proyecto`
14) Use la invocación correcta en Windows vs. extracción de código fuente: En Windows, instale el comando de consola y use `memory-custodian ...`. Desde una extracción de repositorio en cualquier plataforma, puede ejecutar `scripts/memory-custodian ...` como el envoltorio.
Preguntas Frecuentes de MemoryCustodian
MemoryCustodian es una herramienta que proporciona a los agentes de codificación una "memoria de proyecto" duradera al almacenar decisiones, restricciones, ideas rechazadas y el contexto del proyecto como Markdown simple dentro de su repositorio, y luego cargar solo las piezas necesarias para la tarea actual.
Video de MemoryCustodian
Artículos Populares

Atoms: Una Plataforma de IA Multiagente Que Transforma Ideas en Productos Listos para Lanzar
May 22, 2026

Nano Banana SBTI: Qué es, cómo funciona y cómo usarlo en 2026
Apr 15, 2026

Reseña de Atoms: El Constructor de Productos de IA que Redefine la Creación Digital en 2026
Apr 10, 2026

Kilo Claw: Cómo implementar y usar un verdadero agente de IA "Hágalo por usted" (Actualización 2026)
Apr 3, 2026







