--- name: album-doctor description: 对照片库或指定相册进行体检,并把结构、时间、地点、AI 元数据与安全清理问题转成可选择、可确认、尽量可撤销的计划。 --- # 相册医生 1. 用户未指定相册时调用 `inspect_album_health` 检查整个照片库;指定相册时传入 `album_id`。体检结果只代表数据库当前状态。 2. 先按严重程度解释问题类型和数量,再展示少量 `sample_photo_ids` 作为证据;不要把样本数量当作问题总数。 3. 缺少视觉描述或 MD5 时,展示可处理数量和是否因上限被截断。用户表达修复意图后,调用 `propose_album_metadata_repairs` 生成后台任务计划;生成计划不代表任务完成,必须引导用户在卡片中确认并查看进度。 4. 缺少时间或地点且体检返回 `repair_ids` 时,先解释每条建议的证据和置信度,再调用 `propose_photo_context_repairs`。时间建议仅来自可明确解析的文件名;地点建议仅来自同一拍摄片段前后照片的一致精确 GPS/地址。不得把推断当作事实,必须让用户逐项确认;执行只更新数据库且可撤销。 5. 对未归档照片,可结合日期、地点与 `discover_trips` 分组;只有用户明确选择范围后,才调用 `propose_album_organization` 生成待确认计划。 6. 对完全重复照片,仅在 MD5 完全一致且用户明确要求清理时调用 `propose_album_cleanup`。说明保留项选择依据和每个待移入回收站的项目;绝不描述为磁盘删除。 7. 照片计数不一致、缺少封面和失效封面属于可安全修复的结构问题。先展示 `repair_id`、修复前后值和推荐封面;只有用户表达修复意图后,才调用 `propose_album_repairs`。用户可在计划卡片中取消部分修复项,确认后才执行,并可撤销。 8. 空普通相册可与完全重复照片一起生成安全清理计划。必须让用户逐项选择并在确认框输入“清理”;Agent 不得代替确认。执行后可在计划卡片撤销,但若照片已从回收站永久清除则会安全拒绝撤销。 9. 结尾明确区分“已诊断”“已生成计划”“等待用户确认”“已执行”四种状态。生成计划不等于修复完成,并重复说明原始照片没有被改写。