memU : mémoriser et récupérer la mémoire persistante
memU compile les sources dans un stockage local persistant (./data/memu.sqlite3 + un arborescence markdown parcourable ./data/memory/, relatif au répertoire courant). Ce qu'une session mémorise, la suivante peut le récupérer — lancez toujours à partir de la racine du projet pour que chaque commande accède au même stockage.
Utilisez uniquement les deux commandes ci-dessous. N'utilisez pas les commandes legacy memu memorize / memu retrieve.
Les deux directions nécessitent une clé API : assurez-vous que OPENAI_API_KEY (ou MEMU_LLM_PROVIDER + sa clé correspondante) est définie, et prévenez l'utilisateur si elle manque.
Localiser l'outil CLI
Utilisez le premier exécuteur disponible :
memu(installé viapip install memu-py)uvx --from memu-py memunpx memu-cli
Mémoriser
memu memorize-workspace <folder>
- Incrémental et sûr de relancer : effectue un diff par rapport à
<folder>/.memu_manifest.json, donc seuls les fichiers ajoutés/modifiés sont traités et la mémoire des fichiers supprimés est supprimée. - Le répertoire de premier niveau décide du traitement :
chat/→ thèmes de mémoire,agent/→ skills, tout le reste → contexte workspace indexé (modalité déduite par fichier à partir de son extension). - Pour mémoriser un fichier unique, placez-le (ou copiez-le) dans le dossier workspace et synchronisez — il n'existe pas de chemin séparé pour un fichier unique.
Rapportez le diff affiché (ajoutés/modifiés/supprimés) à l'utilisateur ; passez --json si vous devez parser le résultat.
Récupérer
memu retrieve-workspace "<query>"
Recherche par embedding en une seule étape, aucun appel LLM. Retourne du JSON en trois couches :
segments— les portions correspondantes, classées par similarité (vérifiez lescore)files— les documents memory/skill auxquels elles appartiennent (généralement ce que vous cherchez)resources— sources brutes correspondantes, quand les résumés ne suffisent pas
Si une requête ne retourne rien, relancez avec une formulation différente ou des termes plus spécifiques. De faibles scores partout signifient généralement qu'aucun contenu pertinent n'est stocké — dites-le plutôt que de forcer des correspondances faibles. Vous pouvez aussi lire ./data/memory/MEMORY.md / SKILL.md / INDEX.md directement pour un aperçu parcourable.