๐Ÿง  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.

OpenClaw Plugin npm version LanceDB License: MIT

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-CaptureIl tuo agente impara da ogni conversazione โ€” nessun memory_store manuale necessario
Estrazione intelligenteClassificazione LLM in 6 categorie: profili, preferenze, entitร , eventi, casi, pattern
Oblio intelligenteModello di decadimento Weibull โ€” i ricordi importanti restano, il rumore svanisce
Ricerca ibridaRicerca vettoriale + BM25 full-text, fusa con reranking cross-encoder
Iniezione di contestoI ricordi rilevanti emergono automaticamente prima di ogni risposta
Isolamento multi-scopeConfini di memoria per agente, per utente, per progetto
Qualsiasi providerOpenAI, Jina, Gemini, Ollama o qualsiasi API compatibile OpenAI
Toolkit completoCLI, 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.paths nel tuo openclaw.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 conversazione
  • autoRecall โ†’ i ricordi rilevanti vengono iniettati prima di ogni risposta
  • extractMinMessages: 2 โ†’ l'estrazione si attiva nelle normali chat a due turni
  • sessionMemory.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 enabled
  • memory-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?

  1. Aggiungi il plugin con un percorso assoluto in plugins.load.paths
  2. Associa lo slot di memoria: plugins.slots.memory = "memory-lancedb-pro"
  3. 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

CortexReach/toolbox/memory-lancedb-pro-setup

Non รจ un semplice installer โ€” lo script gestisce in modo intelligente numerosi scenari reali:

La tua situazioneCosa fa lo script
Mai installatoDownload โ†’ installazione dipendenze โ†’ scelta configurazione โ†’ scrittura in openclaw.json โ†’ riavvio
Installato tramite git clone, bloccato su un vecchio commitgit fetch + checkout automatico all'ultima versione โ†’ reinstallazione dipendenze โ†’ verifica
La configurazione ha campi non validiRilevamento automatico tramite filtro schema, rimozione campi non supportati
Installato tramite npmSalta l'aggiornamento git, ricorda di eseguire npm update autonomamente
CLI openclaw non funzionante per configurazione non validaFallback: lettura diretta del percorso workspace dal file openclaw.json
extensions/ invece di plugins/Rilevamento automatico della posizione del plugin da configurazione o filesystem
Giร  aggiornatoSolo 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

CortexReach/memory-lancedb-pro-skill

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 richiede enableManagementTools: true โ€” la configurazione Quick Start predefinita espone i 4 strumenti principali)
  • Prevenzione delle insidie comuni: attivazione plugin workspace, autoRecall predefinito 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.

YouTube Video https://youtu.be/MtukF1C8epQ

Bilibili Video 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)
FileScopo
index.tsPunto di ingresso del plugin. Si registra con l'API Plugin di OpenClaw, analizza la configurazione, monta gli hook del ciclo di vita
openclaw.plugin.jsonMetadati del plugin + dichiarazione completa della configurazione JSON Schema
cli.tsComandi CLI: memory-pro list/search/stats/delete/delete-bulk/export/import/reembed/upgrade/migrate
src/store.tsLayer di storage LanceDB. Creazione tabelle / indicizzazione FTS / ricerca vettoriale / ricerca BM25 / CRUD
src/embedder.tsAstrazione embedding. Compatibile con qualsiasi provider API compatibile OpenAI
src/retriever.tsMotore di ricerca ibrido. Vettoriale + BM25 โ†’ Fusione ibrida โ†’ Rerank โ†’ Decadimento ciclo di vita โ†’ Filtro
src/scopes.tsControllo accessi multi-scope
src/tools.tsDefinizioni degli strumenti agente: memory_recall, memory_store, memory_forget, memory_update + strumenti di gestione
src/noise-filter.tsFiltra rifiuti dell'agente, meta-domande, saluti e contenuti di bassa qualitร 
src/adaptive-retrieval.tsDetermina se una query necessita di ricerca nella memoria
src/migrate.tsMigrazione dal memory-lancedb integrato a Pro
src/smart-extractor.tsEstrazione LLM in 6 categorie con archiviazione a strati L0/L1/L2 e deduplicazione in due fasi
src/decay-engine.tsModello di decadimento esponenziale esteso Weibull
src/tier-manager.tsPromozione/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

FaseEffetto
Fusione ibridaCombina richiamo semantico e corrispondenza esatta
Rerank Cross-EncoderPromuove risultati semanticamente precisi
Boost decadimento ciclo di vitaFreschezza Weibull + frequenza di accesso + importance ร— confidence
Normalizzazione lunghezzaImpedisce alle voci lunghe di dominare (ancora: 500 caratteri)
Punteggio minimo rigidoRimuove risultati irrilevanti (predefinito: 0.35)
Diversitร  MMRSimilaritร  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: profile viene sempre fuso, events/cases solo 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 โ†” Core con 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 scope agent:<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 integratomemory-lancedb-pro
Ricerca vettorialeSรฌ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 OpenAILimitatoSรฌ

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:

ProviderModelloBase URLDimensioni
Jina (consigliato)jina-embeddings-v5-text-smallhttps://api.jina.ai/v11024
OpenAItext-embedding-3-smallhttps://api.openai.com/v11536
Voyagevoyage-4-lite / voyage-4https://api.voyageai.com/v11024 / 1024
Google Geminigemini-embedding-001https://generativelanguage.googleapis.com/v1beta/openai/3072
Ollama (locale)nomic-embed-texthttp://localhost:11434/v1specifico del provider
Provider di rerank

Il reranking cross-encoder supporta piรน provider tramite rerankProvider:

ProviderrerankProviderModello di esempio
Jina (predefinito)jinajina-reranker-v3
SiliconFlow (piano gratuito disponibile)siliconflowBAAI/bge-reranker-v2-m3
Voyage AIvoyagererank-2.5
Pineconepineconebge-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.

CampoTipoPredefinitoDescrizione
smartExtractionbooleantrueAbilita/disabilita l'estrazione LLM in 6 categorie
llm.authstringapi-keyapi-key usa llm.apiKey / embedding.apiKey; oauth usa un file token OAuth con scope plugin per impostazione predefinita
llm.apiKeystring(fallback su embedding.apiKey)Chiave API per il provider LLM
llm.modelstringopenai/gpt-oss-120bNome del modello LLM
llm.baseURLstring(fallback su embedding.baseURL)Endpoint API LLM
llm.oauthProviderstringopenai-codexID del provider OAuth usato quando llm.auth รจ oauth
llm.oauthPathstring~/.openclaw/.memory-lancedb-pro/oauth.jsonFile token OAuth usato quando llm.auth รจ oauth
llm.timeoutMsnumber30000Timeout della richiesta LLM in millisecondi
extractMinMessagesnumber2Messaggi minimi prima che l'estrazione si attivi
extractMaxCharsnumber8000Caratteri 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 รจ attualmente openai-codex.
  • I token OAuth sono salvati di default in ~/.openclaw/.memory-lancedb-pro/oauth.json.
  • Puoi impostare llm.oauthPath se vuoi salvare quel file altrove.
  • auth login crea uno snapshot della configurazione llm precedente con api-key accanto al file OAuth, e auth logout ripristina quello snapshot quando disponibile.
  • Il passaggio da api-key a oauth non trasferisce automaticamente llm.baseURL. Impostalo manualmente in modalitร  OAuth solo quando vuoi intenzionalmente un backend personalizzato compatibile ChatGPT/Codex.
Configurazione ciclo di vita (Decadimento + Livelli)
CampoPredefinitoDescrizione
decay.recencyHalfLifeDays30Emivita base per il decadimento di freschezza Weibull
decay.frequencyWeight0.3Peso della frequenza di accesso nel punteggio composito
decay.intrinsicWeight0.3Peso di importance ร— confidence
decay.betaCore0.8Beta Weibull per i ricordi core
decay.betaWorking1.0Beta Weibull per i ricordi working
decay.betaPeripheral1.3Beta Weibull per i ricordi peripheral
tier.coreAccessThreshold10Conteggio minimo richiami prima della promozione a core
tier.peripheralAgeDays60Soglia 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) โ€” imposta 0 per disabilitare
  • maxHalfLifeMultiplier (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:

  1. Esegui openclaw memory-pro auth login
  2. Se --provider รจ omesso in un terminale interattivo, la CLI mostra un selettore di provider OAuth prima di aprire il browser
  3. Il comando stampa un URL di autorizzazione e apre il browser, a meno che non sia impostato --no-browser
  4. Dopo il successo del callback, il comando salva il file OAuth del plugin (predefinito: ~/.openclaw/.memory-lancedb-pro/oauth.json), crea uno snapshot della configurazione llm precedente con api-key per il logout, e sostituisce la configurazione llm del plugin con le impostazioni OAuth (auth, oauthProvider, model, oauthPath)
  5. openclaw memory-pro auth logout elimina quel file OAuth e ripristina la configurazione llm precedente 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.md in 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:

CampoTipoDescrizione
idstring (UUID)Chiave primaria
textstringTesto del ricordo (indicizzato FTS)
vectorfloat[]Vettore di embedding
categorystringCategoria di archiviazione: preference / fact / decision / entity / reflection / other
scopestringIdentificatore scope (ad es. global, agent:main)
importancefloatPunteggio di importanza 0-1
timestampint64Timestamp di creazione (ms)
metadatastring (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 category di primo livello usa 6 categorie di archiviazione. Le 6 etichette semantiche dell'Estrazione Intelligente (profile / preferences / entities / events / cases / patterns) sono memorizzate in metadata.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

DocumentoDescrizione
Playbook di integrazione OpenClawModalitร  di distribuzione, verifica, matrice di regressione
Analisi dell'architettura della memoriaAnalisi approfondita dell'architettura completa
CHANGELOG v1.1.0Modifiche comportamentali v1.1.0 e motivazioni per l'upgrade
Chunking contesto lungoStrategia di chunking per documenti lunghi

Beta: Smart Memory v1.1.0

Stato: Beta โ€” disponibile tramite npm i memory-lancedb-pro@beta. Gli utenti stabili su latest non sono interessati.

Funzionalitร Descrizione
Estrazione intelligenteEstrazione LLM in 6 categorie con metadati L0/L1/L2. Fallback su regex se disabilitato.
Punteggio ciclo di vitaDecadimento Weibull integrato nella ricerca โ€” i ricordi frequenti e importanti si posizionano piรน in alto.
Gestione livelliSistema a tre livelli (Core โ†’ Working โ†’ Peripheral) con promozione/retrocessione automatica.

Feedback: GitHub Issues ยท Ripristina: npm i memory-lancedb-pro@latest


Dipendenze

PacchettoScopo
@lancedb/lancedb โ‰ฅ0.26.2Database vettoriale (ANN + FTS)
openai โ‰ฅ6.21.0Client API Embedding compatibile OpenAI
@sinclair/typebox 0.34.48Definizioni di tipo JSON Schema

Contributors

@win4r @kctony @Akatsuki-Ryu @JasonSuz @Minidoracat @furedericca-lab @joe2643 @AliceLJY @chenjiyong

Full list: Contributors

Star History

Star History Chart

Licenza

MIT


Il mio QR Code WeChat