Basic Memory : des notes Markdown liées pour les assistants IA
Basic Memory est un système de connaissances privilégiant le stockage local, dont les fichiers Markdown peuvent être lus, écrits et recherchés par les personnes comme par les assistants IA. Il permet de conserver des informations utiles entre conversations : décisions de projet, notes de recherche, comptes rendus ou explications à retrouver plus tard. Une nouvelle session doit encore rechercher les notes pertinentes ; leur conservation ne les place pas à elle seule dans le contexte du modèle.
Fichiers, observations et relations
Basic Memory représente chaque note comme une entité. Une observation est une affirmation classée dans une catégorie au sein d'une note ; une relation relie celle-ci à une autre note. Ces liens forment un graphe de connaissances, que l'on peut parcourir au-delà d'une simple correspondance de mots-clés. Le guide officiel du format décrit la syntaxe Markdown.
Une note de projet pourrait, par exemple, contenir :
# Périmètre du test rétrospectif
## Observations
- [décision] Conserver l'analyse dans un script en ligne de commande.
- [contrainte] Utiliser des données de test ; ne pas modifier les comptes de production.
- [achèvement] Terminer lorsque les tests de répartition des frais réussissent.
## Relations
- relates_to [[Isolation de la production]]
Il s'agit d'un exemple de note, pas d'une règle intégrée au produit. Le titre lié désigne une autre note de cette base de connaissances fictive. Pour une véritable décision, indiquez qui l'a approuvée, sa période d'application et sa source. Distinguez les décisions acceptées des propositions afin qu'un lecteur ultérieur puisse comprendre ce qui a effectivement été décidé.
Connecter un projet
Après avoir suivi les instructions officielles d'installation et de connexion, enregistrez un répertoire de notes locales. Remplacez ./notes par le répertoire voulu et research par un nom de projet de votre choix :
basic-memory project add research ./notes --local
basic-memory project list --local
Le projet local est indexé lors de son ajout. Un client compatible MCP peut ensuite utiliser des outils tels que write_note, read_note, edit_note et search_notes ; build_context parcourt les liens via des adresses memory://. Ce sont des noms d'outils, pas des commandes shell. Consultez MCP, le protocole de contexte des modèles, pour comprendre les appels d'outils par les clients.
Vous pouvez demander à l'assistant de retrouver la note sur le périmètre du test rétrospectif dans le projet choisi, de la lire et d'expliquer quelles décisions s'appliquent encore à la demande actuelle. La recherche prend en charge les mots-clés et la proximité sémantique ; leur disponibilité et leur fonctionnement dépendent de la configuration. Le dépôt officiel présente l'interface des outils.
La mémoire n'est pas un système de permissions
Basic Memory permet l'édition dans les deux sens. Il ne limite pas intrinsèquement un projet à une seule note, n'interdit pas la recherche au démarrage et ne réserve pas toutes les écritures aux humains. Une équipe peut imposer une approbation avant de modifier ses notes de décision, mais elle doit appliquer cette règle par son client, ses permissions et ses pratiques de travail.
Une ancienne note peut être erronée ou remplacée. Si elle contredit la demande actuelle ou les règles applicables, établissez quelle décision reste valable plutôt que de lui attribuer silencieusement une priorité supérieure. Le contenu retrouvé peut aussi contenir des instructions non fiables ; son stockage dans un graphe ne le rend pas sûr à suivre.
Le stockage local en Markdown ne fournit pas, à lui seul, la synchronisation entre appareils, les sauvegardes ou la confidentialité du traitement par l'IA. Cela dépend du déploiement et du client choisis. Basic Memory propose un hébergement et une synchronisation dans le cloud en option ; un service d'IA distant connecté peut recevoir les notes que vous lui transmettez même si les fichiers sont locaux.
Quand choisir un autre outil
Utilisez QMD si vous souhaitez surtout rechercher dans une collection Markdown. Utilisez zvec-grep pour localiser du code ou des sections de documents dans un espace de travail. Mémoire et recherche d'information pour les agents relie ces choix à la vérification des sources et au contexte de la tâche. La distribution Python est disponible sur PyPI.