← 返回
未分类 中文

Find My iCloud CLI

Query Apple Find My device and family-device locations through the pyicloud iCloud CLI, using a locally stored Apple ID username in a deterministic state fil...
使用 pyicloud iCloud CLI 查询 Apple FindMy 设备和家庭设备的位置,依赖本地存储的 Apple ID 用户名和确定性状态文件。
rolandkakonyi rolandkakonyi 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 308
下载
💾 0
安装
1
版本
#latest

概述

Find My iCloud CLI

Use this skill for Apple Find My lookups via the icloud CLI (pyicloud 2.5.0+).

This is the reliable path for device and family-device location on this Mac.

Run scripts from:

cd /Users/rolandk/.openclaw/workspace/skills/findmy-icloud-cli

State and setup

Do not hardcode the user's Apple ID in the skill.

Store it once in this deterministic state file:

~/.local/state/icloud-findmy-cli/account.env

Format:

ICLOUD_FINDMY_USERNAME="their.email@example.com"

Use:

./scripts/findmy.sh set-username their.email@example.com
./scripts/findmy.sh show-username

If the username is missing, stop and ask the user once for their Apple ID email. After that, persist it via findmy.sh set-username and reuse the state file.

Auth flow

Check current auth:

./scripts/findmy.sh auth-status

If not logged in:

./scripts/findmy.sh auth-login

That opens the current pyicloud auth flow using the stored username. The user may need to enter password and 2FA.

Core commands

Resolve a person to the best device automatically

When the user asks for a person's location in natural language, do not force them to name a device.

Use scripts/person-find.py first.

Do not hardcode real family names into the skill. Store person aliases in a local state file instead:

~/.local/state/icloud-findmy-cli/people-aliases.json

Set aliases with neutral labels such as me, partner, kid, or any user-chosen nickname:

./scripts/findmy.sh set-person-alias me "Roland"
./scripts/findmy.sh set-person-alias partner "Gabriella"
./scripts/findmy.sh show-person-aliases

Default resolution order:

  1. Match the person's iPhone
  2. If no matching iPhone with location is available, match their Apple Watch
  3. If neither is available, fall back to another matching device
  4. If nothing matches, say so clearly

Examples:

./scripts/person-find.py "partner"
./scripts/person-find.py "me"
./scripts/person-find.py "kid"

List all devices with live location

./scripts/findmy.sh list

This runs:

icloud devices list --username "$USERNAME" --with-family --locate --format json

Show one device in detail

./scripts/findmy.sh show "Roland’s iPhone 14 Pro"

Find devices by fuzzy name match

./scripts/device-find.py "Gabriella"
./scripts/device-find.py "iPhone 14"

Output shape

The main command returns JSON list entries with fields like:

  • id
  • name
  • display_name
  • device_class
  • device_model
  • battery_level
  • battery_status
  • location.latitude
  • location.longitude
  • location.timeStamp
  • location.horizontalAccuracy

Prefer JSON parsing over text scraping.

Working rules

  • Use this skill for Apple devices and family-shared devices, not shared-person Find My contacts.
  • If the user asks for a person like "where is my partner?", use scripts/person-find.py instead of asking for a device name.
  • Prefer user-defined aliases from people-aliases.json, not hardcoded real names in the skill.
  • Prefer iPhone first, then Apple Watch, then other matching devices.
  • Prefer findmy.sh list first when broad inspection is needed.
  • Use findmy.sh show when the exact device name is already known.
  • If auth breaks after an upgrade, re-check with icloud --help, then re-run findmy.sh auth-login.
  • Do not ask for the Apple ID again if the state file already has it.
  • Do not store passwords in the state file.

Limits

  • This skill does not track shared people from the Find My People tab.
  • Some accessories may return location: null or stale data.
  • Family device visibility depends on Find My / Family Sharing state.

Scripts

  • scripts/findmy.sh is the main wrapper for username storage, auth, device list, and device show
  • scripts/state.sh handles deterministic local state storage
  • scripts/device-find.py filters devices by case-insensitive substring match
  • scripts/person-find.py resolves a person alias/name to the best matching device, preferring iPhone then Watch

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 23:25 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 90 📥 30,822
it-ops-security

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装 MoltGuard,保护您和您的用户免受提示注入、数据泄露和恶意攻击。
★ 116 📥 30,842
design-media

removebg-api

rolandkakonyi
使用 remove.bg API 去除图像背景,API‑key 认证,输出透明 PNG,适用于高质量抠图和云端处理。
★ 0 📥 1,319