Automatisation IA 13 mai 2026

2026-05-13 OpenClaw sur Mac mini loué sans interface : checklist SSH avant launchd, MCP et agents nocturnes

Équipe technique ProxyMac 13 mai 2026 ≈ 16 min de lecture

Les équipes qui louent un Mac mini Apple Silicon chez ProxyMac avec des nœuds à Hong Kong, au Japon, en Corée du Sud, à Singapour et aux États-Unis se connectent souvent d’abord en SSH—sans Finder ni partage d’écran—et veulent enchaîner OpenClaw sous launchd. L’omission la plus coûteuse est leprévol premier boot : les timeouts MCP sont attribués au réseau alors que lapression disque est ignorée ; « clé API manquante » passe pour un bug produit alors que leshell non-login n’hérite pas les variables. Cet article fournit (1) le public et la définition du terminé, (2) trois signaux quantifiables avant installation, (3) unematrice prévol à cinq colonnes, (4) unrunbook SSH en sept étapes prêt pour Confluence, (5) un tableau symptôme → remède, avec liens vers installation et déploiement, environnement MCP et launchd, jeton passerelle JSON et récupération launchctl. Pour cliquer les dialogues macOS : VNC. Spécifications : tarifs. Chemins : aide.

Public et définition de « terminé »

Pour le platform engineering et les responsables automatisation qui utilisent le mini comme passerelle OpenClaw permanente avec outils MCP et observabilité JSONL. « Terminé » signifie : après redémarrage à froid, reconnexion SSH en moins de 90 secondes, LaunchAgent démarré sans session ssh tenue à la main, etjournaux structurés prouvant les health checks modèle et outils. Si chaque reboot exige encore export, ce n’est pas terminé—c’est une dette d’environnement qui explosera avec les agents parallèles.

  • Cibles chiffrées : volume APFS pour JSONL et cache modèle avec au moins 25 % libre ; seulement brièvement sous 15 % pendant une fenêtre de maintenance planifiée.
  • Réalité latence : noter le RTT du portable d’exploitation vers la région ; si l’API control plane est sur un autre continent, prévoir mentalement 120–220 ms d’aller-retour pour les timeouts MCP.
  • Budget parallélisme : modéliser le pic avec quatre handshakes MCP simultanés pour les descripteurs de fichiers avant de dire « le réseau est bon ».

Trois signaux avant tout script d’installation

Capturer df -h et diskutil apfs listSnapshots /—les journaux append OpenClaw et les instantanés APFS laissés par les outils de migration se marchent souvent dessus. Afficher sysctl hw.optional.arm64 et uname -m pour confirmer arm64 Apple Silicon (éviter le mélange Rosetta/Node). Troisièmement comparer ssh host 'command -v openclaw' et ssh -t host zsh -lic 'command -v openclaw' ; en cas d’écart vous tournez dans le même cercle launchd que l’article environnement MCP. Collez les trois sorties au ticket—la relève hérite des faits, pas du bouche-à-oreille.

Chiffres utiles dans le ticket : pourcentage libre, compte d’inodes du dossier JSONL, durée murale d’un tour launchctl kickstart à froid (squelette passerelle sur M4 idéalement sous 12 secondes).

Matrice prévol : livrable, propriétaire, vérification, rollback, rayon d’explosion si sauté

Livrable Compte propriétaire Vérification Rollback Si on saute
Répertoire de travail même UID que LaunchAgent audit ACL ls -le archiver puis install -d -o demi-écritures silencieuses à l’installation d’outils
Chemin JSONL utilisateur rôle ex. _openclaw quota + politique de rotation backup, tronquer, resserrer la rotation pics d’écriture nocturne remplissent le volume
plist ProgramArguments domaine LaunchAgent non root plutil -lint + git diff launchctl bootout puis plist d’origine boucles de démarrage consomment le quota CPU
Secrets fournisseur modèle Trousseau ou fichier mode 600 sonde non interactive avec timeout rotation des clés, purge cache fuites cross-tenant dans un lab partagé
Liste services MCP SHA figée dans le dépôt checksum + sous-ensemble openclaw doctor checkout SHA précédente drift de schéma casse les agents

Runbook SSH en sept étapes (prêt pour Confluence)

  1. Baseline stockage : moins de 25 % libre → pas d’installation ; nettoyer ou monter de gamme—voir tarifs.
  2. Alignement horaire : NTP sain ; annoter date -u et l’intention région (HK / JP / KR / SG / US) à côté de la config pour corréler les logs multi-régions.
  3. Installer/mettre à jour OpenClaw : suivre le guide d’installation uniquement après snapshot PATH validé.
  4. Écrire le plist avec PATH figé : inclure /opt/homebrew/bin et les gestionnaires de runtime nécessaires—pas d’héritage implicite.
  5. Double fumée : passerelle en premier plan SSH, puis mêmes arguments avec launchctl kickstart ; comparer les lignes de jeton de démarrage JSONL.
  6. Brancher le diagnostic : activer JSONL et vérifier la rotation selon le guide journaux ; pas de croissance infinie en 48 heures.
  7. Passation : propriétaire reboot et gravité d’alerte ; lien vers l’article de récupération ; hash plist dans le ticket.
Interdit : coller des secrets prod dans l’historique shell d’un bastion partagé. Fichier env jetable chmod 600, supprimé en sécurité après validation plist.

Symptôme → cause probable → premier remède (toujours SSH)

Symptôme Cause probable Premier remède
code sortie MCP 127 PATH tronqué sous launchd chemins absolus ou script wrapper fin dans plist
CPU passerelle au repos 95 % boucle serrée ou écriture journal bloquante latence volume JSONL ; rotation selon le guide journaux
erreurs d’auth seulement après reboot jeton uniquement dans le profile shell déplacer vers EnvironmentVariables du plist ou trousseau—voir article jetons
handshake bloqué ~40 s DNS ou limitation de débit imite la perte de paquets baisser la parallélisation ; tests de résolution explicites sur le mini

Passer de SSH à VNC (et le garder rare)

Les cas TCC réglables par profils, droits et plist restent sur SSH. Ouvrir VNC pour cliquer « Enregistrement de l’écran », observer une automatisation UI GPU, ou aider un designer qui ne lit pas le JSONL. Sessions courtes : réduire la profondeur de couleur, suspendre les gros scp, combiner avec le réglage latence inter-régions pour garder la souris utilisable. Beaucoup de grappes OpenClaw en HK / JP / KR / SG / US n’ont besoin de VNC qu’une fois par génération matérielle, pas chaque semaine.

FAQ

Homebrew est-il obligatoire ? Non—mais si la doc le suppose implicitement, documentez l’hypothèse PATH dans la matrice sinon les incidents se répètent.

Toujours un compte admin personnel ? OK pour une démo ; en prod : comptes rôle, sudo restreint, propriétaires de journaux explicites.

Proxy HTTP d’entreprise ? Si SSH utilise ProxyCommand, l’egress MCP peut aussi—alignez d’abord les articles réseau avant de blâmer OpenClaw.

Pourquoi le Mac mini ProxyMac convient au OpenClaw headless

Le Mac mini M4 loué associe macOS natif et CPU single-tenant prévisible—idéal quand OpenClaw orchestre uniquement la chaîne Apple pendant que l’exploitation reste sur des portables Linux. Placer la passerelle en HK / JP / KR / SG / US rapproche la control plane des régions API sans monter cinq baies vous-mêmes. Après la checklist, vous conservez le même modèle économique métal qu’en CI : comparez les tarifs, répétez le SSH d’urgence via le centre d’aide, gardez VNC en secours, pas sur le chemin critique.

OpenClaw headless avec chaîne de preuve

Checklist · launchd · HK / JP / KR / SG / US