OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  findmy-location: 通过 Apple "查找" (Find My) 追踪共享联系人的位置

findmy-location: 通过 Apple "查找" (Find My) 追踪共享联系人的位置

 
  dora ·  2026-02-03 06:15:08 · 3 次点击  · 0 条评论  

名称: findmy-location
描述: 通过 Apple“查找”应用追踪共享联系人的位置,提供街道级精度。通过读取地图地标,返回地址、城市和情境(家/工作/外出)。支持配置已知位置,并对未知地点提供视觉备用方案。


Find My 位置追踪

通过 Apple“查找”应用追踪共享联系人,精度可达街角级别。

要求

  • macOS 13 或更高版本,并安装“查找”应用
  • Python 3.9 或更高版本
  • iCloud 账户 已在 Mac 上登录(用于访问“查找”)
  • 位置共享 已由您要追踪的联系人启用
  • peekaboo - 屏幕读取命令行工具 (GitHub)
  • Hammerspoon (可选) - 用于可靠的 UI 点击 (hammerspoon.org)

前置条件

1. iCloud 与“查找”设置

您的 Mac 必须登录一个已启用“查找”的 iCloud 账户:
- 系统设置 → Apple ID → iCloud → 查找我的 Mac (已启用)
- 您要追踪的人必须通过“查找”应用与此 iCloud 账户共享其位置

2. 安装 peekaboo

brew install steipete/tap/peekaboo

根据提示授予 辅助功能屏幕录制 权限 (系统设置 → 隐私与安全性)。

3. 安装 Hammerspoon (可选但推荐)

Hammerspoon 提供跨所有应用的可靠点击功能。没有它,点击偶尔可能会指向错误的窗口。

brew install hammerspoon
open -a Hammerspoon

将以下内容添加到 ~/.hammerspoon/init.lua

local server = hs.httpserver.new(false, false)
server:setPort(9090)
server:setCallback(function(method, path, headers, body)
    local data = body and hs.json.decode(body) or {}
    if path == "/click" then
        hs.eventtap.leftClick({x=data.x, y=data.y})
        return hs.json.encode({status="clicked", x=data.x, y=data.y}), 200, {}
    end
    return hs.json.encode({error="not found"}), 404, {}
end)
server:start()

重新加载配置 (Hammerspoon 菜单 → Reload Config),然后创建 ~/.local/bin/hsclick

#!/bin/bash
curl -s -X POST localhost:9090/click -d "{\"x\":$2,\"y\":$3}"
chmod +x ~/.local/bin/hsclick

安装

git clone https://github.com/poiley/findmy-location.git
cd findmy-location
./install.sh

或通过 ClawdHub 安装:

clawdhub install findmy-location

配置

创建 ~/.config/findmy-location/config.json

{
  "target": "John",
  "known_locations": [
    {
      "name": "家",
      "address": "123 主街, 城市, 省份",
      "markers": ["家附近的标志性地标"]
    },
    {
      "name": "工作",
      "address": "456 办公大道, 城市, 省份",
      "markers": ["工作地点附近的标志性地标"]
    }
  ]
}
字段 描述
target 要追踪的联系人姓名 (可选 - 默认为第一个共享位置的联系人)
known_locations 您希望标记地址的地点数组
markers 在该位置时,“查找”地图上可见的地标

使用

findmy-location          # 输出人类可读格式
findmy-location --json   # 输出 JSON 格式

示例输出

123 主街, 城市, 省份 (家) - 现在
{
  "person": "contact@email.com",
  "address": "主街 & 第一大道",
  "city": "任意镇",
  "state": "WA",
  "status": "现在",
  "context": "外出",
  "screenshot": "/tmp/findmy-12345.png",
  "needs_vision": false
}
字段 描述
context 工作外出未知
needs_vision 如果为 true,则使用 AI 视觉分析截图以读取街道名称
screenshot 捕获的地图图像路径

工作原理

  1. 打开“查找”应用并选择目标联系人
  2. 捕获地图并读取辅助功能数据
  3. 将可见地标与配置的已知位置进行匹配
  4. 返回地址和情境,或标记为需要视觉分析

故障排除

问题 解决方案
点击指向错误的窗口 安装 Hammerspoon (参见前置条件)
“未找到联系人” 确保“查找”中已启用位置共享
总是显示 needs_vision: true 为常去地点添加地标
权限错误 授予 peekaboo 辅助功能和屏幕录制权限

许可证

MIT

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor