đ§ 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.
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 automatique | Votre agent apprend de chaque conversation â pas besoin de memory_store manuel |
| Extraction intelligente | Classification LLM en 6 catégories : profils, préférences, entités, événements, cas, patterns |
| Oubli intelligent | ModĂšle de dĂ©croissance Weibull â les souvenirs importants restent, le bruit s'estompe |
| Recherche hybride | Recherche vectorielle + BM25 plein texte, fusionnée avec un reranking cross-encoder |
| Injection de contexte | Les souvenirs pertinents remontent automatiquement avant chaque réponse |
| Isolation multi-scope | Limites mémoire par agent, par utilisateur, par projet |
| Tout fournisseur | OpenAI, Jina, Gemini, Ollama ou toute API compatible OpenAI |
| BoĂźte Ă outils complĂšte | CLI, 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.pathsde votreopenclaw.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 conversationautoRecallâ les souvenirs pertinents sont injectĂ©s avant chaque rĂ©ponseextractMinMessages: 2â l'extraction se dĂ©clenche dans les conversations normales Ă deux tourssessionMemory.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 enabledmemory-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 ?
- Ajoutez le plugin avec un chemin absolu dans
plugins.load.paths - Liez le slot mémoire :
plugins.slots.memory = "memory-lancedb-pro" - 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
Pas un simple installateur â le script gĂšre intelligemment de nombreux scĂ©narios rĂ©els :
| Votre situation | Ce 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 commit | git fetch + checkout automatique vers la derniĂšre version â rĂ©installation des dĂ©pendances â vĂ©rification |
| La config contient des champs invalides | Détection automatique via filtre de schéma, suppression des champs non supportés |
InstallĂ© via npm | Saute la mise Ă jour git, rappelle d'exĂ©cuter npm update soi-mĂȘme |
CLI openclaw cassé à cause d'une config invalide | Solution 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à à jour | Exé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
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Ă©cessiteenableManagementTools: trueâ la config Quick Start par dĂ©faut expose les 4 outils principaux) - Ăvitement des piĂšges courants : activation du plugin workspace,
autoRecallpar 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.
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)
| Fichier | RĂŽle |
|---|---|
index.ts | Point 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.json | Métadonnées du plugin + déclaration complÚte du JSON Schema de config |
cli.ts | Commandes CLI : memory-pro list/search/stats/delete/delete-bulk/export/import/reembed/upgrade/migrate |
src/store.ts | Couche de stockage LanceDB. Création de tables / Indexation FTS / Recherche vectorielle / Recherche BM25 / CRUD |
src/embedder.ts | Abstraction d'embedding. Compatible avec tout fournisseur API compatible OpenAI |
src/retriever.ts | Moteur de recherche hybride. Vectoriel + BM25 â Fusion hybride â Rerank â DĂ©croissance cycle de vie â Filtre |
src/scopes.ts | ContrĂŽle d'accĂšs multi-scope |
src/tools.ts | Définitions des outils agent : memory_recall, memory_store, memory_forget, memory_update + outils de gestion |
src/noise-filter.ts | Filtre les refus d'agent, les méta-questions, les salutations et le contenu de faible qualité |
src/adaptive-retrieval.ts | DĂ©termine si une requĂȘte nĂ©cessite une recherche en mĂ©moire |
src/migrate.ts | Migration depuis memory-lancedb intégré vers Pro |
src/smart-extractor.ts | Extraction LLM en 6 catégories avec stockage L0/L1/L2 et déduplication en deux étapes |
src/decay-engine.ts | ModÚle de décroissance exponentielle étirée Weibull |
src/tier-manager.ts | Promotion/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
| Ătape | Effet |
|---|---|
| Fusion hybride | Combine rappel sémantique et correspondance exacte |
| Rerank Cross-Encoder | Promeut les résultats sémantiquement précis |
| Boost décroissance cycle de vie | Fraßcheur Weibull + fréquence d'accÚs + importance à confiance |
| Normalisation de longueur | EmpĂȘche les entrĂ©es longues de dominer (ancre : 500 caractĂšres) |
| Score minimum dur | Supprime les résultats non pertinents (par défaut : 0.35) |
| DiversitĂ© MMR | SimilaritĂ© 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 :
profilefusionne toujours,events/casesen 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 â Noyauavec 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 scopeagent:<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 vectorielle | Oui | Oui |
| 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 OpenAI | Limité | 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 :
| Fournisseur | ModĂšle | Base URL | Dimensions |
|---|---|---|---|
| Jina (recommandé) | 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 (local) | nomic-embed-text | http://localhost:11434/v1 | selon le modĂšle |
Fournisseurs de reranking
Le reranking cross-encoder supporte plusieurs fournisseurs via rerankProvider :
| Fournisseur | rerankProvider | ModĂšle exemple |
|---|---|---|
| Jina (par défaut) | jina | jina-reranker-v3 |
| SiliconFlow (niveau gratuit disponible) | siliconflow | BAAI/bge-reranker-v2-m3 |
| Voyage AI | voyage | rerank-2.5 |
| Pinecone | pinecone | bge-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.
| Champ | Type | Défaut | Description |
|---|---|---|---|
smartExtraction | boolean | true | Activer/désactiver l'extraction LLM en 6 catégories |
llm.auth | string | api-key | api-key utilise llm.apiKey / embedding.apiKey ; oauth utilise un fichier token OAuth au niveau plugin |
llm.apiKey | string | (repli sur embedding.apiKey) | Clé API pour le fournisseur LLM |
llm.model | string | openai/gpt-oss-120b | Nom du modĂšle LLM |
llm.baseURL | string | (repli sur embedding.baseURL) | Point de terminaison API LLM |
llm.oauthProvider | string | openai-codex | ID du fournisseur OAuth utilisé quand llm.auth est oauth |
llm.oauthPath | string | ~/.openclaw/.memory-lancedb-pro/oauth.json | Fichier token OAuth utilisé quand llm.auth est oauth |
llm.timeoutMs | number | 30000 | Timeout des requĂȘtes LLM en millisecondes |
extractMinMessages | number | 2 | Nombre minimum de messages avant le déclenchement de l'extraction |
extractMaxChars | number | 8000 | Nombre 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.oauthProviderest actuellementopenai-codex.- Les tokens OAuth sont stockés par défaut dans
~/.openclaw/.memory-lancedb-pro/oauth.json. - Vous pouvez définir
llm.oauthPathsi vous souhaitez stocker ce fichier ailleurs. auth loginsauvegarde la configurationllmapi-key précédente à cÎté du fichier OAuth, etauth logoutrestaure cette sauvegarde lorsqu'elle est disponible.- Passer de
api-keyĂoauthne transfĂšre pas automatiquementllm.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)
| Champ | Défaut | Description |
|---|---|---|
decay.recencyHalfLifeDays | 30 | Demi-vie de base pour la décroissance Weibull |
decay.frequencyWeight | 0.3 | Poids de la fréquence d'accÚs dans le score composite |
decay.intrinsicWeight | 0.3 | Poids de importance Ă confiance |
decay.betaCore | 0.8 | Beta Weibull pour les souvenirs noyau |
decay.betaWorking | 1.0 | Beta Weibull pour les souvenirs travail |
decay.betaPeripheral | 1.3 | Beta Weibull pour les souvenirs périphériques |
tier.coreAccessThreshold | 10 | Nombre minimum de rappels avant promotion en noyau |
tier.peripheralAgeDays | 60 | Seuil 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 Ă0pour dĂ©sactivermaxHalfLifeMultiplier(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 :
- Exécutez
openclaw memory-pro auth login - Si
--providerest omis dans un terminal interactif, la CLI affiche un sélecteur de fournisseur OAuth avant d'ouvrir le navigateur - La commande affiche une URL d'autorisation et ouvre votre navigateur sauf si
--no-browserest défini - 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 configurationllmapi-key précédente pour la déconnexion, et remplace la configurationllmdu plugin par les paramÚtres OAuth (auth,oauthProvider,model,oauthPath) openclaw memory-pro auth logoutsupprime ce fichier OAuth et restaure la configurationllmapi-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.mdpour 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 :
| Champ | Type | Description |
|---|---|---|
id | string (UUID) | Clé primaire |
text | string | Texte du souvenir (indexé FTS) |
vector | float[] | Vecteur d'embedding |
category | string | Catégorie de stockage : preference / fact / decision / entity / reflection / other |
scope | string | Identifiant de scope (ex. global, agent:main) |
importance | float | Score d'importance 0-1 |
timestamp | int64 | Horodatage de création (ms) |
metadata | string (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
categoryde 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 dansmetadata.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
| Document | Description |
|---|---|
| Playbook d'intégration OpenClaw | Modes de déploiement, vérification, matrice de régression |
| Analyse de l'architecture mémoire | Analyse approfondie de l'architecture complÚte |
| CHANGELOG v1.1.0 | Changements de comportement v1.1.0 et justification de la mise Ă niveau |
| Chunking long contexte | Straté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 surlatestne sont pas affectés.
| Fonctionnalité | Description |
|---|---|
| Extraction intelligente | Extraction LLM en 6 catégories avec métadonnées L0/L1/L2. Repli sur regex si désactivé. |
| Scoring du cycle de vie | DĂ©croissance Weibull intĂ©grĂ©e Ă la recherche â les souvenirs frĂ©quents et importants sont mieux classĂ©s. |
| Gestion des niveaux | SystĂš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
| Package | RĂŽle |
|---|---|
@lancedb/lancedb â„0.26.2 | Base de donnĂ©es vectorielle (ANN + FTS) |
openai â„6.21.0 | Client API d'embedding compatible OpenAI |
@sinclair/typebox 0.34.48 | Définitions de types JSON Schema |
Contributors
Full list: Contributors
Star History
Licence
MIT