liamnichols

iCloud Find My

生活服务v1.0.0
作者:liamnichols更新于 2026-05-18共 4 个版本 · 最新版本发布于 2026-01-07icloud-findmy@clawhub_liamnichols/icloud-findmy
家庭助手

据 AlphaMoat 统计,截至 2026-09,iCloud Find My 累计下载 4,545 次、获 6 个星标,在全部 5,078 个 AI 技能中排名第 2,108 位,在「生活服务」分类(246 个)中排名第 73 位。

累计安装
148
累计下载
4,545
星标
6
全站排名
#2,108
全站前 42% · 「生活服务」前 30%
平台累计安装累计下载星标评论
ClawHub ↗1484,5146-
SkillHub ↗1474,5456—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

使用前需完成 Apple ID 和双重认证,登录会话会保存在本地。设备位置和家庭成员数据高度敏感,只能查询本人或已同意的设备,除非用户明确要求,否则不要主动追踪。原文示例使用不安全的 eval() 解析位置数据,应改用经过校验的安全解析方式;保护本地 Apple ID 和会话文件,不要把 Apple ID 写入普通工作区文件。 来源要求 macOS 和 pyicloud CLI;查看家庭设备还需启用家庭共享。

资料发布于 2026-10-29

可以用来做什么

  • 查看已授权设备的位置和电池状态
  • 整理设备的最近位置和充电信息
  • 在用户明确请求时规划低电量提醒

什么时候用

  • 设备所有者或家庭成员已同意查询时
  • Apple ID 会话文件受到妥善保护时
  • 解析位置数据时使用安全解析器而非 eval() 时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

仅说明如何安全查询一台已获授权设备的电量;不要获取位置、保存 Apple ID 或执行任何追踪。

月度数据趋势

累计下载4,545
3,6404,1264,6122026-05 · 累计下载 3,7072026-06 · 累计下载 3,9022026-07 · 累计下载 4,2372026-08 · 累计下载 4,3842026-09 · 累计下载 4,54526-0526-09
星标6
5672026-05 · 星标 62026-06 · 星标 62026-07 · 星标 62026-08 · 星标 62026-09 · 星标 626-0526-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-094,545—6
2026-084,384+3.5%6
2026-074,237+8.6%6
2026-063,902+5.3%6
2026-053,707—6

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

4.2 KB · ClawHub v1.0.0
---
name: icloud-findmy
description: Query Find My locations and battery status for family devices via iCloud.
homepage: https://github.com/picklepete/pyicloud
metadata: {"clawdbot":{"emoji":"📍","requires":{"bins":["icloud"]},"install":[{"id":"pipx","kind":"shell","command":"brew install pipx && pipx install pyicloud","bins":["icloud"],"label":"Install PyiCloud (pipx)"}]}}
---

# iCloud Find My

Access Find My device locations and battery status via the iCloud CLI (pyicloud).
展开全部(共 163 行)

## Setup

1. **Install pyicloud:**
```bash
brew install pipx
pipx install pyicloud
```

2. **Authenticate (one-time):**

Ask the user for their Apple ID, then run:
```bash
icloud --username [email protected] --with-family --list
```

They'll need to enter their password and complete 2FA. The session will be saved and lasts 1-2 months.

3. **Store Apple ID:**

Add the Apple ID to your TOOLS.md or workspace config so you remember it for future queries:
```markdown
## iCloud Find My
Apple ID: [email protected]
```

## Usage

### List all devices

```bash
icloud --username APPLE_ID --with-family --list
```

**Output format:**
```
------------------------------
Name           - Liam's iPhone
Display Name   - iPhone 15 Pro
Location       - {'latitude': 52.248, 'longitude': 0.761, 'timeStamp': 1767810759054, ...}
Battery Level  - 0.72
Battery Status - NotCharging
Device Class   - iPhone
------------------------------
```

**Parsing tips:**
- Devices are separated by `------------------------------`
- Location is a Python dict (use `eval()` or parse with regex)
- Battery Level is 0.0-1.0 (multiply by 100 for percentage)
- Battery Status: "Charging" or "NotCharging"
- Location fields: `latitude`, `longitude`, `timeStamp` (milliseconds), `horizontalAccuracy`

### Get specific device

Find a specific device by grepping the output:
```bash
icloud --username APPLE_ID --with-family --list | grep -A 10 "iPhone"
```

### Parse location

Extract and format location data:
```bash
icloud --username APPLE_ID --with-family --list | \
  grep -A 10 "Device Name" | \
  grep "Location" | \
  sed "s/Location.*- //"
```

Then parse the Python dict string with Python or extract coordinates with regex.

### Parse battery

```bash
icloud --username APPLE_ID --with-family --list | \
  grep -A 10 "Device Name" | \
  grep "Battery Level"
```

## Device Names

Device names come from iCloud and may include:
- Fancy Unicode apostrophes (U+2019 ') instead of ASCII '
- No apostrophes at all (e.g., "Lindas iPhone")

Use case-insensitive matching and normalize apostrophes if needed.

## Session Management

- Sessions last **1-2 months**
- Stored in user's home directory
- When expired, re-run the authentication step
- PyiCloud validates automatically on each request

## Common Patterns

**Check battery before going out:**
```bash
# Get battery for specific device
icloud --username ID --with-family --list | \
  grep -B 2 -A 5 "iPhone" | \
  grep "Battery Level"
```

**Get current location:**
```bash
# Extract location dict and parse coordinates
icloud --username ID --with-family --list | \
  grep -A 10 "iPhone" | \
  grep "Location" | \
  sed "s/.*- //" | \
  python3 -c "import sys; loc = eval(sys.stdin.read()); print(f\"{loc['latitude']}, {loc['longitude']}\")"
```

**Check if device is charging:**
```bash
icloud --username ID --with-family --list | \
  grep -A 10 "iPhone" | \
  grep "Battery Status"
```

## Proactive Use Cases

- **Battery warnings:** Check battery levels before calendar events (going out)
- **Location context:** Answer "near me" queries by checking user's current location
- **Home/away detection:** Check if user is at home based on coordinates
- **Low battery alerts:** Warn if battery <30% and not charging

## Troubleshooting

**Authentication errors:**
- Session expired - re-authenticate
- Wrong Apple ID - check stored ID
- 2FA required - complete 2FA flow

**No location available:**
- Device offline
- Find My disabled
- Location Services off

**Device not found:**
- Check exact device name with `--list`
- Names are case-sensitive
- May have Unicode apostrophes

## Notes

- Requires macOS (iCloud API quirks)
- Family Sharing must be enabled to see family devices
- Location updates every ~1-5 minutes when device is active
- Battery readings may be cached (check timestamp)

「生活服务」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。