Skip to content

Repository files navigation

Photo Insight 圆角图标与手写字标

让照片元数据,成为摄影记忆。

一款隐私优先、完全在本机运行的 macOS 照片元数据分析工具。
从 EXIF、GPS、器材与文件信息中,看见你的拍摄习惯和摄影轨迹。

项目官网 · 下载最新版 · 使用指南 · English

macOS 13+ Universal Swift 6 Tests License


Photo Insight 核心能力:本地扫描、EXIF 分析、地理洞察与报告导出

源代码可用,禁止商业使用。 本项目采用 PolyForm Noncommercial 1.0.0,允许个人学习、研究、实验和其他非商业用途。由于许可证限制商业使用,本项目不是 OSI 定义下的开源软件。

✦ 功能亮点

  • 自定义扫描方案:提供快速、摄影和完整预设,也可保存多个自定义方案,分别配置图片格式、RAW、排除规则、隐藏项目、符号链接和精确重复文件策略。
  • 扫描前预览:应用方案前查看候选照片、格式分布、排除目录、跳过项目和访问错误统计。
  • 本地照片索引:支持 JPG、JPEG、PNG、HEIC、HEIF、TIFF、WebP 与常见 RAW 格式,不上传照片文件。
  • 增量更新:持久化文件指纹、EXIF 和地址缓存,只重新分析新增或变更的照片。
  • 照片浏览:随机轮播、瀑布流、文件树、收藏和智能相册。
  • EXIF 数据表:浏览、筛选并导出 28 列照片元数据。
  • 深度分析:时间节奏、器材组合、曝光参数、焦段分布、画幅构图、相关性和非参数统计。
  • 地理分析:照片聚类、密度图、省市分布、经纬度范围、海拔和拍摄行程。
  • 报告导出:导出 CSV、JSON、PDF 和可交互 HTML 分析报告。
  • 双语与外观:简体中文/英文,以及跟随系统、浅色和深色模式。

◉ 分析结果示例

数据概览与时间节律

Photo Insight 数据概览与时间节律分析

焦段分布与焦段箱线图

Photo Insight 焦段分布与焦段箱线图

以上示例依据 Photo Insight 的真实分析数据绘制为 SVG,可无损缩放;使用项目内置的中国旅行摄影模拟数据。

↓ 下载

项目官网了解功能和使用方式;当前 v1.1.1 通过 GitHub Releases 提供 Universal macOS 安装包,已使用 Developer ID 签名、启用 Hardened Runtime,并通过 Apple 公证及附加公证票据。

  • 系统要求:macOS 13 Ventura 或更高版本
  • 处理器:Apple Silicon 或 Intel
  • 网络:基础分析可离线使用;地址解析和在线地图需要联网

下载 ZIP 后解压并将 Photo Insight 移入“应用程序”文件夹即可运行。首次启动时 macOS 可能提示应用来自互联网,请确认打开;无需关闭 Gatekeeper 或修改系统安全策略。

⌘ 从源码运行

需要完整安装 Xcode,并在 Xcode 设置中选择 Command Line Tools。

git clone https://github.com/SamsonRuan/Photo-Insight.git
cd Photo-Insight
./script/build_and_run.sh

运行测试:

swift test --disable-sandbox

构建本机架构的 .app

./scripts/build-app.sh

构建 Apple Silicon + Intel 通用发布包:

./scripts/package-release.sh

未提供 Developer ID 时生成的是临时签名构建,仅适合本地测试。正式发布流程见 发布指南

◎ 使用方法

  1. 打开 Photo Insight,在设置菜单中选择照片根目录。
  2. 选择快速、摄影或完整扫描预设;需要时建立并预览自己的扫描方案。
  3. 点击“更新照片”建立本地索引。
  4. 使用首页、文件树、EXIF 表格和数据分析页面查看照片。
  5. 根据器材、时间、地点、曝光或构图条件建立智能相册。
  6. 在分析页面导出数据或完整报告。

◇ 隐私

照片和索引默认保存在用户的 Mac 上,项目不包含账号系统、广告或分析 SDK。使用 GPS 地址解析、OpenFreeMap 或 OpenStreetMap 地图时,相关网络服务会收到完成请求所必需的数据和网络信息。完整说明见 隐私政策

⌘ 项目结构

Photo-Insight/
├── Sources/
│   └── PhotoExifLab/          # SwiftUI 应用源码
├── Tests/
│   └── PhotoExifLabTests/     # 自动化测试
├── AppResources/
│   ├── Data/                  # 内置模拟数据
│   ├── InteractiveReport/     # 交互式报告资源
│   └── WebMap/                # 地图运行时与地理数据
├── docs/
│   └── assets/                # GitHub Pages 与图片资源
├── scripts/                   # 构建、打包和发布检查
├── script/
│   └── build_and_run.sh       # 本地构建与启动入口
├── .github/
│   ├── workflows/             # CI 与 Pages 工作流
│   └── ISSUE_TEMPLATE/        # Issue 模板
├── Package.swift              # Swift Package 配置
├── LICENSE.md                 # 非商业许可证
└── README.md

♡ 参与贡献

欢迎提交错误报告、功能建议、文档改进和非商业用途的代码贡献。开始之前请阅读 贡献指南行为准则。安全问题请按照 安全政策 私下报告。

§ 许可证

Photo Insight 采用 PolyForm Noncommercial License 1.0.0。个人学习、研究、实验和其他非商业用途可以使用、修改和分发;商业用途需要另行取得书面授权。

第三方组件和地图数据各自适用其原始许可证,详见 第三方声明

About

A privacy-first native macOS app for locally scanning, organizing, and analyzing photo EXIF, GPS, equipment, and shooting patterns—with customizable scan profiles.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

48 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages