geo-sleuth
geo-sleuth 是一个 Agent Skill,可利用 OpenStreetMap 几何、高程天际线、卫星影像和街景查找照片拍摄地点,并返回带误差半径的坐标、相机朝向、证据图和分级置信度;支持 Claude Code、Codex、Cursor、Gemini CLI、OpenCode 和 GitHub Copilot。
访问 Oldcircle/geo-sleuth项目简介
geo-sleuth 是一个用于照片地理定位的 Agent Skill。它利用 OpenStreetMap 几何、高程天际线、卫星影像和街景,也能处理画面中没有文字、车牌或地标的照片。它返回带误差半径的坐标、相机朝向、证据图和分级置信度,并要求每条结论都指向本次会话中运行过的命令及其生成的文件。
核心功能
- 一张照片加一句简短请求,即可返回相机位置、朝向、卫星证据图和分级置信度。
- 利用 OpenStreetMap 几何、高程天际线、卫星瓦片和街景,因此不依赖可读的标牌、车牌或地标。
- 二十多个单一用途脚本负责搜索、评分和排序,模型只在排名靠前的少数候选中作出判断。
- 每条结论都必须指向本次会话中运行过的命令及其生成的文件。
- 答案包含带误差半径的坐标、相机朝向、证据图和置信度等级。
- 以标准 SKILL.md 加 Python 脚本的形式打包,可在 Claude Code、Codex、Cursor、Gemini CLI、OpenCode 和 GitHub Copilot 中使用。
适用场景
- 对 EXIF 数据被移除且画面中没有文字的手机照片进行地理定位。
- 利用 OSM 铁路或电力线要素,以及基于高程的天际线匹配来缩小搜索范围。
- 用卫星影像和历史街景核对候选地点。
- 生成证据图,展示推断出的相机位置、视野范围和附近地物。
快速开始
- 使用 npx skills add Oldcircle/geo-sleuth 安装,并在提示时选择 agent。
- 把照片交给已安装该技能的 agent,并要求它查找照片拍摄地点。
- 首次使用时,让 agent 从已安装技能的 scripts 文件夹运行 doctor.py,并处理未通过的检查。
- 也可以克隆仓库,把技能文件夹复制到 agent 的技能目录。
部署与要求
- 需要 Python 3.10+、uv、curl,以及可运行 shell 命令的 agent。
- 保留完整技能文件夹,包括 data 和 scripts 中的辅助模块。
- 反向图片搜索需要 Google Chrome 或 Playwright Chromium;脚本先尝试 Chrome,再自动回退到 Chromium。
- match.py 和 sat_scan.py 在支持时使用 CUDA,其次 MPS,再次 CPU,并打印所选设备。
- 在 Windows 上,默认 uv run 安装的是仅 CPU 版 torch;使用 NVIDIA GPU 需安装驱动支持的 CUDA 构建。
采用前须知
- 许可证:MIT。在使用、修改或分发项目前,请确认其具体条款。