已失效的内部孤儿图片指存在于库中但全库Markdown文件无任何有效引用的图片;需启用File Explorer和Background sync确保笔记加载完成,再用obsidian-janitor插件扫描识别,人工预览复核后移至废纸篓并清空。

确认哪些图片属于已失效的内部孤儿图片
打开 Obsidian 设置 → 核心插件 → 启用「文件揭示器(File Explorer)」和「后台同步(Background sync)」,确保所有笔记已加载完毕且无未保存更改。这一步必须做完,否则扫描结果会漏掉刚编辑但未保存的引用。
Obsidian 本身不主动追踪图片引用关系,所谓“已失效”指:图片文件仍存在于 Vault 中,但全库 Markdown 文件里找不到任何 wikilink(![[xxx.png]])、Markdown 图片语法()、HTML img 标签或 Canvas 嵌入路径指向它。注意,【仅靠文件名模糊匹配无法判定是否失效,必须做全文本正则扫描】。
用 obsidian-janitor 插件批量识别孤儿图片
打开设置 → 第三方插件 → 浏览社区插件 → 搜索「obsidian-janitor」→ 安装并启用。
启用后,在命令面板(Cmd+P)输入「Janitor: Scan for orphaned files」并执行。插件会遍历整个 Vault,逐行解析所有 .md 文件中的链接模式,比对附件目录中每个文件是否被至少一处有效引用。扫描过程通常需 3~12 秒,取决于附件数量和 SSD 读速。
扫描完成后,左侧边栏会出现「Janitor」图标,点击进入 → 切换到「Orphaned media files」标签页 → 所有未被引用的图片将按路径列出,每项右侧带「Preview」和「Delete」按钮。此时不要直接点删。
人工复核并安全删除
第一步:在「Orphaned media files」列表中,逐个点击「Preview」查看图片缩略图与文件名,确认内容是否真无用。例如「Pasted image 20251012143321.png」若对应某次会议白板但笔记已删,则属合理清理对象;若缩略图显示是你上周刚画的流程图草稿,说明引用可能藏在未提交 Git 的临时笔记里,暂停删除。
第二步:勾选确认无误的图片 → 点击右上角「Delete selected」→ 弹窗中【务必勾选 “Move to trash instead of permanent deletion”】 → 点击「Confirm」。
第三步:清空系统废纸篓。Mac 上打开访达 → 左侧边栏点「废纸篓」→ 右键 →「清空废纸篓」。这一步不可跳过,否则文件仍在磁盘占用空间。

















