Mirage:把图片素材带进 macOS 文件选择器

一款在 macOS 中聚合图片、头像和 GIF,并通过 File Provider 将静态图片素材接入 Finder 与系统文件面板的原生工具。


Mirage 是一款面向 macOS 的图片素材工具。它解决的是一个很具体的麻烦:在网页或 App 中需要图片时,通常要先去素材站搜索、下载到本地、整理文件,再回到原窗口上传。Mirage 把“发现素材”和“使用素材”连成一条路径——先在主应用里筛选与收藏,真正使用时直接从 Finder 或系统文件面板选择。

Mirage 图片发现页:可按内容类型和图片来源筛选
Mirage 图片发现页:可按内容类型和图片来源筛选

从 App 发现,到 Finder 直接使用

发现页把内容分成图片、头像和 GIF。图片可接入 Openverse、The Met、NASA、Pexels 与 Pixabay,既能聚合浏览,也能临时切换到单一来源;头像由 DiceBear、Gravatar、Robohash、This Person Does Not Exist 和 Picrew Discovery 等来源组成,并按卡通、动漫、真人、机器人、怪兽、动物筛选。搜索结果支持连续分页、收藏,以及来源、作者和许可信息核对。

Mirage 头像页:按头像类型筛选多个来源
Mirage 头像页:按头像类型筛选多个来源

GIF、Sticker 与 Emoji 使用独立的 GIPHY 入口,并持续展示来源标识。它们可以在 App 内搜索和收藏,但不会混入普通图片聚合,也不会发布到 Finder;这样既保留动图体验,也让不同来源的使用边界保持清楚。

Mirage 的 GIPHY 独立页面
Mirage 的 GIPHY 独立页面

内置的 File Provider 扩展会把 Mirage 注册为 Finder 和系统文件面板中的一个“位置”。其中可以浏览推荐内容、“更多图片”、收藏、头像和最近使用。素材不会因为预览就批量落到下载目录;只有系统真正请求某个文件时,Mirage 才获取并交付它。

Mirage 作为一个位置出现在 Finder 中
Mirage 作为一个位置出现在 Finder 中

实现方式:共享状态与按需物化

工程由 SwiftUI 主应用、MirageCore 和 Replicated File Provider 扩展组成。主应用负责交互,核心层统一图片来源、头像目录、搜索游标、去重、缓存和错误状态,扩展负责目录枚举、缩略图与文件交付。两个进程通过 App Group 共享收藏、最近使用、推荐快照和筛选条件;设置变化后会推进发布版本并通知系统刷新,避免 Finder 继续显示旧目录。

当 Finder 或上传面板请求文件时,扩展先从稳定标识还原素材记录,再受控下载源图,校验格式与像素边界,修正方向并居中裁切,最后生成 512 × 512 的 sRGB PNG。文件成功交付后才写入“最近使用”。整个 File Provider 保持只读,不允许创建、修改或删除远端内容;来源注册表还会分别声明哪些服务可进入 App、自动推荐、收藏或 Finder,从实现层约束产品边界。

Mirage 当前公开版本为 v0.3.1,支持 macOS 14 及以上系统,并提供适用于 Apple Silicon 与 Intel Mac 的签名、公证安装包。可在 GitHub Releases 下载。