AI Automation

>> OpenClaw + AppleScript : contrôler les apps Mac en local

OpenClaw AppleScript Automatisation Macdonne à une passerelle d'agent en texte uniquement un corps physique sur le bureau macOS : outil shell, script de pont et contrôle d'application natif dans une seule session connectée.

OpenClaw AppleScript automatisation Mac pont Apple Silicon Mac mini
Divulgation:SlimVps exploite la location de Mac dans le cloud ; ce guide est indépendant du fournisseur concernant OpenClaw, AppleScript et Automator. Les logiciels d'agent tiers et les autorisations macOS relèvent de votre responsabilité.

Introduction

La plupart des équipes courentOpenClawsous forme de texte uniquement operator : canaux de passerelle, outils HTTP et extraits de shell qui ne touchent jamais la session graphique. Cela laisse un vide...applications Mac natives(Keynote, Mail, Music, System Settings) vivent derrière la couche d'automatisation GUI d'Apple, et non à l'intérieur d'un canal SSH sans tête.

OpenClaw AppleScript Automatisation Maccomble cet écart avec un effort délibérémodèle de pont: OpenClaw natif de OpenClawoutil de coqueappelle un petit point d'entrée bash, qui distribueAppleScript (osascript) ouAutomatorflux de travail enregistrés sous.workflow/ bundles d'applications. L'agent planifie toujours en langage naturel ; macOS exécute toujours les actions de l'interface utilisateur dans la session utilisateur connectée.

Il ne s’agit pas de « casser » le bac à sable d’Apple du point de vue de la sécurité : vous l’accordez.AutomationetAccessibilitéautorisations explicitement. Vous donnez à OpenClaw uncorps physiquesur le bureau Mac : ouvrez Keynote, exportez un PDF, augmentez le volume, atténuez l'affichage, pendant que les réponses au chat continuent sur Telegram ou Slack.

Associez ce guide avecOpenClaw + Ollama sur un cloud Mac minilorsque vous souhaitez des modèles locaux pour la planification et une automatisation macOS pour l'exécution. CompletOpenClaw déploiement légerd'abord pour que l'état de la passerelle, launchd et les filigranes de disque soient stables avant d'activer les outils GUI.

SelonDocumentation d'automatisation macOS d'Apple, AppleScript et Automator sont les ponts pris en charge entre les scripts et les applications scriptables.

Architecture : pont en coquille → AppleScript / Automator

Flux de données

Channel message → OpenClaw planner → shell tool "mac_desktop" → ~/bin/openclaw-mac-bridge.sh (JSON args) → osascript (inline .scpt) OR open MyWorkflow.app → Target app (Keynote, System Events, …) → stdout JSON { "ok": true, "artifact": "/path/file.pdf" }

Tableau des composants

CoucheChemin / artefactResponsabilité
Politique du planificateur~/.openclaw/skills/mac-desktop/SKILL.mdQuand appeler les actions du bureau ; actions interdites
Enregistrement des outils~/.openclaw/config/tools/mac_desktop.jsonCommande Shell + timeout + env
Script de pont~/bin/openclaw-mac-bridge.shValider JSON, dispatcher les actions, journaliser
AppleScript bibliothèque~/Library/Application Support/OpenClaw/scripts/*.applescriptRéutilisable Keynote / volume / luminosité
Automator exportation~/Library/Application Support/OpenClaw/workflows/ExportKeynotePDF.workflowSéquences multi-applications complexes
Journal d'audit~/.openclaw/logs/mac-desktop.logaction, duration_ms, code de sortie

Règle de session :GUI l'automatisation nécessite unutilisateur macOS connectéavec une session graphique (console locale, ou partage d'écran sur un Mac cloud). Les sessions SSH uniquement sans GUI ne peuvent pas piloter Keynote.

Pourquoi pas de la pure coquille ?

Tâchecurl/CLIAppleScript / Automator
Exporter Keynote vers PDFPas de CLI publique stableexportcommande dans le dictionnaire Keynote
Définir la luminosité de l'écranPas de one-liner portabletell application "System Events"
Approuver une boîte de dialogue du FinderImpossible sans têteScript d'interface utilisateur avec accessibilité

Runbook en huit étapes

Étape 1 — Passerelle de base et session GUI

ssh user@your-mac openclaw --version curl -s http://127.0.0.1:11430/health whoami ls /dev/console # should exist when GUI session active

Critères de réussite : passerelleHTTP200, volume de démarrage≥25 Gogratuit (identique àGarde-corps 72 heures).

Étape 2 — Créer des répertoires de pont

mkdir -p ~/bin mkdir -p "$HOME/Library/Application Support/OpenClaw/scripts" mkdir -p "$HOME/Library/Application Support/OpenClaw/workflows" mkdir -p ~/.openclaw/logs chmod 700 ~/bin/openclaw-mac-bridge.sh 2>/dev/null || true

Étape 3 — Installez le script de pont

Sauvegarder~/bin/openclaw-mac-bridge.sh:

#!/usr/bin/env bash set -euo pipefail LOG="$HOME/.openclaw/logs/mac-desktop.log" ACTION="${1:-}" ARG_JSON="${2:-{}}" ts() { date -u +"%Y-%m-%dT%H:%M:%SZ"; } case "$ACTION" in keynote_export_pdf) DECK="${ARG_JSON:-}" OUT="${3:-$HOME/Desktop/openclaw-export.pdf}" osascript "$HOME/Library/Application Support/OpenClaw/scripts/keynote_export_pdf.applescript" "$DECK" "$OUT" echo "{\"ok\":true,\"artifact\":\"$OUT\"}" ;; set_volume) LEVEL="${ARG_JSON:-50}" osascript -e "set volume output volume $LEVEL" echo "{\"ok\":true,\"volume\":$LEVEL}" ;; set_brightness) LEVEL="${ARG_JSON:-0.5}" osascript "$HOME/Library/Application Support/OpenClaw/scripts/set_brightness.applescript" "$LEVEL" echo "{\"ok\":true,\"brightness\":$LEVEL}" ;; run_automator) WF="${ARG_JSON:-}" open -a "$WF" echo "{\"ok\":true,\"workflow\":\"$WF\"}" ;; *) echo "{\"ok\":false,\"error\":\"unknown_action\"}" >&2 exit 2 ;; esac >>"$LOG" 2>&1

chmod 750 ~/bin/openclaw-mac-bridge.sh

Étape 4 — Ajouter des assistants AppleScript

keynote_export_pdf.applescript:

on run argv set deckPath to item 1 of argv set outPath to item 2 of argv tell application "Keynote" activate set docRef to open POSIX file deckPath export docRef to POSIX file outPath as PDF close docRef saving no end tell end run

set_brightness.applescript(utilise System Events ; nécessite l'accessibilité) :

on run argv set level to item 1 of argv as number tell application "System Events" tell appearance preferences set brightness to level end tell end tell end run

Test de fumée manuellement :

osascript "$HOME/Library/Application Support/OpenClaw/scripts/set_volume.applescript" 40 # or inline: osascript -e 'set volume output volume 40'

Étape 5 — Créez un flux de travail Automator (facultatif)

  1. OuvrirAutomator→ NouveauAction rapideouApplication.
  2. AjouterExécutez AppleScript→ collez Keynote étapes d'exportation.
  3. Enregistrer sousExportKeynotePDF.workflowsous~/Library/Application Support/OpenClaw/workflows/.
  4. Test:open -a "$HOME/Library/Application Support/OpenClaw/workflows/ExportKeynotePDF.workflow"

Inscrivez-vous sur le pont en tant querun_automatorlorsque les séquences dépassent ~ 30 lignes de AppleScript.

Étape 6 — Enregistrez l'outil shell OpenClaw

Ajouter sous~/.openclaw/config/tools/(le schéma exact varie selon la version) :

{ "name": "mac_desktop", "description": "Control native Mac apps via AppleScript/Automator. Actions: keynote_export_pdf, set_volume, set_brightness, run_automator. Args: action string, JSON payload, optional third path.", "type": "shell", "command": "/Users/OPERATOR/bin/openclaw-mac-bridge.sh", "timeout_seconds": 120, "allowed_actions": ["keynote_export_pdf", "set_volume", "set_brightness", "run_automator"] }

RemplacerOPERATORavec le compte macOS exécutant la passerelle. Gardez l'outilhandicapé en laboratoirejusqu'à ce que l'étape 7 soit réussie.

Étape 7 — Créer la stratégie SKILL.md

Créer~/.openclaw/skills/mac-desktop/SKILL.md:

# Mac Desktop Automation (AppleScript) ## When to use - User asks to export slides, adjust volume/brightness, or open a native app. - Channel message includes `/deck` or `export pdf` with a file path on the Mac. ## Never - Delete files outside ~/OpenClawExports without human confirmation. - Change System Settings security/privacy panes. - Run Automator workflows not listed in allowed_actions. ## Steps 1. Confirm deck path exists: `test -f path`. 2. Call mac_desktop with keynote_export_pdf. 3. Reply with artifact path and file size from `stat -f%z`.

Redémarrez la passerelle après les changements d'outil et de compétence.

Étape 8 — Canaliser la fumée avec des garde-corps

  1. Envoyez un message test : « Réglez le volume sur 35 %. »
  2. Envoyer : « Exporter/Users/you/Decks/Q2.keyà PDF.
  3. Vérifier~/.openclaw/logs/mac-desktop.logmontresortie 0et JSON sortie standard.

Activeruncanal de messagerie uniquement : voircanaux de passerelle. Limiter les actions simultanées sur le bureau à1sur les hôtes 16GB pour éviter Keynote + conflits de modèles importants.

Dépannage

Erreur:Not authorized to send Apple events to Keynote

Modèle: osascriptsortie1, le journal contientNot authorized.

Réparer:Sur Mac →System Settings → Confidentialité et amp; Sécurité → Automatisation→ autoriserosascript(ou Terminal/iTerm) pour contrôlerKeynote. Réexécutez le test de fumée de l’étape 4. Pour les Mac cloud, effectuez une fois par image instantanée.

Erreur:GUI scripting is not allowed

Modèle:le script de luminosité échoue ; System Events erreur-25211.

Réparer:AccorderAccessibilitéau terminal/ssh parent de session parL'accessibilité d'Apple guide. Préférez baisser la luminosité viabrightnessuniquement pendant les heures interactives : documentez la politique dans SKILL.md.

Implications opérationnelles

MoniteurSeuilAction
mac-desktop.logtaille>200MB sur 256GBRotation hebdomadaire
Latence du pont>90sFractionner le flux de travail Automator ; préchauffer Keynote
Taux d'automatisation échouée> 3/heureDésactiver l'outil ; alerter l'humain operator
GUI séancedéconnectéCanal de pause ; reconnecter la console

Sérialiser les tâches de bureau avec Ollama : ne pas exécuterModèle local 14B + Keynote exportationsimultanément sur16GBmémoire unifiée.

FAQ

OpenClaw peut-il contrôler les applications Mac sans AppleScript ?
Seulement partiellement. Les outils Shell gèrent les binaires CLI ;applications natives GUIbesoin de AppleScript, Automator ou de raccourcis. Le modèle de pont maintient le planificateur de OpenClaw inchangé pendant que macOS exécute le travail de l'interface utilisateur.

AppleScript fonctionne-t-il uniquement sur SSH ?
Non.osascriptcible lesession graphique connectée. Utilisez l'accès à la console ou le partage d'écran sur un Mac distant et exécutez la passerelle sous ce même utilisateur.

Comment déclencher Automator à partir de OpenClaw ?
Registrerun_automatordans le script de pont et appelezopen -a /path/to/Workflow.app. Transmettez les arguments via un plist ou un fichier side-car JSON que le workflow lit lors de sa première action.

Est-ce sans danger pour les agents de production ?
Traitez les outils de bureau commegrand privilège. Limiterallowed_actions, enregistrez chaque invocation et exigez l'approbation humaine pour les chemins destructeurs. SuivreOpenClaw sécuritépour les liaisons de passerelle localhost.

Est-ce que cela fonctionnera sur Apple Silicon Mac mini M4 ?
Oui. AppleScript et Automator sont neutres en termes d'architecture sur macOS 14+. La pression RAM de Keynote + OpenClaw + Ollama est le limiteur pratique : effectuez un travail lourd à la fois sur 16GB.

Quel est le rapport entre SKILL.md et AppleScript ?
SKILL.md enseignequandle planificateur invoquemac_desktop; AppleScript/Automator définitcommentmacOS exécute l'action. Mettez à jour SKILL.md chaque fois que vous ajoutez un nouveau fichier de workflow.

Conclusion

OpenClaw AppleScript Automatisation Mactransforme une passerelle de texte en bureau operator : outil shell → script de pont →osascript/ Automator → applications natives. Le modèle est une faible concurrence car la plupart des didacticiels s’arrêtent aux réponses au chat.

Commencez parvolume + Keynote PDFtests de fumée, renforcez les autorisations une fois par machine, puis câblez les intentions de canal dans SKILL.md. Gardez la promotion hors des sentiers battus : il s'agit d'un pont d'ingénierie, pas d'un argumentaire de location.

// SYS.CTA

Besoin d'une session GUI pour l'automatisation bureau ?

Les Mac cloud avec session graphique connectée supportent les ponts AppleScript aux côtés d'OpenClaw.