>> OpenClaw×AppleScript:Mac デスクトップを AI が操作する橋渡し
OpenClaw AppleScript Mac オートメーションテキスト専用のエージェント ゲートウェイに、macOS デスクトップ上の物理的な本体、つまり 1 つのログイン セッションでシェル ツール、ブリッジ スクリプト、およびネイティブ アプリ コントロールを提供します。
導入
ほとんどのチームが走るOpenClawテキストのみの operator: グラフィカル セッションに触れることのないゲートウェイ チャネル、HTTP ツール、およびシェル スニペット。そうなると隙間ができてしまう――ネイティブ Mac アプリ(Keynote、メール、音楽、System Settings) は、ヘッドレス SSH パイプ内ではなく、Apple の GUI オートメーション層の背後に存在します。
OpenClaw AppleScript Mac オートメーション意図的にそのギャップを埋めるブリッジパターン: OpenClawのネイティブシェルツール小さな bash エントリポイントを呼び出し、AppleScript (osascript) またはAutomatorとして保存されたワークフロー.workflow/アプリケーションバンドル。エージェントは依然として自然言語で計画を立てます。 macOS は、ログインしたユーザー セッションで引き続き UI アクションを実行します。
これはセキュリティの意味で Apple のサンドボックスを「破壊」するものではありません。オートメーションそしてアクセシビリティ明示的に許可を与えます。 OpenClaw を与えています肉体Mac デスクトップの場合: Keynote を開き、PDF をエクスポートし、音量を調整し、ディスプレイを暗くします。その間、チャットの返信は Telegram または Slack で続行されます。
この guide とペアリングしますOpenClaw + Ollama クラウド上 Mac mini計画にはローカル モデルが必要で、実行には macOS 自動化が必要な場合。完了OpenClaw ライトデプロイGUI ツールを有効にする前に、まずゲートウェイの状態、launchd、およびディスク ウォーターマークが安定しているようにします。
によるとApple の macOS 自動化ドキュメント、AppleScript および Automator は、スクリプトとスクリプト可能アプリケーションの間でサポートされているブリッジです。
アーキテクチャ: シェルブリッジ → AppleScript / Automator
データの流れ
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" }
成分表
| 層 | パス/アーティファクト | 責任 |
|---|---|---|
| プランナーポリシー | ~/.openclaw/skills/mac-desktop/SKILL.md | デスクトップ アクションを呼び出すタイミング。禁止行為 |
| ツールの登録 | ~/.openclaw/config/tools/mac_desktop.json | シェルコマンド + タイムアウト + 環境 |
| ブリッジスクリプト | ~/bin/openclaw-mac-bridge.sh | JSON を検証し、アクションをディスパッチし、ログを記録します |
| AppleScript 図書館 | ~/Library/Application Support/OpenClaw/scripts/*.applescript | 再利用可能 Keynote / 音量 / 明るさ |
| Automator エクスポート | ~/Library/Application Support/OpenClaw/workflows/ExportKeynotePDF.workflow | 複雑な複数アプリのシーケンス |
| 監査ログ | ~/.openclaw/logs/mac-desktop.log | アクション、duration_ms、終了コード |
セッションルール:GUI 自動化にはログイン済みの macOS ユーザーグラフィカル セッション (ローカル コンソール、またはクラウド Mac 上の画面共有) を使用します。 GUI のない SSH のみのセッションでは Keynote を駆動できません。
なぜピュアシェルではないのでしょうか?
| タスク | curl/CLI | AppleScript / Automator |
|---|---|---|
| Keynote を PDF にエクスポート | 安定したパブリック CLI はありません | exportKeynote 辞書内のコマンド |
| ディスプレイの明るさを設定する | ポータブルなワンライナーはありません | tell application "System Events" |
| Finder ダイアログの承認 | 不可能なヘッドレス | アクセシビリティを備えた UI スクリプト |
8 ステップのランブック
ステップ 1 — ベースライン ゲートウェイと 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
合格基準: ゲートウェイHTTP200、ブートボリューム25GB以上無料(同じ72時間ガードレール).
ステップ 2 — ブリッジディレクトリを作成する
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
ステップ 3 — ブリッジスクリプトをインストールする
保存~/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
ステップ 4 — 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(System Events を使用; アクセシビリティが必要):
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
手動で煙テストを行う:
osascript "$HOME/Library/Application Support/OpenClaw/scripts/set_volume.applescript" 40
# or inline:
osascript -e 'set volume output volume 40'
ステップ 5 — Automator ワークフローを構築する (オプション)
- 開けるAutomator→新規クイックアクションまたは応用.
- 追加AppleScript を実行します→ Keynote エクスポート手順を貼り付けます。
- 名前を付けて保存
ExportKeynotePDF.workflow下~/Library/Application Support/OpenClaw/workflows/. - テスト:
open -a "$HOME/Library/Application Support/OpenClaw/workflows/ExportKeynotePDF.workflow"
としてブリッジに登録しますrun_automatorシーケンスが AppleScript の約 30 行を超える場合。
ステップ 6 — OpenClaw シェルツールを登録する
下に追加~/.openclaw/config/tools/(正確なスキーマはビルドによって異なります):
{
"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"]
}
交換するOPERATORmacOS アカウントでゲートウェイを実行します。工具を保管しておいてください研究室では無効になっていますステップ 7 が完了するまで。
ステップ 7 — SKILL.md ポリシーを作成する
作成する~/.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`.
ツールとスキルを変更した後、ゲートウェイを再起動します。
ステップ 8 — ガードレールで煙を排出する
- 「音量を 35% に設定してください」というテスト メッセージを送信します。
- 送信:「エクスポート
/Users/you/Decks/Q2.keyPDFまで。」 - 確認する
~/.openclaw/logs/mac-desktop.logショー0番出口および JSON 標準出力。
有効にする1つメッセージング チャネルのみ - を参照ゲートウェイチャネル。同時デスクトップアクションの制限116GB ホストでは、Keynote + 重度のモデル競合を回避します。
トラブルシューティング
エラー:Not authorized to send Apple events to Keynote
パターン: osascript出口1、ログには次の内容が含まれますNot authorized.
修理:Macの場合→System Settings → プライバシーとセキュリティ → 自動化→許可するosascript(またはターミナル/iTerm) を制御するKeynote。ステップ 4 の煙テストを再実行します。クラウド Mac の場合は、スナップショット イメージごとに 1 回実行します。
エラー:GUI scripting is not allowed
パターン:明るさスクリプトが失敗します。 System Events エラー-25211.
修理:付与アクセシビリティターミナル/ssh セッションの親へApple のアクセシビリティ guide。明るさを下げることをお勧めしますbrightnessインタラクティブな時間帯のみ - SKILL.md にポリシーを文書化します。
運用上の影響
| モニター | しきい値 | アクション |
|---|---|---|
mac-desktop.logサイズ | >200MB 256GB | 毎週ローテーションする |
| ブリッジの遅延 | >90s | Automator ワークフローを分割します。ウォーム前 Keynote |
| 自動化失敗率 | >3/時間 | ツールを無効にします。警告人間 operator |
| GUI セッション | 切断された | チャンネルを一時停止します。コンソールを再接続する |
Ollama を使用してデスクトップ ジョブをシリアル化します: 実行しません14B ローカル モデル + Keynote エクスポート同時に16GB統合された記憶。
よくある質問
OpenClaw は AppleScript なしで Mac アプリを制御できますか?
部分的にのみ。シェル ツールは CLI バイナリを処理します。ネイティブ GUI アプリAppleScript、Automator、またはショートカットが必要です。ブリッジ パターンでは、macOS が UI 作業を実行している間、OpenClaw のプランナーは変更されません。
AppleScript は SSH 単独で機能しますか?
いいえ。osascriptを対象とするログインしたグラフィカルセッション。コンソール アクセスまたはリモート Mac での画面共有を使用し、同じユーザーでゲートウェイを実行します。
OpenClaw から Automator をトリガーするにはどうすればよいですか?
登録するrun_automatorブリッジスクリプトで呼び出してくださいopen -a /path/to/Workflow.app。ワークフローが最初のアクションで読み取る plist またはサイドカー JSON ファイルを介して引数を渡します。
これは制作エージェントにとって安全ですか?
デスクトップツールを次のように扱います高い特権。制限allowed_actions、すべての呼び出しをログに記録し、破壊的なパスについては人間の承認を必要とします。フォローするOpenClaw セキュリティローカルホストゲートウェイバインド用。
これは Apple Silicon Mac mini M4 でも機能しますか?
はい。 AppleScript と Automator は、macOS 14 以降ではアーキテクチャに中立です。 Keynote + OpenClaw + Ollama による RAM プレッシャーが実質的なリミッターです。16GB では一度に 1 つの重いジョブを維持してください。
SKILL.md は AppleScript とどのような関係がありますか?
SKILL.md が教えますいつプランナーが呼び出すmac_desktop; AppleScript/Automator が定義しますどうやってmacOS がアクションを実行します。新しいワークフロー ファイルを追加するたびに SKILL.md を更新します。
結論
OpenClaw AppleScript Mac オートメーションテキストゲートウェイをデスクトップに変える operator: シェルツール → ブリッジスクリプト →osascript/ Automator → ネイティブアプリ。ほとんどのチュートリアルはチャットの返信で終わるため、このパターンでは競争率が低くなります。
から始める音量 + Keynote PDFテストをスモークし、マシンごとに 1 回アクセス許可を強化してから、SKILL.md でチャネル インテントをワイヤリングします。プロモーションはホットな経路から遠ざけてください。これはエンジニアリングの橋渡しであり、レンタルの売り込みではありません。
関連記事
デスクトップ自動化に GUI セッションが必要?
ログイン済みグラフィカルセッションのクラウド Mac で OpenClaw ゲートウェイと AppleScript ブリッジを併用できます。