>> OpenClaw + AppleScript: управление Mac-приложениями
OpenClaw AppleScript Автоматизация Macпредоставляет шлюзу только текстового агента физическое тело на рабочем столе macOS — инструмент оболочки, сценарий моста и встроенное управление приложением за один сеанс входа в систему.
Введение
Большинство команд работаютOpenClawкак текстовый operator: каналы шлюза, инструменты HTTP и фрагменты оболочки, которые никогда не затрагивают графический сеанс. Это оставляет пробел —родные приложения для Mac(Keynote, Mail, Music, System Settings) живут за слоем автоматизации Apple GUI, а не внутри обезглавленного канала SSH.
OpenClaw AppleScript Автоматизация Macзакрывает этот разрыв целенаправленныммостик: OpenClaw роднойинструмент оболочкивызывает небольшую точку входа bash, которая отправляетAppleScript (osascript) илиAutomatorрабочие процессы сохранены как.workflow/ пакеты приложений. Агент по-прежнему планирует на естественном языке; macOS по-прежнему выполняет действия пользовательского интерфейса в сеансе вошедшего в систему пользователя.
Это не «взлом» «песочницы» Apple в смысле безопасности.АвтоматизацияиДоступностьразрешения явно. Вы даете OpenClaw aфизическое телона рабочем столе Mac: откройте Keynote, экспортируйте PDF, переместите громкость, затемните дисплей — пока ответы в чате продолжаются на Telegram или Slack.
Соедините этот guide сOpenClaw + Ollama в облаке Mac miniкогда вам нужны локальные модели для планирования и автоматизация macOS для выполнения. ПолныйOpenClaw легкое развертываниесначала убедитесь, что работоспособность шлюза, launchd и водяные знаки диска стабильны, прежде чем включать инструменты GUI.
В соответствии сДокументация 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). Сеансы только SSH без GUI не могут управлять Keynote.
Почему не чистая оболочка?
| Задача | curl/ интерфейс командной строки | AppleScript / Automator |
|---|---|---|
| Экспорт Keynote в PDF | Нет стабильного общедоступного CLI. | exportкоманда в словаре Keynote |
| Установить яркость дисплея | Нет портативного однострочника | tell application "System Events" |
| Диалоговое окно «Утвердить Finder» | Невозможно без головы | Скрипты пользовательского интерфейса с доступностью |
Восьмишаговый блокнот
Шаг 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
Критерии прохождения: шлюзHTTP 200, загрузочный объем≥25 ГБбесплатно (то же самое, что и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когда последовательности превышают ~30 строк AppleScript.
Шаг 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"]
}
ЗаменятьOPERATORс учетной записью macOS, запускающей шлюз. Держите инструментотключен в лабораториипока шаг 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.keyдо PDF.» - Проверять
~/.openclaw/logs/mac-desktop.logшоувыход 0и JSON стандартный вывод.
Давать возможностьодинтолько канал обмена сообщениями — см.шлюзовые каналы. Ограничить одновременные действия на рабочем столе, чтобы1на хостах 16GB, чтобы избежать Keynote + серьезного конфликта моделей.
Поиск неисправностей
Ошибка:Not authorized to send Apple events to Keynote
Шаблон: osascriptВыход1, журнал содержитNot authorized.
Исправить:На Mac →System Settings → Конфиденциальность и усиление; Безопасность → Автоматизация→ разрешитьosascript(или Терминал/iTerm) для управленияKeynote. Повторно выполните шаг 4 дымового теста. Для облачных компьютеров Mac выполните один раз для каждого снимка изображения.
Ошибка:GUI scripting is not allowed
Шаблон:скрипт яркости не работает; System Events ошибка-25211.
Исправить:ГрантДоступностьк родительскому элементу сеанса Terminal/ssh заДоступность Apple guide. Предпочитайте снижение яркости с помощьюbrightnessтолько в часы интерактивного общения — политика документа в SKILL.md.
Операционные последствия
| Монитор | Порог | Действие |
|---|---|---|
mac-desktop.logразмер | >200MB на 256GB | Ротация еженедельно |
| Задержка моста | >90s | Разделить рабочий процесс Automator; предварительный подогрев Keynote |
| Уровень неудачной автоматизации | >3/час | Отключить инструмент; бдительный человек operator |
| GUI сеанс | отключен | Пауза канала; переподключить консоль |
Сериализовать задания рабочего стола с помощью Ollama: не запускать14B локальная модель + экспорт Keynoteодновременно на16GBединая память.
Часто задаваемые вопросы
Может ли OpenClaw управлять приложениями Mac без AppleScript?
Только частично. Инструменты оболочки обрабатывают двоичные файлы CLI;родные приложения GUIнужны AppleScript, Automator или Ярлыки. Шаблон моста сохраняет планировщик OpenClaw неизменным, в то время как macOS выполняет работу пользовательского интерфейса.
AppleScript работает только через SSH?
Нет.osascriptнацелена награфический сеанс с входом в систему. Используйте доступ к консоли или совместное использование экрана на удаленном Mac и запустите шлюз под тем же пользователем.
Как мне вызвать Automator из OpenClaw?
Зарегистрироватьсяrun_automatorв скрипте бриджа и позвониopen -a /path/to/Workflow.app. Передавайте аргументы через plist или дополнительный файл JSON, который рабочий процесс считывает в своем первом действии.
Безопасно ли это для продюсеров?
Относитесь к инструментам рабочего стола как квысокая привилегия. Ограничиватьallowed_actions, регистрировать каждый вызов и требовать одобрения человека для разрушительных путей. СледоватьOpenClaw безопасностьдля привязки шлюза localhost.
Будет ли это работать на Apple Silicon Mac mini M4?
Да. AppleScript и Automator являются нейтральными по архитектуре на macOS 14+. Нехватка ОЗУ от Keynote + OpenClaw + Ollama является практическим ограничителем — выполняйте одну тяжелую работу за раз на 16GB.
Как SKILL.md связан с AppleScript?
SKILL.md учиткогдапланировщик вызываетmac_desktop; AppleScript/Automator определяеткакmacOS выполняет действие. Обновляйте SKILL.md всякий раз, когда вы добавляете новый файл рабочего процесса.
Заключение
OpenClaw AppleScript Автоматизация Macпревращает текстовый шлюз в рабочий стол operator: инструмент оболочки → скрипт моста →osascript/ Automator → родные приложения. Модель — низкая конкуренция, поскольку большинство обучающих программ ограничиваются ответами в чате.
Начните сгромкость + Keynote PDFдымовые тесты, ужесточение разрешений один раз для каждой машины, а затем подключение намерений канала в SKILL.md. Не допускайте продвижения по службе — это инженерный мост, а не арендная площадка.
Похожие статьи
Нужна GUI-сессия для автоматизации рабочего стола?
Облачные Mac с активной графической сессией поддерживают мосты AppleScript вместе с OpenClaw.