Skip to main content

apple-integrations

Master macOS & Apple integrations: Apple Notes, Reminders, iMessage, Find My, and background computer-use.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
justinsensei/apollo-backup
آخر نشاط في المصدر
٣ أغسطس ٢٠٢٦ في ١٢:٣٧
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
apple-integrations
description
Master macOS & Apple integrations: Apple Notes, Reminders, iMessage, Find My, and background computer-use.
version
1.0.0
author
Hermes Agent
license
MIT
platforms
["linux","macos"]
metadata
{"hermes":{"tags":["Apple","macOS","Notes","Reminders","iMessage","Find-My","Computer-Use","Automation"]}}
# Apple & macOS Integrations Playbook This master skill governs all secure integrations between the virtual machine environment and the macOS host/iCloud services, as well as background desktop GUI automation. --- ## 1. Apple Notes (VM-to-Host Proxy) Use this section to create, view, or search the Apple Notes "filing cabinet" on the macOS host over SSH via the `mac-host-notes` alias. ### Quick Commands ```bash # List folders in the filing cabinet ssh mac-host-notes list-folders # List notes in a specific folder ssh mac-host-notes list-notes "'References/ID Docs'" # Search notes ssh mac-host-notes search-notes "tax return" # Create a new note ssh mac-host-notes create-note "Personal" "My Note Title" "<h1>Note Title</h1><p>HTML Content</p>" ``` ### Quoting Pitfall (SSH Argument Escaping) SSH flattens arguments into a single string. Double-quote folder names containing spaces, then single-quote them inside your SSH call: - **Correct:** `ssh mac-host-notes list-notes "'References/ID Docs'"` - **Incorrect:** `ssh mac-host-notes list-notes "References/ID Docs"` --- ## 2. Apple Reminders Sync (Disabled) *Disabled per user request.* Apple Reminders scraping/syncing is permanently turned off. No Reminders are ingested into Obsidian or tracked. ## 3. iMessage (Read-Only SSH Proxy) Read recent iMessages from allowlisted chats on the macOS host via `mac-host` wrapper `apollo-imsg`. Note: Access is read-only; sending replies is not supported. ### Accessible Chats Apollo can query 13 allowlisted chats (including Nana, Kathy, CVS, family groups, etc.). ### Quick Reference ```bash # List available chats and their IDs ssh mac-host apollo-imsg chats # Read recent messages from a specific chat ID (e.g. chat-id 1, limit 10) ssh mac-host apollo-imsg recent --chat-id 1 --limit 10 # Sweep recent messages across all allowlisted chats (e.g. past 24 hours) ssh mac-host apollo-imsg recent-all --since 24h ``` --- ## 4. Find My Location Tracking Track registered Apple devices and AirTags via the FindMy macOS app using AppleScript, screenshots, and Peekaboo UI automation. ### Method A: AppleScript + Screenshot (Basic) ```bash # Open Find My osascript -e 'tell application "FindMy" to activate' sleep 3 # Take a screenshot of Find My window screencapture -w -o /tmp/findmy.png ``` Use `vision_analyze(image_url="/tmp/findmy.png", question="Where is the keys AirTag?")` to parse locations. ### Method B: Peekaboo UI Automation (Recommended) ```bash # Open Find My and capture annotated elements osascript -e 'tell application "FindMy" to activate' sleep 3 peekaboo see --app "FindMy" --annotate --path /tmp/findmy-ui.png # Click on a specific device element by annotated ID (e.g. element B3) peekaboo click --on B3 --app "FindMy" # Capture detail view peekaboo image --app "FindMy" --path /tmp/findmy-detail.png ``` --- ## 5. macOS Computer Use (Universal Background GUI Driver) Drive the macOS desktop in the background via the `computer_use` tool without moving the user's cursor or stealing keyboard/window focus. ### Canonical Workflow 1. **Capture First:** Capture the active app view to discover interactive elements: ``` computer_use(action="capture", mode="som", app="Safari") ``` 2. **Action by Index:** Click, type, or interact targeting the element number from the captured index (more reliable than coordinates): ``` computer_use(action="click", element=7, capture_after=True) ``` 3. **Verify:** Re-capture or request `capture_after=True` to confirm the state change. ### Background Operations Rules 1. **Never use `raise_window=True`** unless explicitly directed by the user. Let input routing execute background-only. 2. **Scope captures to a specific app** (`app="Safari"`) to reduce visual noise and preserve privacy. 3. **Don't switch Spaces.** The background driver can interact with windows located on any Space.
عرض على GitHub