toon-memoryPropulsé par TOON
La couche de continuité pour les agents IA
Le savoir de votre agent survit à chaque session — hors ligne, privé, zéro LLM.
$npm install -g toon-memory
Pourquoi les agents perdent-ils le contexte entre les sessions ?
Les agents de code IA commencent chaque session avec une amnésie
Le contexte se réinitialise quotidiennement
À chaque nouvelle session, votre agent oublie les décisions, motifs et bugs appris hier. Vous réexpliquez le même contexte encore et encore.
Chercher dans l'historique
Sans mémoire, les agents fouillent l'historique git et relisent les fichiers pour reconstruire pourquoi quelque chose a été construit d'une certaine façon — en brûlant des tokens et du temps.
Notes copier-coller
Les développeurs collent le contexte manuellement entre les chats. C'est fragile, ça devient obsolète et n'arrive jamais à la prochaine exécution autonome.
toon-memory donne à votre agent une mémoire persistante et interrogeable — le contexte survit automatiquement à chaque session.
Découvrez toon-memory
La couche de continuité pour votre flux de travail
Une mémoire stocke des faits ; une couche de continuité préserve le fonctionnement de votre projet — pour que chaque session commence là où la précédente s'est arrêtée.
Décisions
Le « pourquoi » derrière chaque choix — frameworks, bibliothèques, compromis. Rappelé quand il compte, jamais re-débattu.
Conventions
Règles de nommage, de structure et de style adoptées par votre équipe. Respectées sans être répétées.
Contexte
Connaissances d'architecture, d'environnement et d'exploitation qui ne vivent dans aucun fichier unique.
Compréhension partagée
Connaissances du projet et décisions d'équipe disponibles pour chaque agent et chaque session.
toon-memory introduit le concept de couche de continuité : un système léger qui préserve le savoir, les décisions et le contexte d'un projet entre les sessions IA — sans services cloud ni infrastructure lourde.
Pourquoi les développeurs choisissent toon-memory
Privé, léger, universel
Les garanties qui rendent la mémoire du projet sûre à conserver.
Confidentialité d'abord
- 100% local — aucun cloud, aucun serveur, aucune télémétrie
- Chiffrement AES-256-GCM optionnel
- Vous possédez le fichier mémoire, comme n'importe quel fichier source
Léger
- Format TOON natif — 22% de tokens en moins que JSON
- Zéro dépendance, fonctionne sur tout Node.js 18+
- Logique déterministe — aucun appel LLM, aucune clé API
Universel
- Fonctionne avec 15+ agents : Claude Code, Codex, Gemini CLI, Cursor, OpenCode et plus
- MCP standard — changez d'agent sans perdre le contexte
- Mémoire par projet partagée par toute l'équipe
Même projet. Deux sessions.
Ce que votre agent retient change le résultat.
Benchmarks
Mesuré, pas supposé
Économies de tokens et d'appels mesurées sur une session réelle
moins de tokens
moins d'appels
moins de tokens
moins de tokens
moins de tokens
Le format TOON est conçu pour les LLMs, pas pour les humains
JSON 1097→TOON 850
Mesuré avec gpt-tokenizer (cl100k_base) sur 16 entrées de mémoire représentatives, comparant le format TOON réel sur disque au JSON compact. Reproductible : npm run bench.
Recherche type LongMemEval sur un snapshot figé de 187 entrées réelles — 42 gold queries
Snapshot réel de data.toon (187 entrées, 2026-08-01), today déterministe, lecture seule et sans copies ; 2 méta-entrées priority exclues. Reproductible : npm run bench:retrieval.
Auto-loading : le plugin OpenCode injecte uniquement la mémoire pertinente au fichier au lieu de vider toutes les entrées. Session complète : démarrage → débogage → implémentation → révision → clôture. Reproductible : npm run bench:full, npm run bench:primer, npm run bench:compress-all.
Comment ça marche ?
Quatre étapes de l'amnésie à la mémoire
Installer
Une commande. Zéro configuration pour 15+ agents.
npm install -g toon-memoryMémoriser
Enregistrez décisions, motifs et bugs au fur et à mesure — avec inférence automatique de tags et TTL optionnel.
memory_remember({
category: "decision",
key: "use-zod",
content: "Use Zod for validation",
file: "src/types.ts"
})Rappeler
Votre agent interroge la mémoire à la demande — plus besoin de réexpliquer, plus de tokens gaspillés.
memory_recall({ query: "validation" })
// [decision] use-zod (a1b2c3d4)
// Use Zod for validation — src/types.tsContexte
Un seul appel donne à votre agent tout : projet, git, mémoire, sessions. 80% moins d'appels d'outil.
context_generate({})
// # Project Briefing (full)
// ## Project — toon-memory v2.6.0
// ## Git — branch: main, 3 commits
// ## Memory — 26 entries, 18 edges
// ## Sessions — 2 activeUn kit de mémoire, pas un protocole
Tout ce dont votre agent a besoin pour mémoriser, rappeler et raisonner — groupé par fonction, avec des ressources pour la lecture directe du contexte et un visualiseur de graphe interactif.
memory_remembermemory_recallmemory_forgetmemory_statsmemory_diffmemory_suggestmemory_summarymemory_archivememory_checkpointmemory_visualizememory_pinmemory_unpinmemory_tagmemory_reflectmemory_promotememory_smart_recallmemory_capturedmemory_consolidatememory_graph_pathmemory_searchcontext_briefcontext_generatecontext_diffcontext_focuscontext_healthcontext_exportmemory_compressmemory_primermemory_sessionsmemory_merge_sessionsmemory_export_gistmemory_import_gistmemory_encryptmemory_decryptmemory_backupMulti-agent
Fonctionne avec tous les principaux agents de code IA. OpenCode, VS Code, Claude, Cursor, Windsurf, Cline, Continue — zéro configuration.
Format TOON
22% de tokens en moins que JSON (mesuré). Encodage personnalisé conçu pour la compréhension des LLMs et l'efficacité des tokens.
Rappel intelligent
Rappel basé sur le graph, rerangé par pertinence BM25 et centralité du graph (les hubs émergent même sans le mot de recherche). La décroissance par hop maintient le contexte distant bas. Le mode `compact` retourne des résultats avec indices numériques et extraits tronqués.
Mémoire intelligente
Inférence automatique de tags à partir d'un vocabulaire intégré et des dépendances du projet, notation de qualité, scores de confiance, merge-dedup, suggestions d'entrées liées, diff de mémoire et TTL configurable pour le contexte temporaire.
Chiffrement
AES-256-GCM pour les données sensibles. Archivage automatique des anciennes entrées. Mode watch pour sauvegarde automatique toutes les N minutes.
Votre mémoire, en graphe
Connectez les décisions à leurs specs, bugs et architecture. Le rappel retourne le bon contexte — pas seulement les correspondances de mots.
- Connectez les entrées avec `links` ou références `[[key]]` — sans embeddings, sans LLM
- `memory_recall({ mode: "graph" })` étend un sous-graphe conscient des relations
memory_recall({ query: "riesgo", mode: "graph" })
[decision] risk-engine-priority (a1b2c3d4)
The engine prioritizes risk over speed.
File: spec.md:10 | Tags: risk;spec | Date: 2026-07-01
links: engine-archmemory_recall({ query: "riesgo", mode: "graph", compact: true })
[1] decision/risk-engine-priority
The engine prioritizes risk over speed.
tags: risk;spec · edges: ->2, ->3Visionneuse du graphe de mémoire
Visualisez votre mémoire sous forme de graphe interactif à force dirigée. Voyez entrées, connexions, catégories et schémas d'accès d'un coup d'œil.
- Visionneuse CLI :
npx toon-memory viewerdémarre un serveur HTTP - Visionneuse inline MCP Apps : appelez
memory_visualize()pour rendre le graphe directement dans les hôtes compatibles MCP Apps — sans serveur - Survolez les nœuds pour des infobulles avec aperçu du contenu et score de qualité
- Cliquez pour sélectionner et centrer ; double-cliquez pour ouvrir les détails
- La recherche filtre les entrées et met en évidence les nœuds correspondants avec une lueur pulsante
- Le chercheur de chemins trouve et met en évidence la connexion la plus courte entre deux entrées
- Physique ajustable, thème sombre/clair, export PNG/SVG
Un kit mémoire
Tout ce dont votre agent a besoin pour mémoriser, rappeler et raisonner
Mémoire Principale
memory_rememberEnregistrer en mémoire
Stockez décisions, motifs, bugs, connaissances ou warnings (mémoires négatives « ne PAS faire ceci », rappelées avec un boost) — persistant entre les sessions avec notation de qualité automatique.
memory_recallRechercher en mémoire
Interrogez le graphe de connaissances avant de lire les fichiers. Résultats pondérés par la qualité. Prend en charge path_scope et le contrôle de budget (tiny/normal/deep). explain: true ajoute une ligne de raison par entrée ; budget_tokens plafonne la sortie par tokens estimés.
memory_statsStatistiques
Affiche les statistiques de la mémoire du projet, incluant la distribution de qualité, les entrées les plus consultées et les métriques de taux d'accès/doublons/obsolètes.
Recherche & Intelligence
memory_smart_recallRappel intelligent
Recherche unifiée combinant BM25 + centralité + qualité + fraîcheur en un seul appel. Prend en charge explain: true (raisons par entrée) et budget_tokens (limite de sortie).
memory_consolidateConsolider
Fusionne les entrées en doublon avec un contenu identique, détecte les quasi-doublons via similarité de Jaccard (>50%), supprime par lot les entrées de faible qualité ou retire les entrées d'anciennes versions de bibliothèque (mode: "versions") — via le paramètre mode, sans LLM.
Briefing Contexte
context_generateBrief complet du projet
Brief en un appel : structure du projet + état git + mémoire + sessions. Remplace 6 appels manuels. Économise 93% de tokens.
context_healthAudit santé
Liens orphelins, doublons, références cassées, TTL expirés, sessions obsolètes. Score 0–100.
Compression
memory_compressCompression LLM
Compression en deux étapes par LLM : résumer + écraser. Utilise Anthropic/OpenAI CLI si disponible.
memory_primerAmorce de contexte
Amorce de contexte en un appel : mémoires principales + catégories + modifications de fichiers de session. Injecté automatiquement au début de la session.
Sessions
memory_sessionsSessions
Affiche les sessions agent actives et détecte les conflits doux.
memory_merge_sessionsFusionner les sessions
Fusionne les observations entre sessions parallèles pour un fichier. Déduplique et promeut automatiquement.
Synchronisation & Sécurité
memory_encryptActiver le chiffrement
Chiffrement AES-256-GCM avec clé auto-générée.
memory_backupSauvegarder la mémoire
Crée une sauvegarde horodatée du fichier mémoire. Auto-nettoyage aux 10 plus récents.
memory-entriesmemory-statsmemory-summariesmemory-viewer (ui://viewer)Fonctionne avec 15+ agents de code IA
Zéro configuration — toon-memory détecte et configure chacun automatiquement
Foire aux questions
Tout ce que vous devez savoir pour donner une mémoire à votre agent
Qu'est-ce que toon-memory ?
Une couche de mémoire persistante pour les agents de code IA avec 35 outils MCP. Elle stocke les décisions, motifs, bugs et contexte dans un format TOON compact pour que votre agent se souvienne de tout entre les sessions — avec 80% moins d'appels d'outil par session.
Quels agents sont supportés ?
OpenCode, VS Code, Claude Code, Cursor, Windsurf, Cline, Continue, Codex, Gemini, Zed, Antigravity, Aider, KiloCode, OpenClaw et Kiro — 15+ agents avec zéro configuration via le serveur MCP.
Comment mes données sont-elles stockées ?
Les entrées sont écrites dans un fichier TOON local (un format économe en tokens ~22% plus petit que JSON, mesuré). Vous possédez le fichier et pouvez le commit, le differ ou le sauvegarder comme n'importe quel autre fichier source.
Ma mémoire est-elle chiffrée ?
Oui. Activez le chiffrement avec l'outil memory_encrypt pour sécuriser les entrées sensibles avec AES-256-GCM. La clé est générée automatiquement et conservée localement.
Ça fonctionne hors ligne ?
Complètement. toon-memory tourne localement sans services externes ni comptes. Le mode watch crée même des sauvegardes automatiques selon un calendrier.
Plusieurs agents peuvent-ils partager la même mémoire ?
Oui. Comme la mémoire vit dans un fichier simple de votre projet, chaque agent configuré pour ce projet lit et écrit le même contexte.
Comment sauvegarder ma mémoire ?
Utilisez le mode watch pour des sauvegardes automatiques programmées, ou commitez simplement le fichier TOON dans git. Les anciennes entrées sont auto-archivées après 30 jours pour garder les choses propres.
C'est gratuit et open source ?
Oui. toon-memory est sous licence MIT et gratuit. Le code source est sur GitHub et le package est publié sur npm.
Comment est-ce différent de la mémoire intégrée de mon agent ?
La mémoire intégrée est souvent éphémère ou spécifique au fournisseur. toon-memory vous donne un fichier mémoire portable, diffable et chiffré que vous contrôlez totalement — entre agents et projets.
Puis-je faire expirer le contexte temporaire ?
Oui. Définissez un TTL (ex : ttl: "7d") sur n'importe quelle entrée et elle expire automatiquement — parfait pour les sprints, échéances et notes sensibles au temps.
Qu'est-ce que le rappel intelligent ?
memory_smart_recall combine la recherche BM25 par mots-clés, la centralité du graphe, la notation de qualité et la décroissance de fraîcheur en un seul appel — le meilleur de toutes les stratégies de classement sans orchestration manuelle.
Comment fonctionne la notation de qualité ?
Chaque entrée reçoit automatiquement un score de qualité (0-1) basé sur la couverture des tags, la richesse des liens, le détail du contenu, la fraîcheur et la spécificité. Les entrées de haute qualité apparaissent en premier dans les résultats de rappel.
Que se passe-t-il si j'enregistre la même clé deux fois ?
Le système fusionne les attributs au lieu de remplacer : les tags et liens sont unis, la qualité et la confiance prennent le maximum, et la date est mise à jour. Votre entrée s'enrichit avec le temps.
Que se passe-t-il si j'enregistre la même clé deux fois ?
Le système fusionne les attributs au lieu de remplacer : les tags et liens sont unis, la qualité et la confiance prennent le maximum, et la date est mise à jour. Votre entrée s'enrichit avec le temps.
Qu'est-ce que la compression mémoire ?
memory_compress permet à un LLM de résumer des entrées similaires en un résumé concis. memory_consolidate(mode: "low-quality") supprime les entrées de faible qualité (pas de tags, contenu court) de manière déterministe — sans LLM. Les deux réduisent le nombre de tokens.
Puis-je synchroniser la mémoire entre machines ?
Oui. Utilisez memory_export_gist pour pousser les entrées vers un GitHub Gist, puis memory_import_gist sur une autre machine. Les entrées fusionnent automatiquement (union des tags, confiance maximale).
Prêt à donner de la continuité à votre agent ?
Installez en quelques secondes et ne réexpliquez plus jamais votre projet.