Come funziona
Il tuo agente ha tre file relativi alla memoria:MEMORY.md— memoria a lungo termine. Fatti durevoli, preferenze e decisioni. Caricata all’inizio di ogni sessione DM.memory/YYYY-MM-DD.md(omemory/YYYY-MM-DD-<slug>.md) — note giornaliere. Contesto operativo e osservazioni. Le note di oggi e di ieri vengono caricate automaticamente, e ora vengono raccolte insieme al file con sola data anche le varianti con slug, come quelle scritte dall’hook session-memory incluso su/newo/reset.DREAMS.md(opzionale) — Dream Diary e riepiloghi degli sweep di Dreaming per la revisione umana, incluse voci di backfill storico fondate.
~/.openclaw/workspace).
Cosa va dove
MEMORY.md è il livello compatto e curato. Usalo per fatti durevoli, preferenze, decisioni permanenti e brevi riepiloghi che dovrebbero essere disponibili all’inizio di una sessione privata principale. Non è pensato per essere una trascrizione grezza, un registro giornaliero o un archivio esaustivo.
I file memory/YYYY-MM-DD.md sono il livello di lavoro. Usali per note giornaliere dettagliate, osservazioni, riepiloghi di sessione e contesto grezzo che potrebbe essere ancora utile in seguito. Questi file sono indicizzati per memory_search e memory_get, ma non vengono iniettati nel normale prompt di bootstrap a ogni turno.
Nel tempo, ci si aspetta che l’agente distilli il materiale utile dalle note giornaliere in MEMORY.md e rimuova le voci a lungo termine obsolete. Le istruzioni generate per lo spazio di lavoro e il flusso Heartbeat possono farlo periodicamente; non devi modificare manualmente MEMORY.md per ogni dettaglio ricordato.
Se MEMORY.md supera il budget del file di bootstrap, OpenClaw mantiene intatto il file su disco ma tronca la copia iniettata nel contesto del modello. Consideralo un segnale per spostare il materiale dettagliato di nuovo in memory/*.md, mantenere in MEMORY.md solo il riepilogo durevole, oppure aumentare i limiti di bootstrap se vuoi esplicitamente spendere più budget di prompt. Usa /context list, /context detail o openclaw doctor per vedere dimensioni grezze e iniettate, e lo stato del troncamento.
Memorie sensibili all’azione
La maggior parte delle memorie può essere scritta come normali note Markdown. Ma alcune memorie influenzano ciò che l’agente dovrebbe fare in seguito. Per quelle, cattura quando è sicuro agire sulla nota, non solo il fatto in sé. Cattura quel confine d’azione quando una nota riguarda:- requisiti di approvazione o autorizzazione,
- vincoli temporanei,
- passaggi di consegne a un’altra sessione, thread o persona,
- condizioni di scadenza,
- tempistiche in cui è sicuro agire,
- autorità della fonte o del proprietario,
- istruzioni per evitare un’azione allettante.
- cosa cambia il comportamento futuro,
- quando o a quale condizione si applica,
- quando scade, o cosa sblocca l’azione,
- cosa l’agente dovrebbe evitare di fare,
- chi è la fonte o il proprietario, se questo incide su fiducia o autorità.
Commitment inferiti
Alcuni follow-up futuri non sono fatti durevoli. Se menzioni un colloquio domani, la memoria utile potrebbe essere “ricontrolla dopo il colloquio”, non “salva questo per sempre inMEMORY.md.”
I commitment sono memorie di follow-up opt-in e di breve durata per questo caso. OpenClaw li inferisce in un passaggio in background nascosto, li limita allo stesso agente e canale, e consegna i check-in dovuti tramite Heartbeat. I promemoria espliciti usano ancora le attività pianificate.
Strumenti di memoria
L’agente ha due strumenti per lavorare con la memoria:memory_search— trova note pertinenti usando la ricerca semantica, anche quando la formulazione differisce dall’originale.memory_get— legge uno specifico file di memoria o intervallo di righe.
memory-core).
Plugin companion Memory Wiki
Se vuoi che la memoria durevole si comporti più come una knowledge base mantenuta che come semplici note grezze, usa il Plugin inclusomemory-wiki.
memory-wiki compila la conoscenza durevole in un vault wiki con:
- struttura delle pagine deterministica
- affermazioni e prove strutturate
- tracciamento di contraddizioni e freschezza
- dashboard generate
- digest compilati per consumatori agente/runtime
- strumenti nativi wiki come
wiki_search,wiki_get,wiki_applyewiki_lint
memory-wiki aggiunge accanto a esso un livello di conoscenza ricco di provenienza.
Vedi Memory Wiki.
Ricerca nella memoria
Quando è configurato un provider di embedding,memory_search usa la ricerca ibrida: combina similarità vettoriale (significato semantico) con corrispondenza per parole chiave (termini esatti come ID e simboli di codice). Funziona subito non appena hai una chiave API per qualsiasi provider supportato.
OpenClaw usa gli embedding OpenAI per impostazione predefinita. Imposta esplicitamente
agents.defaults.memorySearch.provider per usare embedding Gemini, Voyage, Mistral, locali, Ollama, Bedrock, GitHub Copilot o compatibili con OpenAI.Backend di memoria
Builtin (default)
Basato su SQLite. Funziona subito con ricerca per parole chiave, similarità vettoriale e ricerca ibrida. Nessuna dipendenza aggiuntiva.
QMD
Sidecar local-first con reranking, espansione delle query e capacità di indicizzare directory fuori dallo spazio di lavoro.
Honcho
Memoria cross-session AI-native con modellazione utente, ricerca semantica e consapevolezza multi-agente. Installazione Plugin.
LanceDB
Memoria inclusa basata su LanceDB con embedding compatibili con OpenAI, richiamo automatico, cattura automatica e supporto agli embedding Ollama locali.
Livello knowledge wiki
Memory Wiki
Compila la memoria durevole in un vault wiki ricco di provenienza con affermazioni, dashboard, modalità bridge e workflow compatibili con Obsidian.
Flush automatico della memoria
Prima che Compaction riassuma la tua conversazione, OpenClaw esegue un turno silenzioso che ricorda all’agente di salvare il contesto importante nei file di memoria. È attivo per impostazione predefinita: non devi configurare nulla. Per mantenere quel turno di manutenzione su un modello locale, imposta un override esatto del modello di memory-flush:Dreaming
Dreaming è un passaggio opzionale di consolidamento in background per la memoria. Raccoglie segnali a breve termine, assegna punteggi ai candidati e promuove solo gli elementi qualificati nella memoria a lungo termine (MEMORY.md).
È progettato per mantenere la memoria a lungo termine ad alto segnale:
- Opt-in: disabilitato per impostazione predefinita.
- Pianificato: quando abilitato,
memory-coregestisce automaticamente un job cron ricorrente per uno sweep completo di Dreaming. - Con soglie: le promozioni devono superare gate di punteggio, frequenza di richiamo e diversità delle query.
- Revisionabile: riepiloghi di fase e voci di diario vengono scritti in
DREAMS.mdper la revisione umana.
Backfill fondato e promozione live
Il sistema Dreaming ora ha due corsie di revisione strettamente correlate:- Live dreaming lavora dallo store Dreaming a breve termine sotto
memory/.dreams/ed è ciò che la normale fase profonda usa quando decide cosa può passare aMEMORY.md. - Grounded backfill legge le note storiche
memory/YYYY-MM-DD.mdcome file giornalieri autonomi e scrive output di revisione strutturato inDREAMS.md.
MEMORY.md.
Quando usi:
DREAMS.mdresta la superficie di revisione umana.- lo store a breve termine resta la superficie di ranking rivolta alla macchina.
MEMORY.mdviene ancora scritto solo dalla promozione profonda.
CLI
Ulteriori letture
- Motore di memoria integrato: backend SQLite predefinito.
- Motore di memoria QMD: sidecar avanzato local-first.
- Memoria Honcho: memoria cross-session AI-native.
- Memory LanceDB: Plugin basato su LanceDB con embedding compatibili con OpenAI.
- Memory Wiki: vault di conoscenza compilato e strumenti nativi wiki.
- Ricerca nella memoria: pipeline di ricerca, provider e ottimizzazione.
- Dreaming: promozione in background dal richiamo a breve termine alla memoria a lungo termine.
- Riferimento di configurazione della memoria: tutte le manopole di configurazione.
- Compaction: come Compaction interagisce con la memoria.