Le plugin OpenClaw ajoute une mémoire persistante avec le serveur Engram.

✍️ OpenClawRadar📅 Publié: April 14, 2026🔗 Source
Le plugin OpenClaw ajoute une mémoire persistante avec le serveur Engram.
Ad

Un développeur a créé un plugin TypeScript qui connecte les agents OpenClaw à Engram, un serveur de mémoire léger basé sur Go qui stocke des observations structurées dans SQLite avec la recherche en texte intégral FTS5. Cela fournit une mémoire à long terme pour les agents qui survit aux redémarrages, aux compactions et aux fins de session.

Fonctionnement

Le plugin intercepte les messages entrants avant chaque tour d'agent, extrait les mots-clés, recherche dans Engram et injecte automatiquement les mémoires pertinentes dans l'invite. Cela se fait via une recherche de repli progressive : FTS5 utilise une logique ET, donc le système supprime les mots-clés un par un jusqu'à ce qu'une correspondance soit trouvée. Les résultats sont notés par pertinence BM25, et le plugin ignore tout ce qui a déjà été injecté dans la session pour éviter la répétition du contexte.

Ce que les agents sauvegardent

Les mémoires ne sont pas des copies de discussions mais des observations typées avec des catégories comme decision, bugfix, config, procedure, discovery et pattern. Elles sont étiquetées avec des projets et des clés de sujet. Lorsqu'un agent sauvegarde quelque chose avec la même topic_key qu'une mémoire existante, il met à jour au lieu de dupliquer, permettant à la connaissance d'évoluer sur place.

Les exemples de ce qui est stocké incluent les préférences et contraintes d'infrastructure, les identifiants de service et les wrappers CLI pour chaque environnement, les réservations de ports et conventions de déploiement, ainsi que les procédures étape par étape pour les tâches récurrentes.

Ad

Détails techniques

Le plugin fait environ 750 lignes de TypeScript et donne aux agents 11 outils, 4 crochets de cycle de vie et un CLI. Il utilise l'espace de noms engram_* pour coexister avec la mémoire Markdown intégrée d'OpenClaw sans conflits.

Détails clés de mise en œuvre :

  • Supprime les métadonnées de canal (cadrage Mattermost/Telegram, horodatages) avant la recherche pour éviter des résultats pollués
  • Supprime les mots vides et extrait les mots-clés significatifs
  • Dimensionne dynamiquement les extraits : 1 résultat obtient plus de détails, 5 résultats obtiennent des résumés plus courts
  • Injecte tout avec des ID d'observation pour que les agents puissent appeler engram_get pour le contenu complet

Exigences d'installation

  • Installer Engram : brew install gentleman-programming/tap/engram ou télécharger le binaire
  • Exécuter engram serve (port par défaut 7437, base de données SQLite, configuration zéro)
  • Cloner le plugin et utiliser npm pour l'installation
  • Définir tools.profile: "full" dans votre configuration pour rendre les outils du plugin visibles aux agents

Problèmes rencontrés et solutions

  • Logique ET de FTS5 : Rechercher "kubernetes cluster configuration" ne retourne rien si un seul terme n'est pas indexé. Résolu avec le repli progressif des mots-clés.
  • Métadonnées de canal dans les invites : Les messages de Mattermost arrivent avec un cadrage qui pollue les recherches. La solution est de supprimer d'abord les métadonnées.
  • Outils du plugin invisibles pour les agents : Le tools.profile: "coding" d'OpenClaw filtre les outils enregistrés par le plugin. La solution est tools.profile: "full".

📖 Lire la source complète : r/openclaw

Ad

👀 See Also