Skip to main content

macos-local-orchestrator

macOS 本地自动化编排与能力融合。通过 Bash + osascript/JXA + Shortcuts + launchd 实现自然语言电脑管家,并在需要时编排 Hammerspoon、AeroSpace、yabai/skhd、 Raycast Script Commands、Keyboard Maestro 等第三方工具。适用于应用控制、系统控制、 权限引导、窗口管理、快捷操作、定时任务与桌面自动化场景。

Ir a la instalación

Datos de origen

Repositorio
Yaron9/MetaMe
Última actividad en el origen
27 de febrero de 2026 a las 11:53
Idioma detectado de SKILL.md
inglés
Estrellas
18
Forks
5

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
3 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
macos-local-orchestrator
description
macOS 本地自动化编排与能力融合。通过 Bash + osascript/JXA + Shortcuts + launchd 实现自然语言电脑管家,并在需要时编排 Hammerspoon、AeroSpace、yabai/skhd、 Raycast Script Commands、Keyboard Maestro 等第三方工具。适用于应用控制、系统控制、 权限引导、窗口管理、快捷操作、定时任务与桌面自动化场景。
# macOS Local Orchestrator Use local deterministic automation on macOS with minimal token usage. ## Execution Policy 1. Prefer local deterministic tools first: `Bash` + `osascript`/JXA. 2. Prefer built-in macOS capabilities before third-party tools. 3. Avoid screenshot/visual workflows unless user explicitly asks for them. 4. Classify every request before execution: - Read/query action: execute directly. - Side-effect action: show a short preview and ask for explicit confirmation first. 5. Keep output short: success/failure + key result only. ## Capability Ladder ### L0 Native (default) Use these first because they are stable and dependency-free: - `osascript` AppleScript/JXA for app/system control - `open` and `x-apple.systempreferences:` for settings navigation - `shortcuts` CLI for reusable workflows - `launchctl` + `~/Library/LaunchAgents` for scheduled/background jobs - `pmset` for power scheduling ### L1 Optional Integrations (when user already has them) Detect tool availability and then use: - `AeroSpace` for tiling/workspace (SIP-friendly, CLI-first) - `yabai` + `skhd` for advanced window + hotkey control - `Hammerspoon` for event-driven automation (`~/.hammerspoon/init.lua`) - `Raycast` Script Commands / Deeplinks for launcher workflows - `Keyboard Maestro` CLI trigger for mature macro pipelines Do not force-install tools automatically unless user explicitly requests installation. ## Tool Selection Rules 1. If user asks app open/quit, volume, lock/sleep, permissions: use `osascript` first. 2. If user asks reusable multi-step workflow: prefer `shortcuts run`. 3. If user asks scheduled recurring action: prefer `launchd` or `pmset`. 4. If user asks keyboard-first window tiling: - Prefer `AeroSpace` if installed. - Else use `yabai/skhd` if installed. - Else fallback to native scripting and explain capability limits. 5. If user asks event-driven desktop reactions (wifi change, battery alerts, app watcher): use `Hammerspoon` if installed. 6. If user already uses Raycast/Keyboard Maestro ecosystem, integrate by calling their commands instead of rebuilding features. For ecosystem-level tool tradeoffs and install decisions, read: `references/tooling-landscape.md` ## Side-Effect Confirmation Rules Require confirmation before any action that changes state, including: - Sending email, creating/deleting/modifying calendar events - Quitting apps, system sleep, lock screen - Writing/moving/deleting files or folders - Any command with unclear scope or risk Use this confirmation template: - `准备执行:<one-line action>` - `命令:<exact command>` - `请回复“确认执行”后继续。` ## Native Command Patterns Open app: ```bash osascript -e 'tell application "WeChat" to activate' ``` Quit app: ```bash osascript -e 'tell application "WeChat" to quit' ``` Set volume: ```bash osascript -e 'set volume output volume 35' ``` Mute / unmute: ```bash osascript -e 'set volume with output muted' osascript -e 'set volume without output muted' ``` Lock screen: ```bash osascript -e 'tell application "System Events" to keystroke "q" using {control down, command down}' ``` Sleep: ```bash osascript -e 'tell application "System Events" to sleep' ``` Open permissions/settings: ```bash open "x-apple.systempreferences:com.apple.preference.security?Privacy_Automation" open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility" open "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture" ``` Run shortcut: ```bash shortcuts list shortcuts run "My Shortcut" shortcuts run "My Shortcut" -i ~/Desktop/input.txt -o ~/Desktop/output.txt ``` Create/refresh LaunchAgent job: ```bash launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.metame.task.plist 2>/dev/null || true launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.metame.task.plist launchctl print gui/$(id -u)/com.metame.task ``` Power schedule: ```bash pmset -g sched sudo pmset repeat wake M 08:00:00 sudo pmset repeat cancel ``` ## Optional Tool Patterns AeroSpace (if installed): ```bash aerospace list-workspaces --all aerospace focus-workspace 2 aerospace move-node-to-workspace 2 ``` yabai/skhd (if installed): ```bash yabai -m query --windows --window yabai -m window --focus east skhd --reload ``` Keyboard Maestro CLI (if installed): ```bash ls "/Applications/Keyboard Maestro.app/Contents/MacOS" 2>/dev/null ``` ## Error Handling 1. If command output is empty for successful action, report as `已执行` (not `no output`). 2. If permission is missing, explain which permission is required and guide user to open the corresponding settings page, then retry. 3. If app name is ambiguous, ask a clarification question before executing. 4. If requested third-party tool is missing, provide: - current state (`未检测到 <tool>`) - minimal install command (only when user asks to install) - immediate native fallback plan. ## Permission Checklist - Automation: Privacy & Security -> Automation - Accessibility: Privacy & Security -> Accessibility - Screen & System Audio Recording (only if screen pipeline is explicitly needed) - Full Disk Access (only for file-heavy operations) Permission onboarding commands: ```bash open "x-apple.systempreferences:com.apple.preference.security?Privacy_Automation" open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility" open "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture" ```
Ver en GitHub