这个插件用于清理 Vault 中未被引用的附件(不仅是图片)。
插件会先收集全库附件引用关系,再从候选附件中找出未使用项,并在删除前提供可勾选确认列表,避免误删。
- 当前维护者:gtiders
- 仓库:https://github.com/gtiders/clear-unused-attachs-obsidian
- 本项目基于原作者 Ozan 的插件思路与实现演进而来,感谢原作者的开源贡献。
- 清理全 Vault 的未使用附件
- 右键文件夹,仅清理该文件夹(含子目录)中的未使用附件
- 删除前弹出确认清单,可手动取消勾选
- 支持
Select All / Select None - 实时显示“Selected for deletion: N”
- 默认删除策略:移动到 Obsidian 的
.trash - 可在设置切换到系统回收站或永久删除
默认选项为 Move to Obsidian Trash:
- 附件通过 Obsidian 原生 API 移动到 Vault 的
.trash - 不创建额外时间目录,逻辑最简单、最稳定
可选项:
- Move to System Trash:移动到系统回收站
- Delete Permanently:永久删除(不可恢复)
- 打开命令面板(
Ctrl/Cmd + P) - 执行
Clear Unused Attachments - 在确认弹窗中勾选需要删除的附件
- 点击
Delete Selected
- 在文件管理器中右键一个文件夹
- 选择
Clear Unused Attachments in This Folder - 在确认弹窗中删减清单后执行删除
注意:文件夹模式下,候选范围限定在该文件夹;但“是否被引用”的判断仍看全 Vault,确保不会误删被其它位置引用的附件。
在 Clear Unused Attachments Settings 中可配置:
- Ribbon Icon:是否显示左侧快捷按钮
- Delete Logs:删除后是否弹出日志窗口
- Deleted Attachment Destination:删除目标策略(默认 Obsidian
.trash) - Excluded Folder Full Paths:按完整路径排除目录(区分大小写)
- Exclude Subfolders:是否同时排除子目录
npm install
npm run build- 插件依赖 Obsidian API 与 metadata cache
.trash目录默认不参与候选扫描- 当前仓库无自动化测试脚本,主要通过构建与手动验证