🌐 English | 繁體中文 | 简体中文 | 日本語 | 한국어 | Português | Français | Deutsch | Tiếng Việt | Español | ภาษาไทย
Mémoire locale pour Claude Code et les agents de codage MCP.
Un fichier SQLite. Aucun Docker. Aucun cloud requis.
Important
Projet en développement actif — les fonctionnalités évoluent continuellement et peuvent changer entre les versions. En cas de bug ou de demande de fonctionnalité, merci d'ouvrir une issue.
Votre agent de codage oublie ce qui s'est passé d'une session à l'autre. Chaque décision architecturale, correction de bug, test échoué et leçon apprise difficilement doit être réexpliquée. Claude Code redémarre à zéro, redécouvre les anciennes contraintes et gaspille du contexte sur des éléments qu'il devrait déjà connaître.
MeMesh offre aux agents de codage une mémoire locale persistante, consultable et évolutive.
Ce package constitue la couche de mémoire locale de la famille de produits MeMesh. Il est volontairement léger et open-source : installez-le avec npm, conservez votre mémoire dans ~/.memesh/knowledge-graph.db et connectez-le à Claude Code ou à tout client compatible MCP. Les produits d'espace de travail hébergé et les systèmes d'exploitation d'entreprise doivent rester distincts de ce README et de la feuille de route du package.
Le moteur de récupération de MeMesh utilise FTS5 seul (pas de LLM, pas d'embeddings sur le chemin chaud), mesuré sur le benchmark public LongMemEval-S (500 questions, licence MIT) :
| Système | R@5 | Source |
|---|---|---|
| MeMesh (Mode A, FTS5) | 95,40 % | benchmarks/longmemeval/RESULTS.md |
| MemPalace | 96,6 % | Auto-déclaration de l'éditeur |
| Supermemory | ~82 % | Estimation de l'éditeur |
| Zep | 63,8 % | Article LongMemEval |
| Mem0 | 49,0 % | Article LongMemEval |
Les commandes de reproduction, le SHA256 du jeu de données, les résultats bruts par question et l'analyse des échecs connus se trouvent tous dans benchmarks/longmemeval/. Réexécutable en environ 10 secondes.
MeMesh a deux chemins d'installation coexistants. La plupart des utilisateurs veulent les deux. Ils écrivent dans la même base de données mémoire (~/.memesh/knowledge-graph.db), donc les mémoires capturées dans Claude Code apparaissent dans votre shell, et vice versa.
flowchart TB
classDef client fill:#1f2937,stroke:#4b5563,color:#f9fafb,stroke-width:1px
classDef pathA fill:#1e3a8a,stroke:#3b82f6,color:#eff6ff,stroke-width:2px
classDef pathB fill:#14532d,stroke:#22c55e,color:#f0fdf4,stroke-width:2px
classDef db fill:#7c2d12,stroke:#f97316,color:#fff7ed,stroke-width:2px
subgraph clients["Where you use memesh from"]
direction LR
CC["Claude Code<br/>(chat + agent)"]:::client
TERM["Terminal / other<br/>MCP clients<br/>(Cursor, Cline...)"]:::client
end
subgraph paths["Two install paths"]
direction LR
A["<b>Path A — /plugin install</b><br/>───────────────<br/>Lives in <code>~/.claude/plugins/</code><br/><br/>• MCP tools in chat<br/>• Auto-capture hooks<br/>• <code>/memesh</code> skill<br/>• Session-start banner"]:::pathA
B["<b>Path B — npm install -g</b><br/>───────────────<br/>Lives in <code>$(npm prefix -g)/bin/</code><br/><br/>• <code>memesh</code> shell command<br/>• <code>memesh-mcp</code>, <code>-http</code>, <code>-view</code> bins<br/>• For Cursor / Cline / other MCP"]:::pathB
end
DB[("Shared memory DB<br/><code>~/.memesh/knowledge-graph.db</code><br/>Same data, both paths see it")]:::db
CC -->|uses| A
TERM -->|uses| B
A --> DB
B --> DB
Lequel vous faut-il ?
| Ce que vous voulez faire | Chemin d'installation |
|---|---|
Utiliser le skill /memesh dans une conversation Claude Code |
Path A (plugin) |
| Auto-capture dans Claude Code (session → leçons → recall suivant) | Path A (plugin) |
Exécuter memesh remember / memesh recall / memesh doctor dans n'importe quel terminal |
Path B (npm-global) |
Ouvrir le dashboard via memesh (sans délai de démarrage npx) |
Path B (npm-global) |
Brancher memesh-mcp à Cursor, Cline ou un autre client MCP |
Path B (npm-global) |
| Tout ce qui précède | Installez les deux — ils ne sont pas en conflit |
Confusion courante : le plugin Claude Code ne met pas
memeshsur votrePATHshell. Si vous lancez seulement/plugin installpuis tapezmemesh reindexdans un terminal, vous verrezcommand not found. C'est normal — il faut aussinpm install -g @pcircle/memeshpour l'accès shell.
C'est la confusion la plus fréquente. Lisez ceci une fois et vous gagnerez du temps plus tard :
/plugin install memesh@pcircle-memeshdepuis Claude Code → installe uniquement Path A. Vous obtenez les outils MCP, les hooks, le skill/memesh.memeshn'est PAS ajouté à votrePATHshell.memesh reindex/memesh update/memesh doctordans un terminal → nécessite Path B (npm-global). Sans :zsh: command not found: memesh.- Configuration recommandée pour les utilisateurs Claude Code : installez les deux. Coexistent, partagent la même base de données, aucun conflit.
# Après /plugin install ..., exécutez aussi ceci :
npm install -g @pcircle/memeshSi vous utilisez memesh uniquement via le chat Claude Code (jamais memesh dans un terminal), Path A suffit. Tous les autres : installez les deux.
npm install -g @pcircle/memeshnpm install -g place la CLI dans le PATH et enregistre le serveur MCP, mais ne connecte pas automatiquement les hooks de session MeMesh à Claude Code. Sans ces hooks, vous pouvez utiliser memesh remember / recall manuellement, mais la boucle d'auto-capture (session → leçons → rappel proactif à la session suivante) reste silencieuse.
memesh install-hooks # ajoute les hooks memesh à ~/.claude/settings.json
memesh doctor # vérifie que « Hooks wired into Claude Code » passeCes hooks coexistent avec vos hooks personnalisés dans ~/.claude/hooks/ — install-hooks écrit de manière additive et n'écrase jamais les vôtres. Pour supprimer : memesh uninstall-hooks.
memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"memesh recall "login security"
# → Trouve "OAuth 2.0 with PKCE" même si vous avez cherché des mots différentsC'est tout. MeMesh mémorise et rappelle désormais d'une session à l'autre.
Pour vérifier l'installation et la connexion locale de bout en bout :
memesh doctorOuvrez le tableau de bord pour explorer votre mémoire :
memesh| Si vous êtes... | MeMesh vous aide à... |
|---|---|
| Un développeur utilisant Claude Code | Rappeler automatiquement les décisions du projet, les leçons spécifiques aux fichiers et les échecs passés au fur et à mesure du travail |
| Un utilisateur avancé d'agent de codage | Partager une couche de mémoire locale unique sur les outils compatibles MCP |
| Une équipe expérimentant les workflows de codage IA | Exporter/importer les connaissances du projet sans infrastructure hébergée |
| Un développeur d'agent | Ajouter la mémoire locale via MCP, HTTP, CLI ou le SDK Python |
|
Claude Code / Desktop memesh-mcpOutils MCP + hooks Claude Code |
N'Importe Quel Client HTTP curl localhost:3737/v1/recall \
-H "Content-Type: application/json" \
-d '{"query":"auth"}'
|
N'Importe Quel LLM (Format OpenAI) memesh export-schema \
--format openaiCollez les outils dans n'importe quel appel API |
| MeMesh | OpenMemory | Cursor Memories | Mem0 | Zep / Graphiti | |
|---|---|---|---|---|---|
| Meilleur usage | Mémoire locale pour agents de codage | Mémoire MCP locale/multi-client | Mémoire de projet Cursor native | Mémoire d'app/agent gérée | Graphes de connaissances temporels |
| Installation | npm install -g @pcircle/memesh |
App/serveur local | Intégré à Cursor | API Cloud / SDK / MCP | Configuration service/framework |
| Stockage | Un seul fichier SQLite local | Pile de mémoire locale | Règles/mémoires gérés par Cursor | Stack hébergée ou auto-hébergée | Base de données graphe |
| Cloud requis | Non | Non pour le mode local | Dépend du compte/paramètres Cursor | Oui pour la plateforme | Généralement oui/auto-hébergée |
| Hooks Claude Code | Première classe | Outils MCP | Non | Outils MCP | Pas spécifique à Claude Code |
| Tableau de bord | Intégré | Intégré | Paramètres Cursor | Tableau de bord plateforme | Outils plateforme/graphe |
| Tradeoff | Coin simple et local, non adapté à l'échelle entreprise | Empreinte app locale plus large | Verrouillé à Cursor | Plateforme gérée puissante, moins local-first | Modèle graphe puissant, configuration plus lourde |
MeMesh sacrifie l'infrastructure gérée à l'échelle entreprise pour une installation locale instantanée, un stockage inspectable et des hooks de workflow spécifiques aux agents de codage.
Vous n'avez pas besoin de tout mémoriser manuellement. MeMesh possède 7 hooks qui capturent et injectent les connaissances au fur et à mesure que vous travaillez :
| Quand | Ce que MeMesh fait |
|---|---|
| Au début de chaque session | Charge vos mémoires les plus pertinentes + avertissements proactifs des leçons passées + banneau d'orchestration agentique |
| Avant d'éditer des fichiers | Rappelle les mémoires liées au fichier ou au projet avant que Claude ne rédige du code |
| Avant les commandes bash | Encourage Claude à dispatcher les commandes très vérifiables (test, build, lint, migrate, deploy, benchmark) en tant qu'agents de fond |
| Lorsque vous demandez de mémoriser | Détecte l'intention "remember this" / "記下來" et rappelle à Claude d'écrire en double (memesh + MEMORY.md) |
Après chaque git commit |
Enregistre ce que vous avez modifié, avec les statistiques de diff |
| Quand Claude s'arrête | Capture les fichiers édités, les erreurs corrigées et génère automatiquement des leçons structurées à partir des défaillances |
| Avant la compaction de contexte | Sauvegarde les connaissances avant qu'elles ne soient perdues aux limites de contexte |
Refuser à tout moment :
export MEMESH_AUTO_CAPTURE=false
Toute la configuration passe par des variables d'environnement. Les valeurs par défaut sont strictement locales et sans accès réseau — vous n'avez rien à définir pour obtenir un système fonctionnel.
| Variable | Défaut | Effet |
|---|---|---|
MEMESH_DB_PATH |
~/.memesh/knowledge-graph.db |
Remplace l'emplacement de la base SQLite. |
MEMESH_AUTO_CAPTURE |
true |
Désactive entièrement les hooks d'auto-capture (Stop, PreCompact). |
MEMESH_AUTO_DETECT_LLM |
non défini | Mettre à 1 pour laisser memesh détecter automatiquement un fournisseur depuis l'environnement shell (OPENAI_API_KEY, etc.) et basculer sur des embeddings BYOK. L'installation neuve par défaut utilise uniquement ONNX local (384 dimensions) — activez cette option si vous voulez des embeddings cloud. Sans ce flag, une OPENAI_API_KEY présente dans le shell est ignorée. |
MEMESH_ENABLE_AGENTIC_ORCHESTRATION |
non défini | Mettre à 1 pour activer un protocole de modèle de travail expérimental (cadre CTO / Orchestrateur / Agents). Ajoute une bannière en début de session, un nudge sur les commandes Bash et la télémétrie verify_agent_work. L'efficacité du protocole est instrumentée mais pas encore prouvée — activez-la si vous souhaitez participer. Désactivé par défaut : les fonctionnalités de mémoire principales fonctionnent sans ce flag. |
MEMESH_AUTO_UPDATE |
off |
Politique de mise à jour automatique. off (défaut) ne met jamais à jour automatiquement ; patch autorise X.Y.Z → X.Y.Z+N ; minor ajoute X.Y.Z → X.Y+1.0 ; major autorise tout incrément. Quand c'est permis, un npm install -g détaché s'exécute en fin de session (hook Stop) pour ne jamais bloquer votre travail — les résultats arrivent dans ~/.memesh/auto-update.log. Configurable aussi via autoUpdate dans ~/.memesh/config.json (la variable d'environnement l'emporte). Quand la version installée est dépréciée par les mainteneurs (alerte de sécurité), patch est forcé même en off — les incréments minor / major restent manuels pour éviter une dérive de comportement silencieuse. |
OPENAI_API_KEY |
non défini | Votre clé OpenAI. Utilisée uniquement quand MEMESH_AUTO_DETECT_LLM=1 ou que vous configurez explicitement le fournisseur. |
OLLAMA_HOST |
http://localhost:11434 |
Remplace l'endpoint Ollama lors de l'utilisation d'un fournisseur Ollama local. |
memesh doctor affiche la configuration résolue pour que vous puissiez voir ce qui est actif.
Lorsque npm signale une version installée comme dépréciée (typiquement une alerte de sécurité), le prochain démarrage de session ajoute en tête une bannière forte ⚠️ MeMesh <ver> is DEPRECATED et memesh update-status affiche la même ligne jusqu'à la mise à jour. La vérification est mise en cache dans ~/.memesh/update-check.<version>.json pour qu'une panne réseau transitoire ne puisse pas atténuer l'avertissement.
8 onglets, 11 langues, zéro dépendance externe. Accessible à http://localhost:3737/dashboard quand le serveur s'exécute.
| Onglet | Ce que vous voyez |
|---|---|
| Insights | Insights mémoire — résumés hebdomadaires et propositions de patterns du moteur dreamer ; accepter/rejeter en un clic |
| Recherche | Recherche par texte intégral + similarité vectorielle sur toutes les mémoires |
| Parcourir | Liste paginée de toutes les entités avec archivage/restauration |
| Analytics | Score de santé de la mémoire, frise chronologique 30 jours, vélocité PM + métriques de connectivité KG, motifs de travail, suggestions de nettoyage |
| Graphe | Graphe de connaissances force-directed interactif avec filtres de type, recherche, mode ego, carte thermique de récence |
| Leçons | Leçons structurées tirées des défaillances passées (erreur, cause racine, correctif, prévention) |
| Gérer | Archivez et restaurez les entités |
| Paramètres | Configuration du fournisseur LLM, sélecteur de langue instantané |
🧠 Recherche Intelligente — Cherchez « sécurité login » et trouvez des mémoires sur « OAuth PKCE ». MeMesh combine FTS5 et la similarité vectorielle sqlite-vec pour trouver des mémoires sémantiquement liées sans LLM sur le chemin chaud.
📊 Classement Avec Score — Les résultats sont classés par pertinence (30 %) + récence (25 %) + fréquence (15 %) + confiance (15 %) + impact de rappel (10 %) + validité temporelle (5 %).
🔄 Évolution Des Connaissances — Les décisions changent. forget archive les anciennes mémoires (jamais supprimer). Les relations supersedes relient ancien → nouveau. Votre IA voit toujours la version la plus récente.
🕸️ Connectivité du graphe de connaissances — memesh kg backfill-relations --all-rules relie les entités orphelines par cooccurrence de tags, clustering de projets, contexte de session et similarité de noms — sans LLM. Réduit le taux d'orphelins de 89% à moins de 12% sur une base de connaissances représentative.
📦 Partage D'Équipe — memesh export > team-knowledge.json → partagez avec votre équipe → memesh import team-knowledge.json
Les bundles importés restent consultables, mais MeMesh n'injecte pas automatiquement les mémoires importées dans les hooks Claude jusqu'à ce que vous les examiniez ou les rémémorisiez localement.
« MeMesh s'est souvenu que nous avions choisi PKCE plutôt que le flux implicite il y a trois semaines. Quand j'ai demandé à Claude à nouveau sur l'auth, il le savait déjà — pas besoin de réexpliquer. » — Développeur seul, construisant une SaaS
« Nous exportons la mémoire de notre équipe tous les vendredis et l'importons le lundi. Chaque Claude de l'équipe commence la semaine en sachant ce que l'équipe a appris la semaine précédente. » — Startup à 3 personnes, base de connaissances partagée
« Le tableau de bord m'a montré que 90 % de mes mémoires étaient des journaux de session auto-générés. J'ai commencé à utiliser
rememberdélibérément pour les décisions architecturales. Un changement radical. » — Développeur qui a découvert l'onglet Analytics
MeMesh fonctionne hors ligne par défaut — le rappel reste strictement sans LLM (95,40 % R@5 sur LongMemEval-S dès l'installation). Ajoutez une clé API LLM uniquement si vous voulez des flux d'analyse augmentés par LLM par-dessus : extraction de session plus intelligente, auto-tagging des nouvelles mémoires, génération de leçons depuis les défaillances et compression consolidate / dream :
memesh config set llm.provider anthropic
memesh config set llm.api-key sk-ant-...Ou utilisez l'onglet Settings du tableau de bord (configuration visuelle) :
memesh # ouvre le tableau de bord → onglet Settings| Niveau 0 (défaut) | Niveau 1 (Mode Smart) | |
|---|---|---|
| Recherche | FTS5 + sqlite-vec, 95,40 % R@5 (~18 ms/requête) | inchangé — le rappel est sans LLM à tous les niveaux |
| Auto-capture | Motifs basés sur les règles | + LLM extrait les décisions & leçons |
| Auto-tagging | Tags manuels uniquement | + LLM génère des tags pour les nouvelles mémoires |
| Analyse de défaillance | Indisponible | + LLM convertit les erreurs de session en leçons structurées |
| Compression | Indisponible | consolidate + dream compressent les mémoires verbeux |
| Coût | Gratuit, aucune clé API | ~$0,0001 par appel d'analyse (Haiku) |
| Outil | Ce qu'il fait |
|---|---|
remember |
Stocker les connaissances avec observations, relations et tags |
recall |
Recherche FTS5 + sqlite-vec avec notation multi-facteurs (pertinence, récence, fréquence, confiance, validité temporelle) — pas de LLM sur le chemin chaud |
forget |
Soft-archivage (jamais supprimer) ou suppression d'observations spécifiques |
consolidate |
Compression des mémoires verbeux alimentée par LLM |
export |
Partager les mémoires au format JSON entre projets ou membres d'équipe |
import |
Importer les mémoires avec stratégies de fusion (skip / overwrite / append) |
learn |
Enregistrer les leçons structurées à partir des erreurs (erreur, cause racine, correctif, prévention) |
user_patterns |
Analyser vos motifs de travail — planning, outils, forces, domaines d'apprentissage |
verify_agent_work |
Persister un rapport de vérification pour le travail d'agent de fond ; reality-check les modifications de fichier revendiquées contre git diff |
┌─────────────────┐
│ Core Engine │
│ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
│ │ │
└─────────────────┼─────────────────┘
│
SQLite + FTS5 + sqlite-vec
(~/.memesh/knowledge-graph.db)Le cœur est agnostique du framework. La même logique s'exécute depuis le terminal, HTTP ou MCP.
Le plugin marketplace de Claude Code fige les versions à l'installation et ne se met pas à jour automatiquement. Pour récupérer une nouvelle version :
Option A — Interface /plugin : désinstaller memesh@pcircle-memesh, puis réinstaller. Claude Code récupère la dernière version du marketplace.
Option B — Script en une ligne (sans cliquer dans l'UI, idempotent) :
# Si votre plugin est en v4.2.5 ou plus récent, le script est embarqué :
bash ~/.claude/plugins/cache/pcircle-memesh/memesh/<current-version>/scripts/upgrade-plugin.sh
# Si vous avez installé avant v4.2.5 (c.-à-d. v4.2.4 ou v4.2.3),
# le script n'est pas encore dans votre plugin. Utilisez la copie npm-global :
bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.sh"
# (Cela suppose que vous avez aussi exécuté `npm install -g @pcircle/memesh`. Sinon,
# c'est le bon moment — voir la section « Aperçu des chemins d'installation »
# ci-dessus pour comprendre pourquoi la plupart des utilisateurs veulent les deux.)Le script fast-forward le cache marketplace, place la nouvelle version dans ~/.claude/plugins/cache/, installe les runtime deps, et repointe installed_plugins.json. Redémarrez Claude Code ensuite pour que le serveur MCP se reconnecte.
Les installations npm-global (npm install -g @pcircle/memesh) peuvent s'auto-mettre à jour via memesh update. Source checkouts : git pull && npm install && npm run build.
Au démarrage de session, une bannière sur une ligne s'affiche (limitée à une fois par 24h par version) quand une nouvelle version est disponible, et memesh doctor indique la cible de mise à jour avec la commande adaptée au canal.
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
npm test # 630 tests
npm run test:e2e-dashboardTableau de bord : cd dashboard && npm install && npm run dev
MIT — Créé par PCIRCLE AI


