>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Comment Memora Offre aux Assistants Claude Code une Mémoire à Long Terme et un Graphe de Connaissances

Quiconque a déjà essayé d'attribuer des tâches complexes à des agents comme Claude Code ou Codex CLI connaît ce sentiment. La veille, vous avez passé une demi-journée à traquer un bug d'autorisation subtil, à discuter des contraintes architecturales et à élaborer un plan de refactorisation. Le lendemain, vous ouvrez une nouvelle session, et le modèle vous suggère exactement cette solution que vous aviez rejetée la veille.

Les fichiers de mémoire texte classiques comme MEMORY.md deviennent ingérables en quelques semaines. Le contexte se remplit de doublons, de faits contradictoires et de plans obsolètes. Le projet Memora résout ce problème via le Model Context Protocol (MCP), transformant des notes dispersées d'agents en un graphe de connaissances structuré.

Memora Logo

Ce qui se cache sous le capot et pourquoi c'est important

Memora fonctionne comme un serveur MCP Python, stockant les données dans une base SQLite locale ou un stockage cloud (Cloudflare D1, S3, R2). L'essentiel ici n'est pas simplement d'enregistrer des chaînes de caractères, mais la façon dont le système traite les nouveaux faits.

Flux d'absorption et de digestion Memora

Lorsqu'un agent termine une tâche et souhaite sauvegarder le contexte, il appelle la commande d'absorption des données (absorb). Un modèle de langage intégré compare le nouveau fait aux enregistrements existants et le classe : doublon, mise à jour, contradiction, connexion ou connaissance fondamentalement nouvelle.

Si l'information met à jour une ancienne entrée, Memora construit une chaîne de versions. L'ancien enregistrement n'est pas supprimé sans laisser de trace — il est marqué comme obsolète, préservant ainsi l'historique des modifications. Lors des recherches normales, l'agent ne voit que l'instantané actuel, mais peut récupérer l'historique complet si nécessaire.

Ce qui distingue ce projet en pratique

Le dépôt rassemble plusieurs solutions d'ingénierie dont les systèmes de mémoire RAG standards pour agents sont gravement dépourvus.

Démo Memora Démo Memora 2

1. Déduplication intelligente et résumés thématiques

Au lieu de fournir au modèle des dizaines de fragments de texte similaires, l'outil consolide les faits par thème. La méthode memory_digest(topic) rassemble tous les souvenirs pertinents, les TODOs ouverts, les bugs découverts et leurs connexions en un seul appel.

Les doublons sont suivis automatiquement :

# Поиск похожих записей через векторную близость и LLM-анализ
memory_find_duplicates(min_similarity=0.7, max_similarity=0.95, limit=10, use_llm=True)

# Объединение записей с нужной стратегией
memory_merge(source_id=123, target_id=456, merge_strategy="append")

Lors de la comparaison, le LLM donne un verdict clair : doublon, pensée similaire ou choses différentes — en complétant l'évaluation par un raisonnement et une recommandation.

2. Documents structurés et fragments atomiques

Souvent, un agent doit se souvenir non pas d'une courte phrase, mais d'un rapport de recherche entier ou d'une décision architecturale (ADR). Si vous enregistrez le markdown en un seul bloc, la recherche sémantique granulaire sera inefficace.

Memora analyse le markdown en un arbre de fragments :

  • les tableaux deviennent des affirmations distinctes ;
  • les listes numérotées deviennent des éléments de plan ;
  • les listes de références deviennent des références ;
  • les sections de risques sont analysées comme des risques.

Chaque fragment est disponible pour la recherche vectorielle indépendamment, et le document original peut être récupéré en entier à tout moment. Les fragments sont protégés contre la suppression ou la fusion accidentelle par des vérifications système.

3. Graphe interactif et panneau web

En parallèle du serveur MCP, une interface web locale démarre sur le port 87 65. Vous pouvez visualiser le graphe de connaissances, filtrer les connexions par tags, suivre les chronologies d'actions et discuter avec la base de données via un chat RAG intégré.

Panneau de détails Panneau de chronologie

Le chat de l'interface web prend en charge les appels de fonctions. Vous pouvez demander directement au modèle depuis le navigateur : « Supprimer la note #42 » ou « Mettre à jour les exigences dans la tâche #10 », et il effectuera les modifications dans la base de données.

Configuration et écueils des embeddings

Installez le package via pip :

pip install memora-mcp

Pour les embeddings locaux sans appel aux API externes, l'option [local] s'avère utile :

pip install "memora-mcp[local]"

La connexion à Claude Code se configure dans le fichier .mcp.json à la racine du projet :

{
  "mcpServers": {
    "memora": {
      "command": "memora-server",
      "args": [],
      "env": {
        "MEMORA_DB_PATH": "~/.local/share/memora/memories.db",
        "MEMORA_ALLOW_ANY_TAG": "1",
        "MEMORA_GRAPH_PORT": "8765",
        "MEMORA_EMBEDDING_STRICT": "1"
      }
    }
  }
}

Les auteurs du projet mettent honnêtement en garde contre une erreur de configuration courante. Memora peut séparer le fournisseur pour le LLM (par ex., OpenRouter) et le fournisseur pour les représentations vectorielles (par ex., Cloudflare Workers AI ou OpenAI).

Si vous utilisez OpenRouter pour le raisonnement, gardez à l'esprit : il n'a pas de point de terminaison pour les embeddings. Si vous faites une erreur dans la configuration et ne définissez pas le flag MEMORA_EMBEDDING_STRICT=1, le serveur revient silencieusement à une recherche par mots-clés TF-IDF primitive. La base de données continuera à répondre, mais la qualité de la recherche vectorielle diminuera de façon imperceptible. Le mode strict provoquera immédiatement une erreur si le point de terminaison de vectorisation n'est pas disponible.

Pour les utilisateurs de Neovim, il y a un bonus intéressant sous forme d'intégration Telescope : le plugin memora.lua vous permet de rechercher dans la mémoire avec un raccourci directement pendant l'édition de code.

À qui ce projet est-il destiné

Memora convient parfaitement à ceux qui utilisent activement Claude Code, Codex CLI ou des agents personnalisés basés sur MCP pour des projets durables. Il aborde le principal point douloureux du développement agentique — la perte de contexte entre les redémarrages de session.

Si vous avez besoin d'une base de connaissances qui ne s'encombre pas de doublons et qui visualise clairement les connexions entre les tâches et les décisions architecturales, essayer cet outil a tout son sens. Le code source est disponible sous licence MIT dans le dépôt agentic-box/memora.

Projets similaires