Harness MaxxingDocumentation
📚 Toutes les pages

📡 Connexions · 4 min de lecture

💾Sauvegarde de la mémoire

Vos fichiers CLAUDE.md et memory.md sont la partie la plus précieuse de l'installation : des mois de décisions, de préférences et de contexte. La sauvegarde les envoie chaque jour vers un dépôt GitHub privé, avec l'historique complet.

Ce qui est sauvegardé

Uniquement une liste blanche, relative à l'espace de travail :

  • toujours : tous les fichiers CLAUDE.md et memory.md, ainsi que CUSTOMIZATIONS.md et customizations/*.patch (vos modifications du code du produit, voir Personnalisation) ;
  • par défaut, aussi : **/NOTES.md, tasks.json, projects/*/topics/*/accounts.md (l'inventaire des abonnements, conservé dans general/inbox), extensions/**, .claude/skills/** (modifiable dans Paramètres -> Sauvegarde) ;
  • ainsi que les réglages non secrets (fuseau horaire, langue, modèle par défaut, disposition du tableau de bord...) et vos tâches planifiées, dans un dossier _maxxing/.

Jamais sauvegardés, même si un motif correspond : secrets.json, les clés, les fichiers .env, les clés privées, les identifiants, les journaux, attachments/, .git, node_modules, les environnements virtuels, et les fichiers de plus de 5 Mo.

Contrôles de sécurité

  • Détecteur de secrets : avant chaque commit, chaque fichier est analysé pour repérer de vrais formats de secrets (clés de type Anthropic et OpenAI, jetons GitHub, jetons Slack, clés AWS, jetons de bot Telegram, jetons Shopify, clés Stripe et secrets de webhook, clés d'API Google, jetons npm, Hugging Face et SendGrid, jetons web JSON, clés privées (PGP aussi), un mot de passe dans une adresse (postgres://user:Pa55word@host) et un mot de passe écrit à côté de son libellé, comme password: Hunter2xyz9 ou "password": "…" - utile dans accounts.md ; les fichiers UTF-16 sont lus aussi). Si un secret est trouvé, la sauvegarde s'arrête avant d'envoyer quoi que ce soit et vous indique quel fichier et quel type de secret (jamais la valeur). Retirez-le du fichier – ne gardez que le nom de la clé, rangez la valeur dans Paramètres -> Clés – puis relancez.
  • Privé uniquement : le dépôt doit être privé ; cela est vérifié lorsque vous le configurez, puis de nouveau avant chaque envoi. S'il devient public, les sauvegardes s'arrêtent.
  • Le jeton GitHub est stocké dans secrets.json (mode 600) et n'est jamais écrit dans un fichier de configuration git.

Mise en place (Paramètres -> Sauvegarde)

  1. Sur GitHub, créez un fine-grained personal access token (jeton d'accès personnel à permissions détaillées) :
  2. Accès au dépôt : uniquement le dépôt de sauvegarde (ou tous les dépôts si vous voulez que Claude Maxxing le crée) ;
  3. Permissions : Contents: read and write, Metadata: read ; ajoutez Administration: read and write uniquement si le dépôt doit être créé pour vous.
  4. Dans Paramètres -> Sauvegarde, saisissez owner/name et le jeton ; cochez « créer le dépôt » s'il n'existe pas encore.
  5. Cliquez sur Sauvegarder maintenant et vérifiez le commit sur GitHub.

Une tâche quotidienne Sauvegarde de la mémoire est créée (par défaut à 04:40). Modifiez l'horaire et la liste blanche dans Paramètres -> Sauvegarde.

Restauration

  • Paramètres -> Sauvegarde -> Restaurer (ou maxxing backup restore) : restaure les fichiers de la liste blanche du dernier commit (ou d'un commit choisi). Les fichiers qui seraient écrasés sont d'abord déplacés vers la corbeille (/var/lib/claude-maxxing/trash/backup-restore-<date>/).
  • Sur un nouveau serveur (aucune session encore démarrée : la restauration de l'installateur, un déménagement vers un autre serveur), tout revient comme avant, tâches et extensions activées. Sur un serveur déjà utilisé, le code qui s'exécute sur le serveur revient désactivé : les tâches planifiées (shell ou Claude) que ce serveur n'a pas déjà à l'identique, et les extensions dont au moins un fichier de code est écrit par la restauration (désactivées avant l'écriture de leurs fichiers : leur code ne s'exécute jamais, pas même un instant) ; les hooks de Claude Code et les autres réglages qui exécutent une commande ou redirigent Claude (statusLine, apiKeyHelper, env, serveurs MCP de projet...) sont retirés des fichiers .claude/settings.json restaurés (conservés dans hooks-held.json dans le dossier de corbeille de la restauration) ; les fichiers que la liste de sauvegarde de ce serveur ne couvre pas (un .mcp.json, un script...) ne sont pas écrits mais mis de côté dans le dossier outside de la corbeille de la restauration ; les serveurs MCP locaux (une commande que Claude Code lance à chaque tour) ne sont pas rajoutés - ils sont enregistrés dans mcp-held.json dans le dossier de corbeille de la restauration, ajoutez de nouveau ceux auxquels vous faites confiance dans Paramètres → MCP (les serveurs distants, une URL, sont restaurés). Les skills et personnalisations restaurés sont listés pour que vous les examiniez avant de les utiliser. Une notification récapitule tout cela ; vérifiez-le, puis activez ce qui convient dans Tâches planifiées et Extensions. Sinon, toute personne pouvant envoyer des modifications vers le dépôt de sauvegarde pourrait faire exécuter son code ici. La tâche de sauvegarde de la mémoire elle-même reste activée.
  • Une ancienne version d'un seul fichier : parcourez son historique sur GitHub et recopiez-la.

Déménager vers un nouveau serveur

curl -fsSL https://get.harness-maxxing.com | RESTORE_FROM=owner/name RESTORE_TOKEN=<token> bash

L'installateur restaure votre mémoire, vos réglages et vos tâches. Ensuite, connectez-vous, saisissez de nouveau ce qui n'est jamais sauvegardé (jeton Claude, jeton du bot Telegram, Clés), et reliez de nouveau Telegram – arrêtez d'abord l'ancien serveur : un bot ne peut être servi que par un seul serveur.

Ligne de commande

maxxing backup status [--json]
maxxing backup run
maxxing backup restore [--ref <commit>]
maxxing backup restore --from owner/name      # token from $MAXXING_GITHUB_TOKEN or prompted
💡 Bloqué ? Ouvrez une session dans le topic system › help et posez votre question avec vos mots : Claude lit cette doc sur votre serveur et vous répond.✏️ Améliorer cette page