🧠 memory-lancedb-pro

April 4, 2026 · View on GitHub

🧠 memory-lancedb-pro · 🩞OpenClaw Plugin

Assistant Mémoire IA pour les Agents OpenClaw

Donnez à votre agent IA un cerveau qui se souvient vraiment — entre les sessions, entre les agents, dans le temps.

Un plugin de mémoire long terme pour OpenClaw basé sur LanceDB qui stocke les préférences, les décisions et le contexte du projet, puis les rappelle automatiquement dans les sessions futures.

OpenClaw Plugin npm version LanceDB License: MIT

English | çź€äœ“äž­æ–‡ | çčé«”äž­æ–‡ | æ—„æœŹèȘž | 한ꔭ얎 | Français | Español | Deutsch | Italiano | РуссĐșĐžĐč | PortuguĂȘs (Brasil)


Pourquoi memory-lancedb-pro ?

La plupart des agents IA souffrent d'amnésie. Ils oublient tout dÚs que vous démarrez une nouvelle conversation.

memory-lancedb-pro est un plugin de mĂ©moire long terme de niveau production pour OpenClaw qui transforme votre agent en un vĂ©ritable Assistant MĂ©moire IA — il capture automatiquement ce qui compte, laisse le bruit s'estomper naturellement et retrouve le bon souvenir au bon moment. Pas d'Ă©tiquetage manuel, pas de configuration compliquĂ©e.

Votre Assistant Mémoire IA en action

Sans mĂ©moire — chaque session repart de zĂ©ro :

Vous : « Utilise des tabulations pour l'indentation, ajoute toujours la gestion d'erreurs. » (session suivante) Vous : « Je t'ai dĂ©jĂ  dit — des tabulations, pas des espaces ! » đŸ˜€ (session suivante) Vous : « 
sĂ©rieusement, des tabulations. Et la gestion d'erreurs. Encore. »

Avec memory-lancedb-pro — votre agent apprend et se souvient :

Vous : « Utilise des tabulations pour l'indentation, ajoute toujours la gestion d'erreurs. » (session suivante — l'agent rappelle automatiquement vos prĂ©fĂ©rences) Agent : (applique silencieusement tabulations + gestion d'erreurs) ✅ Vous : « Pourquoi avons-nous choisi PostgreSQL plutĂŽt que MongoDB le mois dernier ? » Agent : « Selon notre discussion du 12 fĂ©vrier, les raisons principales Ă©taient
 » ✅

VoilĂ  la diffĂ©rence que fait un Assistant MĂ©moire IA — il apprend votre style, rappelle les dĂ©cisions passĂ©es et fournit des rĂ©ponses personnalisĂ©es sans que vous ayez Ă  vous rĂ©pĂ©ter.

Que peut-il faire d'autre ?

Ce que vous obtenez
Capture automatiqueVotre agent apprend de chaque conversation — pas besoin de memory_store manuel
Extraction intelligenteClassification LLM en 6 catégories : profils, préférences, entités, événements, cas, patterns
Oubli intelligentModĂšle de dĂ©croissance Weibull — les souvenirs importants restent, le bruit s'estompe
Recherche hybrideRecherche vectorielle + BM25 plein texte, fusionnée avec un reranking cross-encoder
Injection de contexteLes souvenirs pertinents remontent automatiquement avant chaque réponse
Isolation multi-scopeLimites mémoire par agent, par utilisateur, par projet
Tout fournisseurOpenAI, Jina, Gemini, Ollama ou toute API compatible OpenAI
BoĂźte Ă  outils complĂšteCLI, sauvegarde, migration, mise Ă  niveau, export/import — prĂȘt pour la production

Démarrage rapide

PrĂ©requis CPU : Votre CPU doit supporter les instructions AVX/AVX2 (Intel Sandy Bridge 2011+ / AMD Bulldozer 2011+). Le moteur vectoriel natif de LanceDB les requiert — sur les CPU non compatibles, le plugin plantera avec SIGILL (Instruction illĂ©gale). VĂ©rifiez avec : grep -o 'avx[^ ]*' /proc/cpuinfo | head -1 (pas de sortie = non supportĂ©). Voir #419.

Option A : Script d'installation en un clic (recommandé)

Le script d'installation maintenu par la communauté gÚre l'installation, la mise à niveau et la réparation en une seule commande :

curl -fsSL https://raw.githubusercontent.com/CortexReach/toolbox/main/memory-lancedb-pro-setup/setup-memory.sh -o setup-memory.sh
bash setup-memory.sh

Consultez ÉcosystĂšme ci-dessous pour la liste complĂšte des scĂ©narios couverts et les autres outils communautaires.

Option B : Installation manuelle

Via OpenClaw CLI (recommandé) :

openclaw plugins install memory-lancedb-pro@beta

Ou via npm :

npm i memory-lancedb-pro@beta

Si vous utilisez npm, vous devrez également ajouter le répertoire d'installation du plugin comme chemin absolu dans plugins.load.paths de votre openclaw.json. C'est le problÚme de configuration le plus courant.

Ajoutez Ă  votre 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 }
        }
      }
    }
  }
}

Pourquoi ces valeurs par défaut ?

  • autoCapture + smartExtraction → votre agent apprend automatiquement de chaque conversation
  • autoRecall → les souvenirs pertinents sont injectĂ©s avant chaque rĂ©ponse
  • extractMinMessages: 2 → l'extraction se dĂ©clenche dans les conversations normales Ă  deux tours
  • sessionMemory.enabled: false → Ă©vite de polluer la recherche avec des rĂ©sumĂ©s de session au dĂ©but

Validez et redémarrez :

openclaw config validate
openclaw gateway restart
openclaw logs --follow --plain | grep "memory-lancedb-pro"

Vous devriez voir :

  • memory-lancedb-pro: smart extraction enabled
  • memory-lancedb-pro@...: plugin registered

Terminé ! Votre agent dispose maintenant d'une mémoire long terme.

Plus de chemins d'installation (utilisateurs existants, mises Ă  niveau)

Déjà utilisateur d'OpenClaw ?

  1. Ajoutez le plugin avec un chemin absolu dans plugins.load.paths
  2. Liez le slot mémoire : plugins.slots.memory = "memory-lancedb-pro"
  3. Vérifiez : openclaw plugins info memory-lancedb-pro && openclaw memory-pro stats

Mise à niveau depuis une version antérieure à v1.1.0 ?

# 1) Sauvegarde
openclaw memory-pro export --scope global --output memories-backup.json
# 2) Simulation
openclaw memory-pro upgrade --dry-run
# 3) Exécution de la mise à niveau
openclaw memory-pro upgrade
# 4) Vérification
openclaw memory-pro stats

Consultez CHANGELOG-v1.1.0.md pour les changements de comportement et la justification de la mise Ă  niveau.

Import rapide Telegram Bot (cliquez pour développer)

Si vous utilisez l'intégration Telegram d'OpenClaw, le plus simple est d'envoyer une commande d'import directement au Bot principal au lieu de modifier manuellement la configuration.

Envoyez ce message :

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

Écosystùme

memory-lancedb-pro est le plugin principal. La communauté a construit des outils autour pour faciliter l'installation et l'utilisation quotidienne :

Script d'installation — Installation, mise Ă  niveau et rĂ©paration en un clic

CortexReach/toolbox/memory-lancedb-pro-setup

Pas un simple installateur — le script gĂšre intelligemment de nombreux scĂ©narios rĂ©els :

Votre situationCe que fait le script
Jamais installĂ©TĂ©lĂ©chargement → installation des dĂ©pendances → choix de la config → Ă©criture dans openclaw.json → redĂ©marrage
InstallĂ© via git clone, bloquĂ© sur un ancien commitgit fetch + checkout automatique vers la derniĂšre version → rĂ©installation des dĂ©pendances → vĂ©rification
La config contient des champs invalidesDétection automatique via filtre de schéma, suppression des champs non supportés
InstallĂ© via npmSaute la mise Ă  jour git, rappelle d'exĂ©cuter npm update soi-mĂȘme
CLI openclaw cassé à cause d'une config invalideSolution de repli : lecture directe du chemin workspace depuis le fichier openclaw.json
extensions/ au lieu de plugins/Détection automatique de l'emplacement du plugin depuis la config ou le systÚme de fichiers
Déjà à jourExécution des vérifications de santé uniquement, aucune modification
bash setup-memory.sh                    # Installer ou mettre Ă  niveau
bash setup-memory.sh --dry-run          # Aperçu uniquement
bash setup-memory.sh --beta             # Inclure les versions pré-release
bash setup-memory.sh --uninstall        # Restaurer la config et supprimer le plugin

Presets de fournisseurs intégrés : Jina / DashScope / SiliconFlow / OpenAI / Ollama, ou apportez votre propre API compatible OpenAI. Pour l'utilisation complÚte (incluant --ref, --selfcheck-only, etc.), consultez le README du script d'installation.

Claude Code / OpenClaw Skill — Configuration guidĂ©e par IA

CortexReach/memory-lancedb-pro-skill

Installez ce Skill et votre agent IA (Claude Code ou OpenClaw) acquiert une connaissance approfondie de toutes les fonctionnalités de memory-lancedb-pro. Dites simplement « aide-moi à activer la meilleure config » et obtenez :

  • Workflow de configuration guidĂ© en 7 Ă©tapes avec 4 plans de dĂ©ploiement :
    • Full Power (Jina + OpenAI) / Budget (reranker SiliconFlow gratuit) / Simple (OpenAI uniquement) / EntiĂšrement local (Ollama, zĂ©ro coĂ»t API)
  • Les 9 outils MCP utilisĂ©s correctement : memory_recall, memory_store, memory_forget, memory_update, memory_stats, memory_list, self_improvement_log, self_improvement_extract_skill, self_improvement_review (l'ensemble complet nĂ©cessite enableManagementTools: true — la config Quick Start par dĂ©faut expose les 4 outils principaux)
  • Évitement des piĂšges courants : activation du plugin workspace, autoRecall par dĂ©faut Ă  false, cache jiti, variables d'environnement, isolation des scopes, etc.

Installation pour Claude Code :

git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.claude/skills/memory-lancedb-pro

Installation pour OpenClaw :

git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.openclaw/workspace/skills/memory-lancedb-pro-skill

Tutoriel vidéo

Présentation complÚte : installation, configuration et fonctionnement interne de la recherche hybride.

YouTube Video https://youtu.be/MtukF1C8epQ

Bilibili Video https://www.bilibili.com/video/BV1zUf2BGEgn/


Architecture

┌─────────────────────────────────────────────────────────┐
│                   index.ts (Point d'entrĂ©e)             │
│  Enregistrement du plugin · Parsing config · Hooks      │
└────────┬──────────┬──────────┬──────────┬───────────────┘
         │          │          │          │
    ┌────▌───┐ ┌────▌───┐ ┌───▌────┐ ┌──▌──────────┐
    │ store  │ │embedder│ │retriever│ │   scopes    │
    │ .ts    │ │ .ts    │ │ .ts    │ │    .ts      │
    └────────┘ └────────┘ └────────┘ └─────────────┘
         │                     │
    ┌────▌───┐           ┌─────▌──────────┐
    │migrate │           │noise-filter.ts │
    │ .ts    │           │adaptive-       │
    └────────┘           │retrieval.ts    │
                         └────────────────┘
    ┌─────────────┐   ┌──────────┐
    │  tools.ts   │   │  cli.ts  │
    │ (API Agent) │   │ (CLI)    │
    └─────────────┘   └──────────┘

Pour une analyse approfondie de l'architecture complĂšte, consultez docs/memory_architecture_analysis.md.

Référence des fichiers (cliquez pour développer)
FichierRĂŽle
index.tsPoint d'entrée du plugin. S'enregistre auprÚs de l'API Plugin OpenClaw, parse la config, monte les hooks de cycle de vie
openclaw.plugin.jsonMétadonnées du plugin + déclaration complÚte du JSON Schema de config
cli.tsCommandes CLI : memory-pro list/search/stats/delete/delete-bulk/export/import/reembed/upgrade/migrate
src/store.tsCouche de stockage LanceDB. Création de tables / Indexation FTS / Recherche vectorielle / Recherche BM25 / CRUD
src/embedder.tsAbstraction d'embedding. Compatible avec tout fournisseur API compatible OpenAI
src/retriever.tsMoteur de recherche hybride. Vectoriel + BM25 → Fusion hybride → Rerank → DĂ©croissance cycle de vie → Filtre
src/scopes.tsContrĂŽle d'accĂšs multi-scope
src/tools.tsDéfinitions des outils agent : memory_recall, memory_store, memory_forget, memory_update + outils de gestion
src/noise-filter.tsFiltre les refus d'agent, les méta-questions, les salutations et le contenu de faible qualité
src/adaptive-retrieval.tsDĂ©termine si une requĂȘte nĂ©cessite une recherche en mĂ©moire
src/migrate.tsMigration depuis memory-lancedb intégré vers Pro
src/smart-extractor.tsExtraction LLM en 6 catégories avec stockage L0/L1/L2 et déduplication en deux étapes
src/decay-engine.tsModÚle de décroissance exponentielle étirée Weibull
src/tier-manager.tsPromotion/rĂ©trogradation Ă  trois niveaux : PĂ©riphĂ©rique ↔ Travail ↔ Noyau

Fonctionnalités principales

Recherche hybride

RequĂȘte → embedQuery() ─┐
                         ├─→ Fusion hybride → Rerank → Boost dĂ©croissance → Normalisation longueur → Filtre
RequĂȘte → BM25 FTS ─────┘
  • Recherche vectorielle — similaritĂ© sĂ©mantique via LanceDB ANN (distance cosinus)
  • Recherche plein texte BM25 — correspondance exacte de mots-clĂ©s via l'index FTS de LanceDB
  • Fusion hybride — score vectoriel comme base, les rĂ©sultats BM25 reçoivent un boost pondĂ©rĂ© (pas du RRF standard — optimisĂ© pour la qualitĂ© de rappel rĂ©elle)
  • Poids configurables — vectorWeight, bm25Weight, minScore

Reranking Cross-Encoder

  • Adaptateurs intĂ©grĂ©s pour Jina, SiliconFlow, Voyage AI et Pinecone
  • Compatible avec tout endpoint compatible Jina (ex. Hugging Face TEI, DashScope)
  • Scoring hybride : 60% cross-encoder + 40% score fusionnĂ© original
  • DĂ©gradation gracieuse : repli sur la similaritĂ© cosinus en cas d'Ă©chec API

Pipeline de scoring multi-étapes

ÉtapeEffet
Fusion hybrideCombine rappel sémantique et correspondance exacte
Rerank Cross-EncoderPromeut les résultats sémantiquement précis
Boost dĂ©croissance cycle de vieFraĂźcheur Weibull + frĂ©quence d'accĂšs + importance × confiance
Normalisation de longueurEmpĂȘche les entrĂ©es longues de dominer (ancre : 500 caractĂšres)
Score minimum durSupprime les résultats non pertinents (par défaut : 0.35)
DiversitĂ© MMRSimilaritĂ© cosinus > 0.85 → rĂ©trogradĂ©

Extraction mémoire intelligente (v1.1.0)

  • Extraction LLM en 6 catĂ©gories : profil, prĂ©fĂ©rences, entitĂ©s, Ă©vĂ©nements, cas, patterns
  • Stockage par couches L0/L1/L2 : L0 (index en une phrase) → L1 (rĂ©sumĂ© structurĂ©) → L2 (rĂ©cit complet)
  • DĂ©duplication en deux Ă©tapes : prĂ©-filtre de similaritĂ© vectorielle (≄0.7) → dĂ©cision sĂ©mantique LLM (CREATE/MERGE/SKIP)
  • Fusion sensible aux catĂ©gories : profile fusionne toujours, events/cases en ajout uniquement

Gestion du cycle de vie mémoire (v1.1.0)

  • Moteur de dĂ©croissance Weibull : score composite = fraĂźcheur + frĂ©quence + valeur intrinsĂšque
  • Promotion Ă  trois niveaux : PĂ©riphĂ©rique ↔ Travail ↔ Noyau avec seuils configurables
  • Renforcement par accĂšs : les souvenirs frĂ©quemment rappelĂ©s dĂ©croissent plus lentement (style rĂ©pĂ©tition espacĂ©e)
  • Demi-vie modulĂ©e par l'importance : les souvenirs importants dĂ©croissent plus lentement

Isolation multi-scope

  • Scopes intĂ©grĂ©s : global, agent:<id>, custom:<name>, project:<id>, user:<id>
  • ContrĂŽle d'accĂšs au niveau agent via scopes.agentAccess
  • Par dĂ©faut : chaque agent accĂšde Ă  global + son propre scope agent:<id>

Capture automatique et rappel automatique

  • Capture auto (agent_end) : extrait prĂ©fĂ©rences/faits/dĂ©cisions/entitĂ©s des conversations, dĂ©duplique, stocke jusqu'Ă  3 par tour
  • Rappel auto (before_agent_start) : injecte le contexte <relevant-memories> (jusqu'Ă  3 entrĂ©es)

Filtrage du bruit et recherche adaptative

  • Filtre le contenu de faible qualitĂ© : refus d'agent, mĂ©ta-questions, salutations
  • Ignore la recherche pour : salutations, commandes slash, confirmations simples, emoji
  • Force la recherche pour les mots-clĂ©s mĂ©moire (« souviens-toi », « prĂ©cĂ©demment », « la derniĂšre fois »)
  • Seuils CJK (chinois : 6 caractĂšres vs anglais : 15 caractĂšres)

Comparaison avec memory-lancedb intégré (cliquez pour développer)
Fonctionnalitémemory-lancedb intégrémemory-lancedb-pro
Recherche vectorielleOuiOui
Recherche plein texte BM25-Oui
Fusion hybride (Vectoriel + BM25)-Oui
Rerank cross-encoder (multi-fournisseur)-Oui
Boost de fraßcheur et décroissance temporelle-Oui
Normalisation de longueur-Oui
Diversité MMR-Oui
Isolation multi-scope-Oui
Filtrage du bruit-Oui
Recherche adaptative-Oui
CLI de gestion-Oui
Mémoire de session-Oui
Embeddings sensibles aux tĂąches-Oui
Extraction intelligente LLM (6 catégories)-Oui (v1.1.0)
Décroissance Weibull + Promotion par niveaux-Oui (v1.1.0)
Tout embedding compatible OpenAILimitéOui

Configuration

Exemple de configuration complĂšte
{
  "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
}
Fournisseurs d'embedding

Fonctionne avec toute API d'embedding compatible OpenAI :

FournisseurModĂšleBase URLDimensions
Jina (recommandé)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 (local)nomic-embed-texthttp://localhost:11434/v1selon le modĂšle
Fournisseurs de reranking

Le reranking cross-encoder supporte plusieurs fournisseurs via rerankProvider :

FournisseurrerankProviderModĂšle exemple
Jina (par défaut)jinajina-reranker-v3
SiliconFlow (niveau gratuit disponible)siliconflowBAAI/bge-reranker-v2-m3
Voyage AIvoyagererank-2.5
Pineconepineconebge-reranker-v2-m3

Tout endpoint de reranking compatible Jina fonctionne Ă©galement — dĂ©finissez rerankProvider: "jina" et pointez rerankEndpoint vers votre service (ex. Hugging Face TEI, DashScope qwen3-rerank).

Extraction intelligente (LLM) — v1.1.0

Quand smartExtraction est activé (par défaut : true), le plugin utilise un LLM pour extraire et classifier intelligemment les souvenirs au lieu de déclencheurs basés sur des regex.

ChampTypeDéfautDescription
smartExtractionbooleantrueActiver/désactiver l'extraction LLM en 6 catégories
llm.authstringapi-keyapi-key utilise llm.apiKey / embedding.apiKey ; oauth utilise un fichier token OAuth au niveau plugin
llm.apiKeystring(repli sur embedding.apiKey)Clé API pour le fournisseur LLM
llm.modelstringopenai/gpt-oss-120bNom du modĂšle LLM
llm.baseURLstring(repli sur embedding.baseURL)Point de terminaison API LLM
llm.oauthProviderstringopenai-codexID du fournisseur OAuth utilisé quand llm.auth est oauth
llm.oauthPathstring~/.openclaw/.memory-lancedb-pro/oauth.jsonFichier token OAuth utilisé quand llm.auth est oauth
llm.timeoutMsnumber30000Timeout des requĂȘtes LLM en millisecondes
extractMinMessagesnumber2Nombre minimum de messages avant le déclenchement de l'extraction
extractMaxCharsnumber8000Nombre maximum de caractÚres envoyés au LLM

OAuth llm config (utiliser le cache de connexion Codex / ChatGPT existant pour les appels LLM) :

{
  "llm": {
    "auth": "oauth",
    "oauthProvider": "openai-codex",
    "model": "gpt-5.4",
    "oauthPath": "${HOME}/.openclaw/.memory-lancedb-pro/oauth.json",
    "timeoutMs": 30000
  }
}

Notes pour llm.auth: "oauth" :

  • llm.oauthProvider est actuellement openai-codex.
  • Les tokens OAuth sont stockĂ©s par dĂ©faut dans ~/.openclaw/.memory-lancedb-pro/oauth.json.
  • Vous pouvez dĂ©finir llm.oauthPath si vous souhaitez stocker ce fichier ailleurs.
  • auth login sauvegarde la configuration llm api-key prĂ©cĂ©dente Ă  cĂŽtĂ© du fichier OAuth, et auth logout restaure cette sauvegarde lorsqu'elle est disponible.
  • Passer de api-key Ă  oauth ne transfĂšre pas automatiquement llm.baseURL. DĂ©finissez-le manuellement en mode OAuth uniquement si vous souhaitez intentionnellement un backend personnalisĂ© compatible ChatGPT/Codex.
Configuration du cycle de vie (Décroissance + Niveaux)
ChampDéfautDescription
decay.recencyHalfLifeDays30Demi-vie de base pour la décroissance Weibull
decay.frequencyWeight0.3Poids de la fréquence d'accÚs dans le score composite
decay.intrinsicWeight0.3Poids de importance × confiance
decay.betaCore0.8Beta Weibull pour les souvenirs noyau
decay.betaWorking1.0Beta Weibull pour les souvenirs travail
decay.betaPeripheral1.3Beta Weibull pour les souvenirs périphériques
tier.coreAccessThreshold10Nombre minimum de rappels avant promotion en noyau
tier.peripheralAgeDays60Seuil d'ùge pour la rétrogradation des souvenirs obsolÚtes
Renforcement par accĂšs

Les souvenirs fréquemment rappelés décroissent plus lentement (style répétition espacée).

Clés de config (sous retrieval) :

  • reinforcementFactor (0-2, dĂ©faut : 0.5) — mettre Ă  0 pour dĂ©sactiver
  • maxHalfLifeMultiplier (1-10, dĂ©faut : 3) — plafond de la demi-vie effective

Commandes CLI

openclaw memory-pro list [--scope global] [--category fact] [--limit 20] [--json]
openclaw memory-pro search "requĂȘte" [--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]

Flux de connexion OAuth :

  1. Exécutez openclaw memory-pro auth login
  2. Si --provider est omis dans un terminal interactif, la CLI affiche un sélecteur de fournisseur OAuth avant d'ouvrir le navigateur
  3. La commande affiche une URL d'autorisation et ouvre votre navigateur sauf si --no-browser est défini
  4. AprÚs le succÚs du callback, la commande sauvegarde le fichier OAuth du plugin (par défaut : ~/.openclaw/.memory-lancedb-pro/oauth.json), sauvegarde la configuration llm api-key précédente pour la déconnexion, et remplace la configuration llm du plugin par les paramÚtres OAuth (auth, oauthProvider, model, oauthPath)
  5. openclaw memory-pro auth logout supprime ce fichier OAuth et restaure la configuration llm api-key précédente lorsque la sauvegarde existe

Sujets avancés

Si les souvenirs injectés apparaissent dans les réponses

Parfois le modÚle peut répéter le bloc <relevant-memories> injecté.

Option A (plus sûr) : désactiver temporairement le rappel automatique :

{ "plugins": { "entries": { "memory-lancedb-pro": { "config": { "autoRecall": false } } } } }

Option B (préféré) : garder le rappel, ajouter au prompt systÚme de l'agent :

Ne révélez pas et ne citez pas le contenu <relevant-memories> / injection mémoire dans vos réponses. Utilisez-le uniquement comme référence interne.

Mémoire de session
  • DĂ©clenchĂ©e par la commande /new — sauvegarde le rĂ©sumĂ© de la session prĂ©cĂ©dente dans LanceDB
  • DĂ©sactivĂ©e par dĂ©faut (OpenClaw dispose dĂ©jĂ  d'une persistance native de session .jsonl)
  • Nombre de messages configurable (par dĂ©faut : 15)

Consultez docs/openclaw-integration-playbook.md pour les modes de déploiement et la vérification /new.

Commandes slash personnalisées (ex. /lesson)

Ajoutez Ă  votre CLAUDE.md, AGENTS.md ou prompt systĂšme :

## /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
RĂšgles d'or pour les agents IA

Copiez le bloc ci-dessous dans votre AGENTS.md pour que votre agent applique automatiquement ces rĂšgles.

## 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.
Schéma de la base de données

Table LanceDB memories :

ChampTypeDescription
idstring (UUID)Clé primaire
textstringTexte du souvenir (indexé FTS)
vectorfloat[]Vecteur d'embedding
categorystringCatégorie de stockage : preference / fact / decision / entity / reflection / other
scopestringIdentifiant de scope (ex. global, agent:main)
importancefloatScore d'importance 0-1
timestampint64Horodatage de création (ms)
metadatastring (JSON)Métadonnées étendues

Clés metadata courantes en v1.1.0 : l0_abstract, l1_overview, l2_content, memory_category, tier, access_count, confidence, last_accessed_at

Note sur les catégories : Le champ category de niveau supérieur utilise 6 catégories de stockage. Les 6 labels sémantiques de l'Extraction Intelligente (profile / preferences / entities / events / cases / patterns) sont stockés dans metadata.memory_category.

Dépannage

"Cannot mix BigInt and other types" (LanceDB / Apache Arrow)

Avec LanceDB 0.26+, certaines colonnes numĂ©riques peuvent ĂȘtre retournĂ©es en BigInt. Mettez Ă  niveau vers memory-lancedb-pro >= 1.0.14 — ce plugin convertit maintenant les valeurs avec Number(...) avant les opĂ©rations arithmĂ©tiques.


Documentation

DocumentDescription
Playbook d'intégration OpenClawModes de déploiement, vérification, matrice de régression
Analyse de l'architecture mémoireAnalyse approfondie de l'architecture complÚte
CHANGELOG v1.1.0Changements de comportement v1.1.0 et justification de la mise Ă  niveau
Chunking long contexteStratégie de chunking pour les longs documents

Beta : Smart Memory v1.1.0

Statut : Beta — disponible via npm i memory-lancedb-pro@beta. Les utilisateurs stables sur latest ne sont pas affectĂ©s.

FonctionnalitéDescription
Extraction intelligenteExtraction LLM en 6 catégories avec métadonnées L0/L1/L2. Repli sur regex si désactivé.
Scoring du cycle de vieDĂ©croissance Weibull intĂ©grĂ©e Ă  la recherche — les souvenirs frĂ©quents et importants sont mieux classĂ©s.
Gestion des niveauxSystĂšme Ă  trois niveaux (Noyau → Travail → PĂ©riphĂ©rique) avec promotion/rĂ©trogradation automatique.

Retours : GitHub Issues · Retour en arriÚre : npm i memory-lancedb-pro@latest


Dépendances

PackageRĂŽle
@lancedb/lancedb ≄0.26.2Base de donnĂ©es vectorielle (ANN + FTS)
openai ≄6.21.0Client API d'embedding compatible OpenAI
@sinclair/typebox 0.34.48Définitions de types JSON Schema

Contributors

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

Full list: Contributors

Star History

Star History Chart

Licence

MIT


Mon QR Code WeChat