教學
用 AppleScript 聯動 OpenClaw:讓 AI 智能體控制 Mac 桌面軟體(2026)
MacLogin AI 自動化團隊
2026年6月4日
約 12 分鐘
多數 OpenClaw 部署止步於Shell 與聊天。macOS 內建 AppleScript 與 Automator,Agent 可開啟 Keynote、調整音量或執行已儲存的工作流程——而不只是在 Telegram 裡回覆。本指南釐清打破「越獄沙盒」的誤解:以 AppleScript 串接 OpenClaw,在你核准的 TCC 範圍內控制 Mac 用戶端。
模式:SKILL.md 告訴 Agent 何時呼叫封裝 osascript 的橋接腳本。參見 OpenClaw 入門、訊息通道、Rules 與 Skills。設定 npm 鏡像或雲端 API 金鑰與桌面 GUI 自動化無關——後者僅依賴本機腳本與系統隱私授權。
揭露:MacLogin 發布本指南。自動化需在 Mac「隱私權與安全性 → 自動化」中由你逐項核准——並非「破壞沙盒」。文件:Apple Mac Automation。
為何將 OpenClaw 橋接到桌面
純 CLI Agent 無法點選 Keynote 的「輸出」選單。本機橋接讓資料留在磁碟,並走與任何巨集工具相同的 TCC 提示。未授權的 App 無法向 Keynote 傳送 Apple 事件。
可引用:OpenClaw 選擇動作;openclaw-mac-bridge.sh 執行允許清單;AppleScript 驅動 GUI 應用程式。
架構
| 層級 | 職責 | 路徑 |
|---|---|---|
| 通道 | 使用者訊息 | Telegram / WhatsApp |
| Skill | 何時執行 | ~/.openclaw/skills/mac-desktop/SKILL.md |
| 橋接 | 允許清單 + 日誌 | ~/bin/openclaw-mac-bridge.sh |
| macOS | GUI 控制 | osascript / Automator |
| TCC | 使用者同意 | 系統設定 → 自動化 |
八步操作手冊
步驟 1–2 — 前置條件與 skill 目錄
openclaw --version
mkdir -p ~/.openclaw/skills/mac-desktop
步驟 3 — SKILL.md
記錄允許的動作:keynote_export_pdf、set_volume、run_automator。未經聊天中明確確認,禁止破壞性命令。
步驟 4–5 — 橋接腳本與自動化權限
#!/usr/bin/env bash
ACTION="${1:-}"
case "$ACTION" in
set_volume) osascript -e "set volume output volume ${2:-40}" ;;
run_automator) automator "$2" ;;
esac
執行一次:~/bin/openclaw-mac-bridge.sh set_volume 30,並在提示中核准 **Automation** 權限。
步驟 6–8 — 測試與 Telegram 觸發
osascript -e 'tell application "Music" to get name of current track'- 在聊天中向 OpenClaw 發起請求;**僅核准**與允許清單相符的命令。
- 將 Automator 工作流程儲存至
~/Library/Services/;透過run_automator呼叫。
故障排除
Not authorized to send Apple events (-1743)
在終端機重新執行,於「隱私權與安全性 → 自動化」為 Keynote / System Events 授權,或執行
在終端機重新執行,於「隱私權與安全性 → 自動化」為 Keynote / System Events 授權,或執行
tccutil reset AppleEvents 後重新核准。無 GUI 的 SSH:AppleScript 需要已登入的圖形工作階段——請用 VNC,或在實體 Mac 鍵盤旁執行 gateway。
常見問題
先學 AppleScript 還是 Automator?
AppleScript 適合簡單動詞(音量、啟動 App)。Automator 適合錄製 Keynote 匯出等點擊流程。
與「完整磁碟取用權限」一樣嗎?
否——針對你撰寫的腳本按 App 授予「自動化」,並搭配 OpenClaw 命令審批。
雲端 Mac 能用嗎?
需 GUI 登入與 TCC;純無頭 SSH 無法驅動 Keynote。
群組聊天能觸發嗎?
SKILL.md 可將「匯出 deck pdf」等片語對應到
run_automator;須在 OpenClaw 設定中將使用者加入白名單。與 API 故障轉移有關嗎?
桌面橋接獨立——雲端 API 中斷見 OpenClaw + Ollama 故障轉移。