
MemoryCustodian
MemoryCustodian fornisce agli agenti di codifica una memoria di progetto duratura e nativa del repository, archiviando il contesto chiave come Markdown semplice e caricando solo i pezzi rilevanti per l'attività tramite un manifest per un overhead minimo dei prompt tra sessioni e team.
https://github.com/waittim/MemoryCustodian?ref=producthunt&utm_source=aipure

Informazioni sul Prodotto
Aggiornato:Jul 30, 2026
Cos'è MemoryCustodian
MemoryCustodian è un sistema leggero di "memoria di progetto" per agenti di codifica AI che li aiuta a conservare ciò che conta tra le sessioni – decisioni, vincoli, approcci rifiutati e la forma attuale del progetto – senza fare affidamento sulla cronologia delle chat o su prompt di istruzioni gonfi. Mantiene il contesto duraturo come Markdown revisionabile e confrontabile all'interno del tuo repository (tipicamente sotto `docs/memory/`) e fornisce una CLI Python (solo stdlib) veloce e offline-first, oltre a integrazioni con gli agenti (ad esempio, Codex, Claude Code, skill in stile Gemini). L'obiettivo è rendere la conoscenza del progetto portatile tra gli agenti e facile da verificare per gli umani come il codice, mantenendo il contesto di runtime piccolo e intenzionale.
Caratteristiche principali di MemoryCustodian
MemoryCustodian è un sistema di "memoria di progetto" offline-first per agenti di codifica che memorizza il contesto duraturo (decisioni, vincoli, approcci rifiutati e forma attuale del progetto) come semplice Markdown all'interno del tuo repository. Invece di incollare prompt di grandi dimensioni o affidarsi alla cronologia delle chat, utilizza un flusso di lavoro manifest-first per caricare solo i file di memoria rilevanti per il compito nel pacchetto di contesto di un agente, mantenendo le sessioni leggere e rendendo la conoscenza ispezionabile, confrontabile, portabile tra agenti/team e manutenibile tramite una CLI Python deterministica, solo stdlib, con mutazioni preview-first protette (ad es. compatta/dimentica/migra).
Memoria Markdown nativa del repository: Memorizza la conoscenza duratura del progetto sotto `docs/memory/` come semplice Markdown in modo che gli esseri umani possano rivedere, confrontare, committare e ripristinare la memoria come il codice—nessun DB vettoriale, indice RAG o dipendenza dal cloud richiesta.
Caricamento selettivo manifest-first: Gli agenti leggono `manifest.md` poi `brief.md` e caricano solo i file specifici rilevanti per il compito corrente (pianificazione/implementazione/artefatto), minimizzando il gonfiore dei prompt pur preservando il contesto critico.
Bootstraps agenti sottili su più piattaforme: Genera piccoli file di bootstrap (ad es. `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`) che indirizzano gli agenti al manifesto invece di incorporare grandi blocchi di istruzioni, supportando Codex, Claude Code, agenti in stile Gemini e l'uso generico della shell.
CLI deterministica con manutenzione protetta: Fornisce i comandi `init/status/check/read/add/enable/forget/compact/migrate`; le operazioni di manutenzione sono preview-first e preservano la struttura, con controlli di budget e piani di mutazione sicuri prima di applicare le modifiche.
Moduli di memoria con ambito e opt-in: Mantiene la conoscenza opzionale (ad es. `rules/`, `profiles/`, `areas/`, `archive/`) fuori dal contesto predefinito fino a quando non è esplicitamente abilitata dal manifesto, consentendo una memoria specifica per sottosistemi senza inquinare ogni attività.
Controlli di dimenticanza e archiviazione sicuri per la privacy: Supporta flussi di dimenticanza soft/hard e di eliminazione con tombstones e protezioni di redazione, oltre all'archiviazione controllata (ad es. archiviazione della decisione più vecchia) che richiede una conferma esplicita per evitare perdite semantiche accidentali.
Casi d'uso di MemoryCustodian
Team di sviluppo software che mantengono codebase a lungo termine: Cattura le decisioni architetturali, i vincoli e gli approcci rifiutati in modo che le nuove sessioni degli agenti (e i nuovi ingegneri) non ripropongano scelte precedenti, riducendo il debug ripetuto e il rifacimento tra gli sprint.
Ambienti regolamentati o offline: Utilizzabile in contesti finanziari, sanitari, di difesa o aziendali air-gapped dove i servizi di memoria cloud non sono consentiti; la CLI solo stdlib e l'archiviazione locale in Markdown supportano flussi di lavoro completamente offline.
Interoperabilità multi-agente/strumenti: Standardizza la memoria del progetto tra diversi host di agenti (Codex, Claude Code, agenti in stile Gemini) in modo che i team possano cambiare strumenti senza perdere il contesto o ricostruire i prompt.
Consegne di consulenza e agenzia: Consegna progetti ai clienti con un pacchetto di memoria verificabile e contenuto nel repository (brief/decisioni/vincoli/non-usare) che preserva la logica e i confini per i futuri manutentori.
Monorepo complessi e proprietà di sottosistemi: Usa `areas/` e il routing del manifesto per caricare solo la memoria rilevante per il dominio (frontend, sync, infra, ecc.), aiutando gli agenti a lavorare efficacemente senza trascinare il contesto dell'intera organizzazione in ogni attività.
Vantaggi
Portatile e verificabile: la memoria è semplice Markdown nel repository, facile da rivedere, confrontare e controllare la versione.
Contesto a basso overhead: il caricamento selettivo basato su manifesto evita il gonfiore dei prompt e mantiene efficienti le sessioni degli agenti.
Offline-first e dipendenze minime: la CLI principale è solo stdlib Python e progettata per funzionare senza servizi di rete.
Svantaggi
Richiede disciplina di curatela: lo scaffold `brief.md` generato deve essere curato da fonti autorevoli prima che sia affidabile.
Nessun recupero semantico automatico: evita embeddings/RAG per design, quindi la rilevanza dipende da una buona struttura del manifesto e dalla qualità della scrittura umana/agente.
Le operazioni di manutenzione possono essere conservative: le salvaguardie e i vincoli preview-first (ad es. protezioni a corrispondenza ampia) possono aggiungere passaggi al flusso di lavoro per gli utenti che si aspettano una pulizia completamente automatica.
Come usare MemoryCustodian
1) Installa MemoryCustodian (scegli il percorso che corrisponde al tuo agente/workflow): Scegli un metodo di installazione:
- Chiedi al tuo agente di codifica di installare la skill dal repository: https://github.com/waittim/MemoryCustodian
- Codex (marketplace locale): esegui `codex plugin marketplace add .` da un checkout, quindi `codex plugin add memory-custodian@memory-custodian-dev`.
- Claude Code (plugin): per test locali esegui `claude --plugin-dir .`, o installa nelle skill personali con `./install.sh claude`.
- Agenti in stile Gemini: installa con `./install.sh gemini` o `gemini skills link ./skills/memory-custodian`.
- CLI/source checkout: esegui dal repository tramite `scripts/memory-custodian ...` o installa in modalità modificabile con `python3 -m pip install -e .` per ottenere il comando `memory-custodian`.
2) Inizializza MemoryCustodian in un progetto (una tantum per repository): Esegui l'inizializzazione una volta per ogni progetto target:
- Se installato come script console: `memory-custodian init --project-root /path/to/project --agent all`
- Da un checkout del sorgente: `scripts/memory-custodian init --project-root /path/to/project --agent all`
Usa `--agent codex`, `--agent claude`, `--agent gemini`, o `--agent all` per generare i file di bootstrap sottili che il tuo agente legge.
3) Comprendi cosa crea l'inizializzazione (dove risiede la memoria): L'inizializzazione crea il set di memoria duratura predefinito sotto `docs/memory/`:
- `manifest.md` (instrada cosa caricare)
- `brief.md` (forma attuale del progetto)
- `decisions.md` (decisioni chiave)
- `constraints.md` (requisiti stringenti)
- `do-not-use.md` (percorsi rifiutati / lapidi)
- `inbox.md` (area di staging)
I file di bootstrap della piattaforma (ad esempio, `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`) rimangono sottili e indirizzano gli agenti a `docs/memory/`.
4) Cura il brief generato prima di farvi affidamento: Dopo `init`, `brief.md` inizia come uno scheletro con TODO. Riempilo da fonti autorevoli del progetto (README, codice, documenti) prima di considerare la memoria pronta. Usa `memory-custodian status --project-root /path/to/project` (o `scripts/memory-custodian status ...`) per vedere se il brief è ancora non curato; `status` e `check` segnalano un brief non curato.
5) Carica la memoria giusta per un'attività (lettura manifest-first): Il workflow previsto per gli agenti è:
1) Leggi `docs/memory/manifest.md`.
2) Leggi `docs/memory/brief.md`.
3) Carica solo i file rilevanti per l'attività nominati dal manifest.
Per l'ispezione manuale, genera un pacchetto di contesto con:
- `memory-custodian read --project-root /path/to/project --task planning`
- `memory-custodian read --project-root /path/to/project --task implementation`
- `memory-custodian read --project-root /path/to/project --task artifact`
6) Aggiungi memoria duratura quando qualcosa dovrebbe sopravvivere alla chat corrente: Registra decisioni/vincoli/preferenze/approcci rifiutati usando la CLI:
- `memory-custodian add "Abbiamo scelto il caricamento manifest-first." --type decision`
- `memory-custodian add "Persisti il backoff di ritentativi di sincronizzazione." --type decision --area sync --reason "Mantieni i ritentativi limitati tra i lanci."`
Mantieni le voci delle decisioni brevi (lo strumento impone una guida sui token e rifiuta scritture troppo lunghe a meno che tu non consenta esplicitamente voci lunghe).
7) Abilita i moduli di memoria opzionali solo quando diventano rilevanti: I moduli opzionali (ad esempio, regole, profili, aree) sono opt-in e non vengono caricati a meno che non siano abilitati e instradati dal manifest. Abilitali secondo necessità:
- `memory-custodian enable preferences`
- `memory-custodian enable rules/output`
- `memory-custodian enable profile/git`
- `memory-custodian enable area/frontend`
L'abilitazione non sovrascrive mai un file di modulo esistente.
8) Usa 'do-not-use' per preservare gli approcci rifiutati ed evitare regressioni: Quando rifiuti intenzionalmente un approccio (ad esempio, un backend di archiviazione o un'architettura), registralo in `docs/memory/do-not-use.md` (tramite modifiche o il workflow appropriato di aggiunta/dimenticanza) in modo che le sessioni future non lo ripropongano.
9) Controlla regolarmente la salute e la compatibilità del protocollo: Esegui la validazione deterministica per assicurarti che la struttura, i budget e i metadati del protocollo siano corretti:
- `memory-custodian check --project-root /path/to/project`
Usa `memory-custodian status` per una rapida panoramica e per rilevare un brief non curato.
10) Compatta e mantieni la memoria (preview-first, mutazioni sicure): Usa i comandi di manutenzione per mantenere la memoria piccola e aggiornata:
- `memory-custodian compact --project-root /path/to/project`
La compattazione è protetta e preview-first; applica le modifiche solo dopo aver esaminato il piano. La compattazione della posta in arrivo è conservativa (ad esempio, rimozione esatta di unità-punto elenco di primo livello duplicate e filtraggio delle lapidi) e si aspetta che un agente/umano faccia una promozione semantica in decisioni/vincoli.
11) Dimentica le informazioni obsolete in modo sicuro (preview-first): Rimuovi o redigi argomenti obsoleti con la dimenticanza preview-first:
- Anteprima: `memory-custodian forget "vecchia nota di distribuzione" --mode soft --project-root /path/to/project`
- Applica dopo la revisione: `memory-custodian forget "vecchia nota di distribuzione" --mode soft --apply --project-root /path/to/project`
Le corrispondenze ampie richiedono una conferma esplicita (ad esempio, `--allow-broad-match`). Alcuni casi richiedono una riscrittura manuale; lo strumento rifiuterà eliminazioni all'ingrosso non sicure.
12) Ripara o sostituisci una configurazione esistente quando necessario: Se mancano file o i metadati devono essere aggiornati senza sovrascrivere il contenuto curato:
- Ripara: `memory-custodian init --project-root /path/to/project --repair`
Se desideri intenzionalmente una sostituzione completa, usa la sostituzione preview-first e applica solo quando è corretta:
- `memory-custodian init --project-root /path/to/project --replace-existing`
- quindi aggiungi `--apply` solo se i file elencati devono essere sostituiti.
13) Migra le versioni del protocollo/memoria del progetto quando lo strumento si aggiorna: Quando `check` segnala metadati del protocollo vecchi o mancanti, migra il manifest del progetto offline:
- Anteprima: `memory-custodian migrate --project-root /path/to/project`
- Applica dopo la revisione: `memory-custodian migrate --apply --project-root /path/to/project`
14) Usa l'invocazione corretta su Windows vs. source checkout: Su Windows, installa il comando console e usa `memory-custodian ...`. Da un checkout del repository su qualsiasi piattaforma, puoi eseguire `scripts/memory-custodian ...` come wrapper.
FAQ di MemoryCustodian
MemoryCustodian è uno strumento che offre agli agenti di codifica una "memoria di progetto" duratura, archiviando decisioni, vincoli, idee rifiutate e contesto del progetto come Markdown semplice all'interno del tuo repository, quindi caricando solo i pezzi necessari per l'attività corrente.
Video di MemoryCustodian
Articoli Popolari

Atoms: Una Piattaforma AI Multi-Agente Che Trasforma le Idee in Prodotti Pronti al Lancio
May 22, 2026

Nano Banana SBTI: Cos'è, come funziona e come usarlo nel 2026
Apr 15, 2026

Recensione di Atoms — Il builder di prodotti AI che ridefinisce la creazione digitale nel 2026
Apr 10, 2026

Kilo Claw: Come Distribuire e Utilizzare un Vero Agente AI "Fai-da-Te" (Aggiornamento 2026)
Apr 3, 2026







