claude-mem : une couche de compression pour la mémoire persistante des agents
claude-mem enregistre les observations d'usage des outils pendant une session, les compresse en résumés sémantiques grâce à l'IA, puis n'injecte que la partie pertinente au démarrage de la session suivante : l'agent ne repart plus de zéro. Le projet compte environ 96 000 étoiles et prend en charge Claude Code, OpenClaw, Codex, Gemini ou OpenCode. La compression peut s'appuyer sur son propre observer, une clé OpenRouter ou Gemini, ou un abonnement Anthropic. Le README ne fournit aucune évaluation reproductible : testez l'outil sur votre dépôt et auditez le stockage des données sensibles.
Contexte et définition du problème
Les agents de programmation partagent une faiblesse structurelle : quand la session se termine, le contexte disparaît. Un développeur passe une heure à expliquer à l'agent l'organisation d'un dépôt, les pièges de sa compilation et les compromis de sa conception. Le lendemain, l'agent repart de zéro. Les remèdes habituels ont tous un coût. Un fichier d'instructions écrit à la main, comme CLAUDE.md, dépend d'une personne pour rester à jour, et il vieillit. Rejouer tout l'historique de conversation remplit vite la fenêtre de contexte et consomme des jetons. claude-mem vise cette lacune. L'outil conserve ce que l'agent a fait d'une session à l'autre et n'injecte dans la suivante que la partie pertinente.
Le projet est maintenu par thedotmack et compte environ 96 000 étoiles sur GitHub. Ses sujets incluent ai-memory, long-term-memory, chromadb, sqlite, rag et claude-code-plugin. Selon le README, il est né comme un système de compression de mémoire persistante pour Claude Code. Il cite désormais OpenClaw, Codex, Gemini, Hermes, Copilot et OpenCode comme hôtes, et propose aussi des installations pour Grok Bot, Antigravity CLI et OMP. Une réserve d'emblée : cet article repose sur le README et les métadonnées du dépôt. L'auteur n'a ni déployé l'outil ni mesuré ses performances. Toute description du fonctionnement interne se limite donc à ce que dit le README.
Architecture et principes techniques
Le README décrit une boucle en trois temps : capturer, compresser, injecter. D'abord, le système enregistre les observations liées à l'usage des outils pendant la session. Ensuite, il utilise l'IA pour condenser ces enregistrements bruts en résumés sémantiques. Enfin, au démarrage d'une nouvelle session, il met à disposition de l'agent le contexte compressé pertinent. Les sujets du dépôt citent sqlite et chromadb. Cela suggère des enregistrements structurés dans SQLite et une recherche sémantique dans un magasin vectoriel, une conception hybride courante. Le schéma des tables et la stratégie de classement ne peuvent pas être confirmés à partir de l'extrait du README : cette partie reste une déduction.
Le deuxième point de conception est le mode d'intégration. Pour les hôtes qui exposent des hooks, comme Claude Code, l'installateur enregistre les hooks du plugin et démarre un service worker. Ce service traite l'observation et la compression en arrière-plan, sans bloquer la session principale. Pour les hôtes sans hooks, le README indique que l'outil surveille les fichiers de journal du chat. Grok Bot sert d'exemple. C'est une adaptation pragmatique : elle n'exige aucune API d'événements côté hôte. Le prix à payer est une lecture après coup, si bien que la fraîcheur et la structure dépendent du format du journal.
Le troisième point concerne l'identité de celui qui compresse. Le README liste plusieurs fournisseurs de mémoire : l'observer propre à claude-mem, votre propre clé OpenRouter ou Gemini, ou votre abonnement Anthropic. Un observateur local s'active par l'option --provider host. Cela met un coût caché sur la table. Compresser la mémoire suppose d'appeler un modèle de langage, et cet appel se paie soit avec le quota de votre abonnement, soit en argent chez un tiers.
Évaluation pratique et usages
Le chemin d'installation est court. La commande générale est npx claude-mem install. On peut ajouter --ide opencode, --ide antigravity, --ide omp ou --ide grok-bot pour choisir l'hôte. Dans Claude Code, on exécute /plugin marketplace add thedotmack/claude-mem, puis /plugin install claude-mem, et l'on redémarre. Le README met en garde contre un piège précis : npm install -g claude-mem n'installe que le SDK et la bibliothèque. Il n'enregistre pas les hooks et ne démarre pas le service worker. Il faut passer par l'installateur npx ou par les commandes de plugin. Le parcours de compte mérite aussi l'attention. Par défaut, l'installateur termine la configuration, puis demande de se connecter dans le navigateur par un lien magique envoyé par e-mail. La connexion ouvre un essai gratuit de 14 jours de l'observer claude-mem. À la fin de l'essai, la mémoire revient à votre abonnement Anthropic, sauf si vous souscrivez. Pour éviter la connexion, on passe un indicateur --provider explicite, on définit CLAUDE_MEM_ONLINE_OPTIN=false, ou l'on travaille en CI ou dans un shell non interactif. Une équipe soumise à des obligations de confidentialité doit faire ce choix de façon délibérée au déploiement, et non accepter la valeur par défaut.
Le README décrit aussi un pilote d'« awareness push ». Les observations jugées importantes, de types decision, bugfix, security_alert et sensitive, sont ajoutées sous forme de lignes datées à un journal mensuel de Grok Bot. On peut désactiver la fonction avec CLAUDE_MEM_GROK_BOT_AWARENESS_ENABLED=false. La catégorie sensitive appelle de la prudence : un contenu de ce type atterrit dans un fichier de journal, et l'utilisateur doit vérifier lui-même le masquage et les droits d'accès. La conclusion honnête est que le README ne fournit aucune comparaison reproductible. On ignore la fréquence à laquelle la compression perd un détail clé, celle à laquelle elle fige une conclusion fausse, et la qualité de la recherche. Avant adoption, il faut mener un petit essai sur son propre dépôt et comparer la qualité des tâches et la consommation de jetons avec et sans mémoire.
Impact sur le secteur et perspectives
Un nombre d'étoiles proche de 100 000 montre que la mémoire inter-sessions figure parmi les besoins les plus forts de la chaîne d'outils des agents. Les étiquettes comme mem0, supermemory et openmemory montrent aussi un domaine encombré. Le facteur de différenciation de claude-mem est l'étendue des hôtes pris en charge. Il place une seule couche de mémoire sous de nombreux agents au lieu de se lier à un seul produit. Cela séduit les équipes qui emploient plusieurs agents de programmation, car l'expérience peut circuler d'un outil à l'autre.
Les risques sont tout aussi nets. Premièrement, une couche de mémoire devient une nouvelle frontière de confiance : elle lit chaque résultat d'outil, qui peut contenir des secrets et du code privé. Deuxièmement, les valeurs par défaut hébergées posent la question du flux de données : l'utilisateur doit vérifier quelles parties transitent par un service tiers. Troisièmement, la compression est avec perte, et un mauvais résumé est réinjecté sans cesse comme un fait. Les évolutions probables sont des entrées de mémoire auditables, une mémoire que l'utilisateur peut modifier et supprimer, et des bancs d'essai publics. D'ici là, mieux vaut traiter claude-mem comme un outil à essayer et à auditer, et non comme une infrastructure mûre.
Sources
FAQ
Pourquoi npm install -g claude-mem n'active-t-il pas la mémoire ?
Selon le README, cette commande n'installe que le SDK ou la bibliothèque. Elle n'enregistre pas les hooks du plugin et ne démarre pas le service worker. Il faut utiliser npx claude-mem install, ou exécuter /plugin marketplace add thedotmack/claude-mem puis /plugin install claude-mem dans Claude Code, avant de redémarrer.
Qui effectue la compression de la mémoire, et à quel coût ?
Le README cite l'observer claude-mem (essai gratuit de 14 jours, puis retour à l'abonnement Anthropic sauf souscription), votre propre clé OpenRouter ou Gemini, ou votre abonnement Anthropic. La compression appelle un modèle de langage : le coût vient du quota de l'abonnement ou d'une facturation tierce.
Comment capte-t-il les données sur les hôtes sans hooks ?
Le README prend Grok Bot comme exemple : sans hooks côté hôte, l'outil surveille les fichiers de journal du chat. Aucune API d'événements n'est nécessaire, mais la lecture se fait après coup, donc la fraîcheur dépend du format du journal.