๐ง memory-lancedb-pro
April 4, 2026 ยท View on GitHub
๐ง memory-lancedb-pro ยท ๐ฆOpenClaw Plugin
Assistente Memoria IA per Agenti OpenClaw
Dai al tuo agente IA un cervello che ricorda davvero โ tra sessioni, tra agenti, nel tempo.
Un plugin di memoria a lungo termine per OpenClaw basato su LanceDB che memorizza preferenze, decisioni e contesto di progetto, e li richiama automaticamente nelle sessioni future.
English | ็ฎไฝไธญๆ | ็น้ซไธญๆ | ๆฅๆฌ่ช | ํ๊ตญ์ด | Franรงais | Espaรฑol | Deutsch | Italiano | ะ ัััะบะธะน | Portuguรชs (Brasil)
Perchรฉ memory-lancedb-pro?
La maggior parte degli agenti IA soffre di amnesia. Dimenticano tutto nel momento in cui si avvia una nuova chat.
memory-lancedb-pro รจ un plugin di memoria a lungo termine di livello produttivo per OpenClaw che trasforma il tuo agente in un vero Assistente Memoria IA โ cattura automaticamente ciรฒ che conta, lascia il rumore dissolversi naturalmente e recupera il ricordo giusto al momento giusto. Nessun tag manuale, nessuna configurazione complicata.
Il tuo Assistente Memoria IA in azione
Senza memoria โ ogni sessione parte da zero:
Tu: "Usa i tab per l'indentazione, aggiungi sempre la gestione degli errori." (sessione successiva) Tu: "Te l'ho giร detto โ tab, non spazi!" ๐ค (sessione successiva) Tu: "โฆsul serio, tab. E gestione degli errori. Di nuovo."
Con memory-lancedb-pro โ il tuo agente impara e ricorda:
Tu: "Usa i tab per l'indentazione, aggiungi sempre la gestione degli errori." (sessione successiva โ l'agente richiama automaticamente le tue preferenze) Agente: (applica silenziosamente tab + gestione errori) โ Tu: "Perchรฉ il mese scorso abbiamo scelto PostgreSQL invece di MongoDB?" Agente: "In base alla nostra discussione del 12 febbraio, i motivi principali eranoโฆ" โ
Questa รจ la differenza che fa un Assistente Memoria IA โ impara il tuo stile, ricorda le decisioni passate e fornisce risposte personalizzate senza che tu debba ripeterti.
Cos'altro puรฒ fare?
| Cosa ottieni | |
|---|---|
| Auto-Capture | Il tuo agente impara da ogni conversazione โ nessun memory_store manuale necessario |
| Estrazione intelligente | Classificazione LLM in 6 categorie: profili, preferenze, entitร , eventi, casi, pattern |
| Oblio intelligente | Modello di decadimento Weibull โ i ricordi importanti restano, il rumore svanisce |
| Ricerca ibrida | Ricerca vettoriale + BM25 full-text, fusa con reranking cross-encoder |
| Iniezione di contesto | I ricordi rilevanti emergono automaticamente prima di ogni risposta |
| Isolamento multi-scope | Confini di memoria per agente, per utente, per progetto |
| Qualsiasi provider | OpenAI, Jina, Gemini, Ollama o qualsiasi API compatibile OpenAI |
| Toolkit completo | CLI, backup, migrazione, upgrade, esportazione/importazione โ pronto per la produzione |
Avvio rapido
Requisito CPU: La tua CPU deve supportare le istruzioni AVX/AVX2 (Intel Sandy Bridge 2011+ / AMD Bulldozer 2011+). Il motore vettoriale nativo di LanceDB le richiede โ su CPU non supportate il plugin andrร in crash con
SIGILL(Istruzione illegale). Verifica con:grep -o 'avx[^ ]*' /proc/cpuinfo | head -1(nessun output = non supportato). Vedi #419.
Opzione A: Script di installazione con un clic (consigliato)
Lo script di installazione mantenuto dalla community gestisce installazione, aggiornamento e riparazione in un solo comando:
curl -fsSL https://raw.githubusercontent.com/CortexReach/toolbox/main/memory-lancedb-pro-setup/setup-memory.sh -o setup-memory.sh
bash setup-memory.sh
Vedi Ecosistema qui sotto per l'elenco completo degli scenari coperti e altri strumenti della community.
Opzione B: Installazione manuale
Tramite OpenClaw CLI (consigliato):
openclaw plugins install memory-lancedb-pro@beta
Oppure tramite npm:
npm i memory-lancedb-pro@beta
Se usi npm, dovrai anche aggiungere la directory di installazione del plugin come percorso assoluto in
plugins.load.pathsnel tuoopenclaw.json. Questo รจ il problema di configurazione piรน comune.
Aggiungi al tuo openclaw.json:
{
"plugins": {
"slots": { "memory": "memory-lancedb-pro" },
"entries": {
"memory-lancedb-pro": {
"enabled": true,
"config": {
"embedding": {
"provider": "openai-compatible",
"apiKey": "${OPENAI_API_KEY}",
"model": "text-embedding-3-small"
},
"autoCapture": true,
"autoRecall": true,
"smartExtraction": true,
"extractMinMessages": 2,
"extractMaxChars": 8000,
"sessionMemory": { "enabled": false }
}
}
}
}
}
Perchรฉ questi valori predefiniti?
autoCapture+smartExtractionโ il tuo agente impara automaticamente da ogni conversazioneautoRecallโ i ricordi rilevanti vengono iniettati prima di ogni rispostaextractMinMessages: 2โ l'estrazione si attiva nelle normali chat a due turnisessionMemory.enabled: falseโ evita di inquinare la ricerca con riassunti di sessione all'inizio
Valida e riavvia:
openclaw config validate
openclaw gateway restart
openclaw logs --follow --plain | grep "memory-lancedb-pro"
Dovresti vedere:
memory-lancedb-pro: smart extraction enabledmemory-lancedb-pro@...: plugin registered
Fatto! Il tuo agente ora ha una memoria a lungo termine.
Ulteriori percorsi di installazione (utenti esistenti, aggiornamenti)
Usi giร OpenClaw?
- Aggiungi il plugin con un percorso assoluto in
plugins.load.paths - Associa lo slot di memoria:
plugins.slots.memory = "memory-lancedb-pro" - Verifica:
openclaw plugins info memory-lancedb-pro && openclaw memory-pro stats
Aggiornamento da versioni precedenti alla v1.1.0?
# 1) Backup
openclaw memory-pro export --scope global --output memories-backup.json
# 2) Dry run
openclaw memory-pro upgrade --dry-run
# 3) Run upgrade
openclaw memory-pro upgrade
# 4) Verify
openclaw memory-pro stats
Vedi CHANGELOG-v1.1.0.md per le modifiche comportamentali e le motivazioni dell'aggiornamento.
Importazione rapida Telegram Bot (clicca per espandere)
Se stai usando l'integrazione Telegram di OpenClaw, il modo piรน semplice รจ inviare un comando di importazione direttamente al Bot principale invece di modificare manualmente la configurazione.
Invia questo messaggio:
Help me connect this memory plugin with the most user-friendly configuration: https://github.com/CortexReach/memory-lancedb-pro
Requirements:
1. Set it as the only active memory plugin
2. Use Jina for embedding
3. Use Jina for reranker
4. Use gpt-4o-mini for the smart-extraction LLM
5. Enable autoCapture, autoRecall, smartExtraction
6. extractMinMessages=2
7. sessionMemory.enabled=false
8. captureAssistant=false
9. retrieval mode=hybrid, vectorWeight=0.7, bm25Weight=0.3
10. rerank=cross-encoder, candidatePoolSize=12, minScore=0.6, hardMinScore=0.62
11. Generate the final openclaw.json config directly, not just an explanation
Ecosistema
memory-lancedb-pro รจ il plugin principale. La community ha costruito strumenti per rendere l'installazione e l'uso quotidiano ancora piรน fluidi:
Script di installazione โ Installazione, aggiornamento e riparazione con un clic
Non รจ un semplice installer โ lo script gestisce in modo intelligente numerosi scenari reali:
| La tua situazione | Cosa fa lo script |
|---|---|
| Mai installato | Download โ installazione dipendenze โ scelta configurazione โ scrittura in openclaw.json โ riavvio |
Installato tramite git clone, bloccato su un vecchio commit | git fetch + checkout automatico all'ultima versione โ reinstallazione dipendenze โ verifica |
| La configurazione ha campi non validi | Rilevamento automatico tramite filtro schema, rimozione campi non supportati |
Installato tramite npm | Salta l'aggiornamento git, ricorda di eseguire npm update autonomamente |
CLI openclaw non funzionante per configurazione non valida | Fallback: lettura diretta del percorso workspace dal file openclaw.json |
extensions/ invece di plugins/ | Rilevamento automatico della posizione del plugin da configurazione o filesystem |
| Giร aggiornato | Solo controlli di integritร , nessuna modifica |
bash setup-memory.sh # Installa o aggiorna
bash setup-memory.sh --dry-run # Solo anteprima
bash setup-memory.sh --beta # Includi versioni pre-release
bash setup-memory.sh --uninstall # Ripristina configurazione e rimuovi plugin
Preset di provider integrati: Jina / DashScope / SiliconFlow / OpenAI / Ollama, oppure usa la tua API compatibile OpenAI. Per l'utilizzo completo (inclusi --ref, --selfcheck-only e altro), consulta il README dello script di installazione.
Claude Code / OpenClaw Skill โ Configurazione guidata dall'IA
Installa questa Skill e il tuo agente IA (Claude Code o OpenClaw) acquisisce una conoscenza approfondita di tutte le funzionalitร di memory-lancedb-pro. Basta dire "aiutami ad attivare la configurazione migliore" per ottenere:
- Workflow di configurazione guidato in 7 passaggi con 4 piani di distribuzione:
- Full Power (Jina + OpenAI) / Budget (reranker SiliconFlow gratuito) / Simple (solo OpenAI) / Completamente locale (Ollama, zero costi API)
- Tutti i 9 strumenti MCP usati correttamente:
memory_recall,memory_store,memory_forget,memory_update,memory_stats,memory_list,self_improvement_log,self_improvement_extract_skill,self_improvement_review(il set completo richiedeenableManagementTools: trueโ la configurazione Quick Start predefinita espone i 4 strumenti principali) - Prevenzione delle insidie comuni: attivazione plugin workspace,
autoRecallpredefinito a false, cache jiti, variabili d'ambiente, isolamento scope, ecc.
Installazione per Claude Code:
git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.claude/skills/memory-lancedb-pro
Installazione per OpenClaw:
git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.openclaw/workspace/skills/memory-lancedb-pro-skill
Tutorial video
Guida completa: installazione, configurazione e funzionamento interno della ricerca ibrida.
https://www.bilibili.com/video/BV1zUf2BGEgn/
Architettura
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ index.ts (Entry Point) โ
โ Plugin Registration ยท Config Parsing ยท Lifecycle Hooks โ
โโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ โ โ โ
โโโโโโผโโโโ โโโโโโผโโโโ โโโโโผโโโโโ โโโโผโโโโโโโโโโโ
โ store โ โembedderโ โretrieverโ โ scopes โ
โ .ts โ โ .ts โ โ .ts โ โ .ts โ
โโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโโโโ
โ โ
โโโโโโผโโโโ โโโโโโโผโโโโโโโโโโโ
โmigrate โ โnoise-filter.ts โ
โ .ts โ โadaptive- โ
โโโโโโโโโโ โretrieval.ts โ
โโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โ tools.ts โ โ cli.ts โ
โ (Agent API) โ โ (CLI) โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโ
Per un approfondimento sull'architettura completa, consulta docs/memory_architecture_analysis.md.
Riferimento file (clicca per espandere)
| File | Scopo |
|---|---|
index.ts | Punto di ingresso del plugin. Si registra con l'API Plugin di OpenClaw, analizza la configurazione, monta gli hook del ciclo di vita |
openclaw.plugin.json | Metadati del plugin + dichiarazione completa della configurazione JSON Schema |
cli.ts | Comandi CLI: memory-pro list/search/stats/delete/delete-bulk/export/import/reembed/upgrade/migrate |
src/store.ts | Layer di storage LanceDB. Creazione tabelle / indicizzazione FTS / ricerca vettoriale / ricerca BM25 / CRUD |
src/embedder.ts | Astrazione embedding. Compatibile con qualsiasi provider API compatibile OpenAI |
src/retriever.ts | Motore di ricerca ibrido. Vettoriale + BM25 โ Fusione ibrida โ Rerank โ Decadimento ciclo di vita โ Filtro |
src/scopes.ts | Controllo accessi multi-scope |
src/tools.ts | Definizioni degli strumenti agente: memory_recall, memory_store, memory_forget, memory_update + strumenti di gestione |
src/noise-filter.ts | Filtra rifiuti dell'agente, meta-domande, saluti e contenuti di bassa qualitร |
src/adaptive-retrieval.ts | Determina se una query necessita di ricerca nella memoria |
src/migrate.ts | Migrazione dal memory-lancedb integrato a Pro |
src/smart-extractor.ts | Estrazione LLM in 6 categorie con archiviazione a strati L0/L1/L2 e deduplicazione in due fasi |
src/decay-engine.ts | Modello di decadimento esponenziale esteso Weibull |
src/tier-manager.ts | Promozione/retrocessione a tre livelli: Peripheral โ Working โ Core |
Funzionalitร principali
Ricerca ibrida
Query โ embedQuery() โโ
โโโ Hybrid Fusion โ Rerank โ Lifecycle Decay Boost โ Length Norm โ Filter
Query โ BM25 FTS โโโโโโ
- Ricerca vettoriale โ similaritร semantica tramite LanceDB ANN (distanza del coseno)
- Ricerca full-text BM25 โ corrispondenza esatta delle parole chiave tramite indice FTS di LanceDB
- Fusione ibrida โ punteggio vettoriale come base, i risultati BM25 ricevono un boost ponderato (non RRF standard โ ottimizzato per la qualitร di richiamo nel mondo reale)
- Pesi configurabili โ
vectorWeight,bm25Weight,minScore
Reranking Cross-Encoder
- Adattatori integrati per Jina, SiliconFlow, Voyage AI e Pinecone
- Compatibile con qualsiasi endpoint compatibile Jina (ad es. Hugging Face TEI, DashScope)
- Punteggio ibrido: 60% cross-encoder + 40% punteggio fuso originale
- Degradazione elegante: fallback sulla similaritร del coseno in caso di errore API
Pipeline di punteggio multi-fase
| Fase | Effetto |
|---|---|
| Fusione ibrida | Combina richiamo semantico e corrispondenza esatta |
| Rerank Cross-Encoder | Promuove risultati semanticamente precisi |
| Boost decadimento ciclo di vita | Freschezza Weibull + frequenza di accesso + importance ร confidence |
| Normalizzazione lunghezza | Impedisce alle voci lunghe di dominare (ancora: 500 caratteri) |
| Punteggio minimo rigido | Rimuove risultati irrilevanti (predefinito: 0.35) |
| Diversitร MMR | Similaritร coseno > 0.85 โ retrocesso |
Estrazione intelligente della memoria (v1.1.0)
- Estrazione LLM in 6 categorie: profilo, preferenze, entitร , eventi, casi, pattern
- Archiviazione a strati L0/L1/L2: L0 (indice in una frase) โ L1 (riepilogo strutturato) โ L2 (narrazione completa)
- Deduplicazione in due fasi: pre-filtro similaritร vettoriale (โฅ0.7) โ decisione semantica LLM (CREATE/MERGE/SKIP)
- Fusione consapevole delle categorie:
profileviene sempre fuso,events/casessolo in aggiunta
Gestione del ciclo di vita della memoria (v1.1.0)
- Motore di decadimento Weibull: punteggio composito = freschezza + frequenza + valore intrinseco
- Promozione a tre livelli:
Peripheral โ Working โ Corecon soglie configurabili - Rinforzo per accesso: i ricordi richiamati frequentemente decadono piรน lentamente (stile ripetizione spaziata)
- Emivita modulata dall'importanza: i ricordi importanti decadono piรน lentamente
Isolamento multi-scope
- Scope integrati:
global,agent:<id>,custom:<name>,project:<id>,user:<id> - Controllo accessi a livello agente tramite
scopes.agentAccess - Predefinito: ogni agente accede a
global+ il proprio scopeagent:<id>
Auto-Capture e Auto-Recall
- Auto-Capture (
agent_end): estrae preferenze/fatti/decisioni/entitร dalle conversazioni, deduplica, memorizza fino a 3 per turno - Auto-Recall (
before_agent_start): inietta il contesto<relevant-memories>(fino a 3 voci)
Filtraggio del rumore e ricerca adattiva
- Filtra contenuti di bassa qualitร : rifiuti dell'agente, meta-domande, saluti
- Salta la ricerca per: saluti, comandi slash, conferme semplici, emoji
- Forza la ricerca per parole chiave della memoria ("ricorda", "precedentemente", "l'ultima volta")
- Soglie CJK (cinese: 6 caratteri vs inglese: 15 caratteri)
Confronto con memory-lancedb integrato (clicca per espandere)
| Funzionalitร | memory-lancedb integrato | memory-lancedb-pro |
|---|---|---|
| Ricerca vettoriale | Sรฌ | Sรฌ |
| Ricerca full-text BM25 | - | Sรฌ |
| Fusione ibrida (Vettoriale + BM25) | - | Sรฌ |
| Rerank cross-encoder (multi-provider) | - | Sรฌ |
| Boost di freschezza e decadimento temporale | - | Sรฌ |
| Normalizzazione lunghezza | - | Sรฌ |
| Diversitร MMR | - | Sรฌ |
| Isolamento multi-scope | - | Sรฌ |
| Filtraggio del rumore | - | Sรฌ |
| Ricerca adattiva | - | Sรฌ |
| CLI di gestione | - | Sรฌ |
| Memoria di sessione | - | Sรฌ |
| Embedding task-aware | - | Sรฌ |
| Estrazione intelligente LLM (6 categorie) | - | Sรฌ (v1.1.0) |
| Decadimento Weibull + promozione livelli | - | Sรฌ (v1.1.0) |
| Qualsiasi embedding compatibile OpenAI | Limitato | Sรฌ |
Configurazione
Esempio di configurazione completa
{
"embedding": {
"apiKey": "${JINA_API_KEY}",
"model": "jina-embeddings-v5-text-small",
"baseURL": "https://api.jina.ai/v1",
"dimensions": 1024,
"taskQuery": "retrieval.query",
"taskPassage": "retrieval.passage",
"normalized": true
},
"dbPath": "~/.openclaw/memory/lancedb-pro",
"autoCapture": true,
"autoRecall": true,
"retrieval": {
"mode": "hybrid",
"vectorWeight": 0.7,
"bm25Weight": 0.3,
"minScore": 0.3,
"rerank": "cross-encoder",
"rerankApiKey": "${JINA_API_KEY}",
"rerankModel": "jina-reranker-v3",
"rerankEndpoint": "https://api.jina.ai/v1/rerank",
"rerankProvider": "jina",
"candidatePoolSize": 20,
"recencyHalfLifeDays": 14,
"recencyWeight": 0.1,
"filterNoise": true,
"lengthNormAnchor": 500,
"hardMinScore": 0.35,
"timeDecayHalfLifeDays": 60,
"reinforcementFactor": 0.5,
"maxHalfLifeMultiplier": 3
},
"enableManagementTools": false,
"scopes": {
"default": "global",
"definitions": {
"global": { "description": "Shared knowledge" },
"agent:discord-bot": { "description": "Discord bot private" }
},
"agentAccess": {
"discord-bot": ["global", "agent:discord-bot"]
}
},
"sessionMemory": {
"enabled": false,
"messageCount": 15
},
"smartExtraction": true,
"llm": {
"apiKey": "${OPENAI_API_KEY}",
"model": "gpt-4o-mini",
"baseURL": "https://api.openai.com/v1"
},
"extractMinMessages": 2,
"extractMaxChars": 8000
}
Provider di embedding
Funziona con qualsiasi API di embedding compatibile OpenAI:
| Provider | Modello | Base URL | Dimensioni |
|---|---|---|---|
| Jina (consigliato) | jina-embeddings-v5-text-small | https://api.jina.ai/v1 | 1024 |
| OpenAI | text-embedding-3-small | https://api.openai.com/v1 | 1536 |
| Voyage | voyage-4-lite / voyage-4 | https://api.voyageai.com/v1 | 1024 / 1024 |
| Google Gemini | gemini-embedding-001 | https://generativelanguage.googleapis.com/v1beta/openai/ | 3072 |
| Ollama (locale) | nomic-embed-text | http://localhost:11434/v1 | specifico del provider |
Provider di rerank
Il reranking cross-encoder supporta piรน provider tramite rerankProvider:
| Provider | rerankProvider | Modello di esempio |
|---|---|---|
| Jina (predefinito) | jina | jina-reranker-v3 |
| SiliconFlow (piano gratuito disponibile) | siliconflow | BAAI/bge-reranker-v2-m3 |
| Voyage AI | voyage | rerank-2.5 |
| Pinecone | pinecone | bge-reranker-v2-m3 |
Funziona anche qualsiasi endpoint di rerank compatibile Jina โ imposta rerankProvider: "jina" e punta rerankEndpoint al tuo servizio (ad es. Hugging Face TEI, DashScope qwen3-rerank).
Estrazione intelligente (LLM) โ v1.1.0
Quando smartExtraction รจ abilitato (predefinito: true), il plugin utilizza un LLM per estrarre e classificare intelligentemente i ricordi invece di trigger basati su regex.
| Campo | Tipo | Predefinito | Descrizione |
|---|---|---|---|
smartExtraction | boolean | true | Abilita/disabilita l'estrazione LLM in 6 categorie |
llm.auth | string | api-key | api-key usa llm.apiKey / embedding.apiKey; oauth usa un file token OAuth con scope plugin per impostazione predefinita |
llm.apiKey | string | (fallback su embedding.apiKey) | Chiave API per il provider LLM |
llm.model | string | openai/gpt-oss-120b | Nome del modello LLM |
llm.baseURL | string | (fallback su embedding.baseURL) | Endpoint API LLM |
llm.oauthProvider | string | openai-codex | ID del provider OAuth usato quando llm.auth รจ oauth |
llm.oauthPath | string | ~/.openclaw/.memory-lancedb-pro/oauth.json | File token OAuth usato quando llm.auth รจ oauth |
llm.timeoutMs | number | 30000 | Timeout della richiesta LLM in millisecondi |
extractMinMessages | number | 2 | Messaggi minimi prima che l'estrazione si attivi |
extractMaxChars | number | 8000 | Caratteri massimi inviati al LLM |
Configurazione llm OAuth (usa la cache di login esistente di Codex / ChatGPT per le chiamate LLM):
{
"llm": {
"auth": "oauth",
"oauthProvider": "openai-codex",
"model": "gpt-5.4",
"oauthPath": "${HOME}/.openclaw/.memory-lancedb-pro/oauth.json",
"timeoutMs": 30000
}
}
Note per llm.auth: "oauth":
llm.oauthProviderรจ attualmenteopenai-codex.- I token OAuth sono salvati di default in
~/.openclaw/.memory-lancedb-pro/oauth.json. - Puoi impostare
llm.oauthPathse vuoi salvare quel file altrove. auth logincrea uno snapshot della configurazionellmprecedente con api-key accanto al file OAuth, eauth logoutripristina quello snapshot quando disponibile.- Il passaggio da
api-keyaoauthnon trasferisce automaticamentellm.baseURL. Impostalo manualmente in modalitร OAuth solo quando vuoi intenzionalmente un backend personalizzato compatibile ChatGPT/Codex.
Configurazione ciclo di vita (Decadimento + Livelli)
| Campo | Predefinito | Descrizione |
|---|---|---|
decay.recencyHalfLifeDays | 30 | Emivita base per il decadimento di freschezza Weibull |
decay.frequencyWeight | 0.3 | Peso della frequenza di accesso nel punteggio composito |
decay.intrinsicWeight | 0.3 | Peso di importance ร confidence |
decay.betaCore | 0.8 | Beta Weibull per i ricordi core |
decay.betaWorking | 1.0 | Beta Weibull per i ricordi working |
decay.betaPeripheral | 1.3 | Beta Weibull per i ricordi peripheral |
tier.coreAccessThreshold | 10 | Conteggio minimo richiami prima della promozione a core |
tier.peripheralAgeDays | 60 | Soglia di etร per retrocedere i ricordi inattivi |
Rinforzo per accesso
I ricordi richiamati frequentemente decadono piรน lentamente (stile ripetizione spaziata).
Chiavi di configurazione (sotto retrieval):
reinforcementFactor(0-2, predefinito:0.5) โ imposta0per disabilitaremaxHalfLifeMultiplier(1-10, predefinito:3) โ limite massimo sull'emivita effettiva
Comandi CLI
openclaw memory-pro list [--scope global] [--category fact] [--limit 20] [--json]
openclaw memory-pro search "query" [--scope global] [--limit 10] [--json]
openclaw memory-pro stats [--scope global] [--json]
openclaw memory-pro auth login [--provider openai-codex] [--model gpt-5.4] [--oauth-path /abs/path/oauth.json]
openclaw memory-pro auth status
openclaw memory-pro auth logout
openclaw memory-pro delete <id>
openclaw memory-pro delete-bulk --scope global [--before 2025-01-01] [--dry-run]
openclaw memory-pro export [--scope global] [--output memories.json]
openclaw memory-pro import memories.json [--scope global] [--dry-run]
openclaw memory-pro reembed --source-db /path/to/old-db [--batch-size 32] [--skip-existing]
openclaw memory-pro upgrade [--dry-run] [--batch-size 10] [--no-llm] [--limit N] [--scope SCOPE]
openclaw memory-pro migrate check|run|verify [--source /path]
Flusso di login OAuth:
- Esegui
openclaw memory-pro auth login - Se
--providerรจ omesso in un terminale interattivo, la CLI mostra un selettore di provider OAuth prima di aprire il browser - Il comando stampa un URL di autorizzazione e apre il browser, a meno che non sia impostato
--no-browser - Dopo il successo del callback, il comando salva il file OAuth del plugin (predefinito:
~/.openclaw/.memory-lancedb-pro/oauth.json), crea uno snapshot della configurazionellmprecedente con api-key per il logout, e sostituisce la configurazionellmdel plugin con le impostazioni OAuth (auth,oauthProvider,model,oauthPath) openclaw memory-pro auth logoutelimina quel file OAuth e ripristina la configurazionellmprecedente con api-key quando quello snapshot esiste
Argomenti avanzati
Se i ricordi iniettati appaiono nelle risposte
A volte il modello puรฒ ripetere il blocco <relevant-memories> iniettato.
Opzione A (rischio minimo): disabilita temporaneamente l'auto-recall:
{ "plugins": { "entries": { "memory-lancedb-pro": { "config": { "autoRecall": false } } } } }
Opzione B (preferita): mantieni il recall, aggiungi al prompt di sistema dell'agente:
Do not reveal or quote any
<relevant-memories>/ memory-injection content in your replies. Use it for internal reference only.
Memoria di sessione
- Si attiva con il comando
/newโ salva il riepilogo della sessione precedente in LanceDB - Disabilitata per impostazione predefinita (OpenClaw ha giร la persistenza nativa delle sessioni in
.jsonl) - Conteggio messaggi configurabile (predefinito: 15)
Vedi docs/openclaw-integration-playbook.md per le modalitร di distribuzione e la verifica di /new.
Comandi slash personalizzati (ad es. /lesson)
Aggiungi al tuo CLAUDE.md, AGENTS.md o prompt di sistema:
## /lesson command
When the user sends `/lesson <content>`:
1. Use memory_store to save as category=fact (raw knowledge)
2. Use memory_store to save as category=decision (actionable takeaway)
3. Confirm what was saved
## /remember command
When the user sends `/remember <content>`:
1. Use memory_store to save with appropriate category and importance
2. Confirm with the stored memory ID
Regole d'oro per agenti IA
Copia il blocco seguente nel tuo
AGENTS.mdin modo che il tuo agente applichi queste regole automaticamente.
## Rule 1 โ Dual-layer memory storage
Every pitfall/lesson learned โ IMMEDIATELY store TWO memories:
- Technical layer: Pitfall: [symptom]. Cause: [root cause]. Fix: [solution]. Prevention: [how to avoid]
(category: fact, importance >= 0.8)
- Principle layer: Decision principle ([tag]): [behavioral rule]. Trigger: [when]. Action: [what to do]
(category: decision, importance >= 0.85)
## Rule 2 โ LanceDB hygiene
Entries must be short and atomic (< 500 chars). No raw conversation summaries or duplicates.
## Rule 3 โ Recall before retry
On ANY tool failure, ALWAYS memory_recall with relevant keywords BEFORE retrying.
## Rule 4 โ Confirm target codebase
Confirm you are editing memory-lancedb-pro vs built-in memory-lancedb before changes.
## Rule 5 โ Clear jiti cache after plugin code changes
After modifying .ts files under plugins/, MUST run rm -rf /tmp/jiti/ BEFORE openclaw gateway restart.
Schema del database
Tabella LanceDB memories:
| Campo | Tipo | Descrizione |
|---|---|---|
id | string (UUID) | Chiave primaria |
text | string | Testo del ricordo (indicizzato FTS) |
vector | float[] | Vettore di embedding |
category | string | Categoria di archiviazione: preference / fact / decision / entity / reflection / other |
scope | string | Identificatore scope (ad es. global, agent:main) |
importance | float | Punteggio di importanza 0-1 |
timestamp | int64 | Timestamp di creazione (ms) |
metadata | string (JSON) | Metadati estesi |
Chiavi metadata comuni nella v1.1.0: l0_abstract, l1_overview, l2_content, memory_category, tier, access_count, confidence, last_accessed_at
Nota sulle categorie: Il campo
categorydi primo livello usa 6 categorie di archiviazione. Le 6 etichette semantiche dell'Estrazione Intelligente (profile/preferences/entities/events/cases/patterns) sono memorizzate inmetadata.memory_category.
Risoluzione dei problemi
"Cannot mix BigInt and other types" (LanceDB / Apache Arrow)
Con LanceDB 0.26+, alcune colonne numeriche potrebbero essere restituite come BigInt. Aggiorna a memory-lancedb-pro >= 1.0.14 โ questo plugin ora converte i valori usando Number(...) prima delle operazioni aritmetiche.
Documentazione
| Documento | Descrizione |
|---|---|
| Playbook di integrazione OpenClaw | Modalitร di distribuzione, verifica, matrice di regressione |
| Analisi dell'architettura della memoria | Analisi approfondita dell'architettura completa |
| CHANGELOG v1.1.0 | Modifiche comportamentali v1.1.0 e motivazioni per l'upgrade |
| Chunking contesto lungo | Strategia di chunking per documenti lunghi |
Beta: Smart Memory v1.1.0
Stato: Beta โ disponibile tramite
npm i memory-lancedb-pro@beta. Gli utenti stabili sulatestnon sono interessati.
| Funzionalitร | Descrizione |
|---|---|
| Estrazione intelligente | Estrazione LLM in 6 categorie con metadati L0/L1/L2. Fallback su regex se disabilitato. |
| Punteggio ciclo di vita | Decadimento Weibull integrato nella ricerca โ i ricordi frequenti e importanti si posizionano piรน in alto. |
| Gestione livelli | Sistema a tre livelli (Core โ Working โ Peripheral) con promozione/retrocessione automatica. |
Feedback: GitHub Issues ยท Ripristina: npm i memory-lancedb-pro@latest
Dipendenze
| Pacchetto | Scopo |
|---|---|
@lancedb/lancedb โฅ0.26.2 | Database vettoriale (ANN + FTS) |
openai โฅ6.21.0 | Client API Embedding compatibile OpenAI |
@sinclair/typebox 0.34.48 | Definizioni di tipo JSON Schema |
Contributors
Full list: Contributors
Star History
Licenza
MIT