CommunityRédaction et éditiongithub.com

dancepower22/pi-memory-evo

Mémoire persistante native pi et compétence auto-évolutive : zéro dépendance, toujours active, mémoire à 3 couches (fait/modèle/leçon) + routage des leçons.

Qu'est-ce que pi-memory-evo ?

Cette compétence transforme l'environnement de l'utilisateur en un système qui « vous comprend de mieux en mieux à chaque utilisation ». Elle implémente une mémoire persistante à trois niveaux (faits, modèles, leçons) sans aucune dépendance externe. Active en permanence, elle enregistre automatiquement les informations importantes dès qu'elles surviennent : préférences, décisions techniques, schémas récurrents et expériences apprises. Elle fournit également un routage des leçons (auto-évolution) pour créer ou mettre à jour des compétences dans le dossier `~/.agents/skills/` lorsque des méthodologies réutilisables sont identifiées. La compétence fonctionne avec des outils de ligne de commande (memory.py) pour l'initialisation, l'ajout, la recherche, la synchronisation et la gestion des entrées. Les données sont stockées localement dans `~/.agents/memory/`, accessibles via un fichier MEMORY.md lisible à chaque début de session. Cette compétence est conçue pour être utilisée avec des agents IA comme Claude Code, Cursor, ou tout autre assistant compatible avec des skills markdown et des outils CLI. Elle permet une continuité de contexte entre les sessions, une détection proactive des patterns, et une capitalisation des leçons pour améliorer progressivement le comportement de l'agent.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add dancepower22/pi-memory-evo

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Mémoire persistante et auto-évolution (memory)

Principe fondamental : Sauvegarder activement, sans attendre la demande de l'utilisateur. Transformez l'environnement utilisateur en un système « qui vous comprend de mieux en mieux à chaque utilisation » : Mémoire à trois niveaux (faits/modèles/leçons) + résumé de session + routage des leçons (auto-évolution).

🚀 Démarrage de la session (à chaque nouvelle session)

  1. Si ~/.agents/memory/MEMORY.md existe, le lire d'abord pour comprendre rapidement le contexte, les préférences et les sessions récentes de l'utilisateur.
  2. Si des détails sont nécessaires, utiliser memory.py get <id> ou memory.py search <mot-clé> pour approfondir.
  3. Présenter brièvement à l'utilisateur les informations clés mémorisées (synthèse), démontrant la continuité.

📌 Sauvegarde proactive (TOUJOURS ACTIVE, sauvegarder dès que rencontré, sans attendre la fin de la session)

Dès que l'une des situations suivantes se produit, appeler immédiatement memory.py add <type> <contenu> pour sauvegarder :

TypeMoment de sauvegardeExemple
factL'utilisateur révèle une préférence/habitude/information d'identité ; décision importante du projet, choix technique, convention ; l'utilisateur dit explicitement « retiens ça »« L'utilisateur préfère les réponses en français » « Le projet utilise pnpm + TypeScript »
patternUn même comportement/problème apparaît 2 fois ou plus (cette occurrence incluse)« À chaque installation de compétence, l'utilisateur demande d'abord une évaluation des dépendances »
lessonExpérience apprise après un écueil, conclusion de dépannage, piège découvert« Le backend par défaut de ddgs pour DuckDuckGo passe par Yandex et expire, il faut utiliser backend='html' »
  • La sauvegarde peut être accompagnée de --tag a,b pour faciliter la recherche.
  • L'outil effectue automatiquement une déduplication approximative ; les contenus en double seront signalés plutôt que stockés à nouveau.

🗂️ Fin de session (ou demande de l'utilisateur « résumer la session / capitaliser »)

Exécuter dans l'ordre :

  1. Passer en revue la session en cours, extraire 2 à 5 informations les plus importantes.
  2. Classer et sauvegarder : fact (nouvelle préférence/décision) → pattern (nouveau schéma) → lesson (nouvelle expérience).
  3. Routage des leçons (auto-évolution) : pour chaque leçon, déterminer :
    • S'agit-il d'une méthodologie réutilisable (ex. « procédure standard pour un certain type de tâche ») → Créer ou mettre à jour une compétence dans ~/.agents/skills/ (avec les outils write/edit) pour qu'elle s'applique automatiquement la prochaine fois ;
    • S'agit-il d'un fait ponctuel → Stocker en tant que fact ;
    • S'agit-il d'une information propre à l'environnement/compte (ex. configuration d'un outil) → Stocker en tant que lesson uniquement.
  4. Utiliser memory.py session-save "<résumé de la session en une phrase>" --key mot-clé1,mot-clé2 pour sauvegarder l'enregistrement de session.
  5. Exécuter memory.py sync pour actualiser la vue d'ensemble MEMORY.md.

🔍 Interrogation de la mémoire

Si l'utilisateur demande « j'ai dit précédemment / la dernière fois / mes préférences » → memory.py search <mot-clé> ; pour lister tout → memory.py list.

⚙️ Aide-mémoire des outils

P=~/.agents/skills/pi-memory-evo/memory.py
$P init                       # Première initialisation
$P add fact "contenu" --tag préférence    # Stocker un fait/modèle/leçon
$P session-save "résumé" --key a  # Stocker un résumé de session
$P search mot-clé                # Rechercher
$P list                        # Tout lister
$P get <id> / update <id> <nouveau_contenu> / delete <id>   # Gestion
$P stats                       # Statistiques
$P sync                        # Actualiser la vue d'ensemble MEMORY.md

📂 Emplacement de stockage

  • Données : ~/.agents/memory/memory.json (mémoire à quatre niveaux, JSON)
  • Vue d'ensemble : ~/.agents/memory/MEMORY.md (lu au début de chaque session)
  • Compétence elle-même : ~/.agents/skills/pi-memory-evo/ (outil + cette documentation)

⚠️ Limites

  • Ne pas stocker d'informations sensibles : token, mot de passe, clé — rien n'est sauvegardé.
  • Respecter la volonté de l'utilisateur : si l'utilisateur dit « ne note pas ça », ne pas sauvegarder ; s'il dit « oublie X », utiliser delete pour supprimer l'entrée correspondante.
  • La mémoire est une aide, elle ne remplace pas la confirmation : pour les actions importantes, c'est toujours l'intention actuelle de l'utilisateur qui prévaut.

Skills associés