À propos du projet

# opencode-supermemory **Mémoire persistante pour OpenCode, propulsée par [Supermemory](https://supermemory.ai)** Ce plugin donne aux agents OpenCode une mémoire persistante à travers les sessions et les projets. Il injecte automatiquement le contexte pertinent, capture les tours de conversation et fournit des outils pour stocker et récupérer des souvenirs. ## Installation ```bash bunx opencode-supermemory@latest install bunx opencode-supermemory@latest login # ou définir SUPERMEMORY_API_KEY bunx opencode-supermemory@latest status # vérifier la connexion à tout moment ``` Ou collez ceci dans OpenCode : `Install opencode-supermemory by following https://raw.githubusercontent.com/supermemoryai/opencode-supermemory/main/README.md` Commandes en chat : `/supermemory-init`, `/supermemory-login`, `/supermemory-logout`, `/supermemory-status`. ## Fonctionnalités - **Injection de contexte** : Au premier message d'une session, l'agent reçoit votre profil, les connaissances du projet et, éventuellement, une recherche sémantique sur les souvenirs personnels. - **Rappel raisonné** : À chaque tour, l'agent décide si rappeler un souvenir serait utile avant de répondre, en recherchant via l'outil `supermemory` uniquement si nécessaire. - **Capture automatique** : Les tours terminés sont enregistrés tous les `captureEveryNTurns` tours, le reste étant vidé à la fin de la session. Le contenu `<private>` est expurgé. - **Détection de mots-clés** : Dire "remember", "save this", "don't forget" (ou des motifs personnalisés) incite l'agent à enregistrer en mémoire. - **Indexation du codebase** : `/supermemory-init` explore et mémorise la structure, les motifs et les conventions du codebase. - **Compaction préventive** : À 80 % de la capacité du contexte, déclenche une synthèse, injecte les souvenirs du projet dans le résumé et enregistre le résumé comme souvenir. - **Confidentialité** : Le contenu entouré de `<private>...</private>` n'est jamais stocké. - **Notifications de mise à jour** : Vérifie npm pour les nouvelles versions au démarrage de la session. ## Utilisation de l'outil L'outil `supermemory` prend en charge les modes : `add`, `search`, `profile`, `list`, `forget`, `help`. Portées : `user` (personnel) et `project` (par défaut). Les types incluent `project-config`, `architecture`, `error-solution`, `preference`, `learned-pattern`, `conversation`. ## Portée de la mémoire Les souvenirs sont étiquetés avec `repo_{project-name}__{repository-hash}` et les métadonnées `sm_scope` (personnel ou projet). Le hash provient de l'origine Git normalisée, de sorte que Claude Code, Codex, Cursor et OpenCode partagent le même conteneur pour le même dépôt. Les conteneurs hérités des versions plus anciennes restent lisibles. ## Configuration Variables d'environnement : `SUPERMEMORY_API_KEY`, `SUPERMEMORY_API_URL`/`SUPERMEMORY_BASE_URL`, `SUPERMEMORY_AUTH_URL`, `SUPERMEMORY_AUTH_TIMEOUT`, `SUPERMEMORY_REPO_TAG`, `SUPERMEMORY_ISOLATE_WORKTREES`, `SUPERMEMORY_DEBUG`. Le fichier de configuration `~/.config/opencode/supermemory.jsonc` prend en charge des options comme `similarityThreshold`, `maxMemories`, `injectProfile`, `autoRecallEveryPrompt`, `keywordPatterns`, `compactionThreshold`, `captureEveryNTurns`, `recallMode` (direct/advisory/off) et des remplacements de balises de conteneur. ## Utilisation avec Oh My OpenCode Désactivez son hook de compactage automatique pour éviter les conflits : ajoutez `{"disabled_hooks": ["anthropic-context-window-limit-recovery"]}` à `~/.config/opencode/oh-my-opencode.json`. ## Développement ```bash bun install bun run build bun run typecheck ``` Journaux : `tail -f ~/.opencode-supermemory.log` ## Licence MIT