Agent Skills
返回列表
SnapTidy 照片视频整理

SnapTidy 照片视频整理

设计多媒体 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装规范名 @user_9a6f5769/snaptidy。

技能介绍

要解决的问题

macOS 用户的照片往往散落在多个位置:手机导出目录、外置硬盘、微信自动保存的 mmexport 图片、连拍 burst 照片和随手截图。同一个场景会以不同分辨率和压缩率存在多个副本,手动对比并不现实。SnapTidy 把问题拆成两个可验证的部分:哪些文件重复,以及重复时保留哪一个。

核心能力与工作流程

只读扫描,不删原件。默认行为是扫描而非改动。即使执行 apply_move_plan.py,也只是把文件移动到审查目录或 macOS 废纸篓(--mode trash),都可以从废纸篓找回。执行前必须先展示 move_plan.csv 并获得明确确认。

两阶段去重:

  • 精确去重:SHA-256 哈希相同即同一文件,SQLite 与 CSV 输出下均可用
  • 感知相似:可选的 pHash 检测,用于发现同一张照片的不同导出版本

扫描元数据:文件大小、SHA-256、EXIF 日期、GPS、相机型号、尺寸、感知哈希、自动分类(photo / screenshot / wechat / burst)与目录标签。依赖很轻:Pillow 读元数据、piexif 解析 EXIF、imagehash 计算感知哈希,不引入 pandas、numpy 等重型框架,数据库用 Python 内置 SQLite。

智能保留优先级:副本横跨多个目录时按评分决定保留谁——分辨率与 EXIF 完整性权重最高(有元数据更可能是原图),其次是文件大小、格式(RAW > HEIC > JPG)、类别(真实照片优先于截图和微信图片),再加上用户指定的优先目录。策略可通过 --strategy quality/oldest/newest/folder 切换,默认 quality。

存储选型:.db(SQLite)是推荐格式,本地索引跨运行复用,十万张以上照片的查询速度据称比 CSV 快约 400 倍;.csv 仅作小库兜底,方便用表格软件逐条核对移动方案。每次移动都会写入 move_log.csv 留下审计记录。

适用边界与注意事项

  • 不进入照片图库:.photoslibrary / .photolibrary 目录一律跳过,需先从「照片」App 导出再扫描
  • 只处理用户指定的路径:不扫描系统目录或磁盘根目录,Original_Backup 等备份目录默认跳过
  • pHash 有误判风险:纯色图片的感知哈希几乎必然相同,SHA-256 应作为主判据
  • 截图与下载图缺少 EXIF:评分时「元数据完整性」一项自然失分,不影响去重结果
  • 权限要求:macOS 需授予「完全磁盘访问权限」,否则外置盘与部分目录会读取失败
  • 执行前必须确认:重复文件横跨多个目录时,会先询问保留哪个目录的版本,以及移入审查目录还是废纸篓

使用场景

  • 从旧手机和外置硬盘汇总照片后,需要找出重复文件并按分辨率和 EXIF 判断保留哪一份
  • Mac 磁盘空间告急,想扫描导出的照片文件夹生成去重报告,确认前先不移动任何文件
  • 微信导出的图片和连拍照片混在同一目录,需要分类识别并清理重复的截图
  • 合并多份相机导出的照片时想确认哪些是原始文件,保留 EXIF 完整的那份

适合人员

  • 用 macOS 管理多年积累照片的摄影爱好者,想在不动原件的前提下清理重复照片
  • 从 iPhone 和 Android 各导了一份照片到 Mac 的普通用户,需要判断哪份更清晰再归档
  • 负责整理团队照片素材的行政或运营,想在执行移动前逐条核对去重方案
  • 微信里存了大量截图和相机照片的用户,想分开识别并清理重复图片