IA / Automatisation 13 avril 2026

OpenClaw sur Mac mini cloud : permissions TCC macOS pour accessibilité, capture d’écran et automatisation (2026)

Équipe Ingénierie ProxyMac 13 avril 2026 ~16 min de lecture

Les agents de type OpenClaw sur un Mac mini M4 loué à HK, JP, KR, SG ou US échouent de façon routinière : le démon démarre, les journaux semblent sains, pourtant aucune fenêtre active, aucun pixel, aucune frappe n’atteint votre cible d’automatisation. Neuf fois sur dix la cause est Transparency, Consent, and Control (TCC) — macOS refuse de relier l’accessibilité ou la capture d’écran tant qu’un humain n’a pas validé dans Réglages système. Ce guide 2026 propose une matrice des permissions en cinq colonnes, une séquence en sept étapes et des repères concrets sur les journaux pour terminer la configuration une fois, puis vous appuyer sur la planification LaunchAgent et les bonnes pratiques Trousseau pour les secrets sans surveiller un portable.

Pourquoi le TCC est plus bruyant sur Mac cloud que sur votre bureau

Sur un Mac perso on clique les invites machinalement. Sur ProxyMac on commence souvent par SSH, qui n’affiche jamais la modale. Pire, certaines équipes copient OpenClaw.app dans ~/Downloads ou un dossier synchronisé Dropbox — macOS considère que c’est un autre chemin de bundle et révoque silencieusement les accords passés. La solution est procédurale : /Applications, une session graphique interactive, puis l’automatisation.

  • Stabilité du bundle : glissez l’install dans /Applications avant que tout plist ne référence le binaire.
  • Parité d’utilisateur : l’UID qui approuve le TCC doit être celui qui exécute les jobs launchd — pas « installé en admin, exécuté en staff ».
  • Réalité à distance : les invites de capture s’affichent sur la console physique ; en VNC elles fonctionnent en général encore, mais la latence fait manquer le bandeau en coin — voyez la section VNC ci-dessous.

Matrice des permissions (ce qui casse quand chaque verrou reste fermé)

Parcourez ce tableau pendant l’onboarding avant d’imputer la latence modèle ou les quotas API.

Verrou Capacité OpenClaw concernée Symptôme visible Premier correctif Notes
Accessibilité Clics dans les menus, saisie dans les contrôles Cocoa natifs Journaux « AXUIElementCreateApplication failed » Désactiver/réactiver l’app dans la liste Accessibilité après mise à jour Verrouille aussi de nombreux ponts AppleScript
Capture d’écran Outils basés pixels, capture du canevas navigateur Images noires ou handles bitmap nuls Rouvrir le volet confidentialité ; macOS 15 peut exiger un nouveau consentement après petites mises à jour Impossible à accorder en pur headless
Automatisation (Apple Events) Scripting Safari/Chrome lorsque pris en charge « Not authorized to send Apple events » Approuver par appli cible dans la liste Automatisation Coupler avec des profils navigateur moindre privilège
Fichiers et dossiers (Téléchargements/Bureau) Lecture d’arborescences projet, écriture d’artefacts ENOENT alors que le chemin existe dans le Finder Accorder des dossiers explicites ; éviter l’accès disque complet sauf politique Repos projet sous ~/Developer limitent l’emballement du périmètre
Micro / caméra Réveil vocal, bots de réunion Alerte OS immédiate ou périphériques de capture vides Tester une fois avec QuickTime pour amorcer les invites Souvent ignoré pour agents purement texte — documentez « non utilisé »

Séquence en sept étapes (ne pas réordonner)

  1. Réserver une fenêtre graphique : connectez-vous en partage d’écran ou KVM sur site pour voir les invites en haut à droite.
  2. Installer dans /Applications et supprimer les copies orphelines afin d’éviter des identifiants de bundle dupliqués dans les listes de confidentialité.
  3. Lancer OpenClaw une fois de façon interactive depuis le Finder — pas via sudo open — pour que le processus demandeur corresponde aux futurs LaunchAgents.
  4. Parcourir Confidentialité et sécurité dans cet ordre : Accessibilité → Capture d’écran → Automatisation → Fichiers (si besoin) → Micro/Caméra.
  5. Déclencher volontairement un outil en échec (par ex. une capture d’écran anodine) pour forcer l’OS à insérer la ligne d’application si elle n’apparaît pas seule.
  6. Redémarrer une fois ; les caches TCC sont tenaces et un redémarrage sépare « refus mis en cache » de la vraie politique.
  7. Seulement maintenant déposer le LaunchAgent du guide planification sans présence et vérifier les journaux sous ~/Library/Logs ou le chemin choisi.
Ne jamais stocker l’état sur iCloud Drive : les dossiers synchronisés corrompent l’état agent adossé à SQLite et brouillent les contrôles de signature. Conservez l’état sur un volume local documenté dans le centre d’aide.

LaunchAgents, loginwindow et demi-vérités headless

Les agents sous launchd héritent des décisions TCC du même utilisateur après validation interactive. Ils n’héritent pas des accords obtenus en root lors d’un install erroné en sudo — ce décalage produit le fameux « marche dans le Terminal, échoue dans le plist ». Alignez les clés UserName (s’il y en a) avec le compte qui a cliqué Autoriser.

Lien utile : une fois les permissions stables, faites tourner les secrets avec les modèles Trousseau pour que les démons sans affichage ne lisent jamais de clés API en clair dans des dictionnaires d’environnement plist lisibles par tous.

VNC à distance : rendre les invites visibles sans vol vers le datacenter

Les clients ProxyMac joignent en général le mini via partage d’écran chiffré. Cela suffit pour le TCC si vous désactivez temporairement la compression (texte net pour les minuscules cadenas), si personne ne ferme la fenêtre confidentialité en plein flux, et si vous évitez les chaînes « distant dans distant » qui réduisent le chrome UI sous le seuil d’usage. Suivez la référence VNC pour le débit ; croisez avec SSH vs VNC pour savoir quand repasser en flux purement CLI pendant les verrouillages.

Trois chiffres concrets et où creuser ensuite

  • Les sept étapes plist ci-dessus correspondent 1:1 au JSON-LD HowTo de cette page — servez-vous-en comme critères d’acceptation dans votre wiki interne.
  • Trois familles de journaux à suivre après chaque changement de permission : le fichier journal de l’agent, log stream --predicate 'subsystem == "com.apple.TCC"' (filtré sur votre fenêtre de test), et des extraits de /var/log/system.log que votre équipe sécurité ingère déjà.
  • Cinq régions impliquent parfois de répéter l’onboarding par hôte métal — scriptez la check-list, mais ne scriptez pas les clics sur Autoriser ; c’est fragile et contraire à la conception d’Apple.

FAQ

Puis-je accorder la capture d’écran uniquement par SSH ? Non — macOS exige une session graphique pour plusieurs invites. Utilisez une fois le VNC, terminez les validations, revenez au SSH.

Pourquoi les permissions ont-elles sauté après clonage du disque ? Le TCC lie les accords au bundle ID et à la signature. Clones ou builds divergents exigent un nouveau consentement.

Le LaunchAgent hérite-t-il du même TCC ? Oui lorsqu’il partage le même amorçage utilisateur ; non lorsque les UID diffèrent ou que les jobs tournent en root sans GUI.

Pourquoi le Mac mini ProxyMac est le bon métal pour OpenClaw une fois le TCC réglé

Les agents ne sont fiables que dans la mesure de l’isolation matérielle sous-jacente. Un Mac mini Apple Silicon M4 dédié offre des navigateurs arm64 natifs, un CPU mono-locataire prévisible pour les appels d’outils concurrents, et la même pile macOS que les frameworks Apple attendent — lorsque la capture d’écran est active, vous captez de vraies surfaces Metal, pas des bizarreries x86 émulées. Héberger en HK / JP / KR / SG / US rapproche l’automatisation des API que votre activité appelle déjà, tandis que le modèle d’accès SSH/VNC de ProxyMac colle à la façon dont les équipes plateforme déboguent le TCC : shell pour les journaux, GUI pour le consentement. Louer plutôt qu’acheter transforme la dépense capex en expériences bornées dans le temps — idéal pour les pilotes agents 2026 qui peuvent pivoter chaque mois. Pour le budget et l’accompagnement, enchaînez tarifs, aide et VNC avant de figer une région.

Finalisez le TCC une fois, automatisez partout

Centre d’aide, guide VNC, puis région Mac mini — voir aussi les tarifs