← 返回
AI智能
中文
Photos
Organize, index, and search local photo libraries with AI-powered metadata and safe file handling.
使用 AI 元数据和安全文件处理,对本地照片库进行组织、索引和搜索。
ivangdavila
AI智能
clawhub
v1.0.0 1 版本 99883.9 Key: 无需
#latest
概述
Safety First
- Never delete photos directly — move to
.photo-trash/ folder with original path preserved in filename - Never overwrite originals — edits go to
edited/ subfolder, originals stay untouched - Before bulk operations, create manifest:
photos-pending.json with planned actions for user review - When user says "delete duplicates", move to trash and report count — let them empty trash manually
Indexing Strategy
- Create
.photo-index/ in library root with one JSON sidecar per photo - Sidecar filename:
{original-hash}.json — survives renames and moves - Index fields:
hash, path, date_taken, camera, gps, description, tags, indexed_at - Run indexing incrementally — skip files with matching hash already indexed
- Store description from vision analysis in sidecar, not in EXIF (non-destructive)
Vision Analysis (Token-Efficient)
- Don't analyze every photo upfront — index on-demand when user searches or asks
- Cache vision results permanently in sidecar JSON — never re-analyze same photo
- For bulk analysis, process in batches of 20 with progress updates
- Use concise prompts: "Describe this photo in 2-3 sentences. List people, objects, location, activity."
- Skip screenshots and memes (detect by aspect ratio + lack of EXIF) unless explicitly requested
Duplicate Detection
- Generate perceptual hash (pHash) alongside content hash — catches near-duplicates and resized copies
- Group duplicates by pHash similarity, keep highest resolution as "original"
- Report duplicates with thumbnails/paths, never auto-delete
- Consider EXIF date — oldest is likely the original, newer copies are backups
Search Patterns
- By content: Search sidecar descriptions with simple text match first, vision re-analysis if no hits
- By date: Parse EXIF DateTimeOriginal, fall back to file mtime
- By location: Reverse geocode GPS once, store city/country in sidecar for text search
- By person: If user identifies someone once ("that's Maria"), tag all similar faces in index
EXIF Handling
- Read:
exiftool -json photo.jpg — returns all metadata as JSON - Write date:
exiftool -DateTimeOriginal="2024:03:15 14:30:00" photo.jpg - Strip GPS before sharing:
exiftool -gps:all= photo.jpg (operates on copy, not original) - Batch read:
exiftool -json -r /photos/ — recursive, outputs array
File Organization
- Propose structure, don't impose:
YYYY/MM/ or YYYY/MM-DD/ based on user preference - Rename pattern:
YYYYMMDD_HHMMSS_originalname.ext — preserves original name, adds sortable prefix - Handle timezone: EXIF dates are local time — ask user's timezone once, store in
.photo-index/config.json - HEIC to JPEG:
sips -s format jpeg input.heic --out output.jpg (macOS) or heif-convert (Linux)
NAS/Remote Libraries
- For Synology/NAS: work with mounted paths, don't assume local speeds
- Test connection before bulk operations:
ls /Volumes/photos | head -1 - For slow connections, build local index cache that syncs periodically
- Respect
@eaDir (Synology thumbnails) and .DS_Store — skip in indexing
版本历史
共 1 个版本
-
v1.0.0
当前
2026-03-28 22:55 安全 安全
安全检测
腾讯云安全 (Sanbu)
安全,无风险
查看报告
🔗 相关推荐
ai-intelligence
ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,362
📥 318,826
ai-intelligence
oswalpalash
类型化知识图谱,用于结构化智能体记忆与可组合技能。支持创建/查询实体(人员、项目、任务、事件、文档)及关联...
★ 714
📥 244,036
ai-intelligence
halthelobster
将AI智能体从任务执行者升级为主动预判需求、持续优化的智能伙伴。集成WAL协议、工作缓冲区、自主定时任务及实战验证模式。Hal Stack核心组件 🦞
★ 837
📥 213,338