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)
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.
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.
| 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 |
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.shConsultez Écosystème ci-dessous pour la liste complète des scénarios couverts et les autres outils communautaires.
Via OpenClaw CLI (recommandé) :
openclaw plugins install memory-lancedb-pro@betaOu via npm :
npm i memory-lancedb-pro@betaSi 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 statsConsultez 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
memory-lancedb-pro est le plugin principal. La communauté a construit des outils autour pour faciliter l'installation et l'utilisation quotidienne :
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 pluginPresets 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.
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-proInstallation pour OpenClaw :
git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.openclaw/workspace/skills/memory-lancedb-pro-skillPrésentation complète : installation, configuration et fonctionnement interne de la recherche hybride.
https://www.bilibili.com/video/BV1zUf2BGEgn/
┌─────────────────────────────────────────────────────────┐
│ 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 |
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
- 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
| É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 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
- 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
- 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 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)
- 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 |
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
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
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 IDRè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
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.
| 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 |
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
| 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 |
Full list: Contributors
MIT