FindMyPipe – 从 Linux 查询 Apple Find My 的 AI 智能体工具
FindMyPipe 是一个本地 CLI 桥接工具,让 Linux 用户通过 iCloud 查询 Apple Find My 网络,获取设备位置并输出结构化 JSON。专为 AI 智能体、脚本和自动化流程设计,支持定位附近兴趣点、隐私保护和无配置 mock 模式。
FindMyPipe 是一个开源的本地 CLI 桥接工具,专为 Linux 系统设计,让用户能够通过 iCloud 查询 Apple Find My 网络,实时获取 iPhone、iPad、Mac 和 AirPods 等 Apple 设备的位置信息。它输出结构化 JSON 数据,非常适合 AI 智能体、Shell 脚本和自动化工作流使用。
除了基本的设备定位功能,FindMyPipe 还能支持位置感知工作流:例如,AI 智能体可以利用设备的坐标查询附近的兴趣点(如餐厅、酒店、医院、公交站),从而构建更丰富的上下文感知应用。
该工具的主要特性包括:
- 实时定位 Apple 设备,支持 iPhone、iPad、Mac、AirPods
- 将坐标输入到任何 POI API(如 Google Places、OSM、Foursquare)以查找附近的兴趣点
- 专业的 CLI 界面,输出干净的 JSON 格式,易于管道处理和解析
- 隐私优先:日志中隐藏凭证,设备 ID 用 SHA-256 哈希替代
- 无需配置即可使用 mock 模式,无需 Apple ID 即可体验
- 可选缓存功能,可配置 TTL 以避免频繁请求 iCloud API
- 智能过滤器:支持 --skip-offline 和 --max-age 参数,仅保留新鲜数据
- 完整的 Apple 2FA 登录流程,支持交互式验证
- 符合 AgentSkills.io 标准,可作为技能无缝集成到任何智能体框架中
FindMyPipe 还提供了丰富的 CLI 命令,包括 doctor(检查状态)、list(列出所有设备)、locate(按名称或 ID 搜索设备)和 login(交互式 iCloud 认证)。所有命令均支持 --json 选项以输出结构化数据。
在隐私与安全方面,FindMyPipe 采取了多项措施:不运行 HTTP 服务器,所有 I/O 通过标准输入输出;不设置 webhook,仅向 Apple 服务器发起出站轮询;凭证从不记录;设备 ID 使用哈希替换;原始敏感数据默认隐藏;文件权限严格限制(目录 0700,文件 0600)。
安装要求 Python 3.11+ 和 Linux(或 macOS),以及启用了 Find My 功能的 Apple ID(仅实时模式需要)。安装过程简单,支持 pip 安装,并可选实时 iCloud 支持。
FindMyPipe 的架构清晰:上层是 AI 智能体或 Shell 脚本,通过 CLI 与 findmy-agent 交互,其内部包含 CLI 层(基于 Typer)、缓存层、核心逻辑层和提供商层(支持 Mock 和 iCloud),最终通过 HTTPS 与 Apple iCloud API 通信。
目前,FindMyPipe 支持 iPhone、iPad、Mac 和 AirPods,但尚未支持 AirTag 或物品。未来计划内置 POI 集成。该项目采用 MIT 许可证,由社区贡献构建。