yurijmikhalevich/rclip
grep for images – local, offline image search for the terminal
rclip – 图像的 grep 工具
这是什么 – rclip 是一个命令行工具,允许你使用自然语言、示例图片或两者的组合,在你自己的计算机上的图像文件内容中进行搜索。它会为文件夹中的图像构建一个本地的基于 CLIP 的嵌入索引,然后对查询结果进行排序,整个过程不会将任何数据发送到云端。
主要功能
- 仅文本搜索 – 例如
rclip "两只鹦鹉在树枝上" - 反向图像搜索 – 提供本地路径或 URL,获取视觉上相似的图片。
- 混合/算术查询 – 可以组合或减去文本和图像项,可选地加权(
2:金毛寻回犬 + ./pool.jpg - 水果)。 - 增量索引 – 后续运行时仅处理新文件或已更改的文件,使重复搜索快速高效。
- 交互式终端界面 – 一个在支持 Kitty 图形的终端(Kitty、Ghostty、iTerm2、Konsole)中工作的缩略图网格。键盘快捷键可让你在不离开 shell 的情况下浏览、复制、下载或打开图像。
- 广泛的格式支持 – JPEG/PNG/WebP/TIFF/GIF 以及 macOS/Windows 上的原生 HEIC;通过标志支持实验性 RAW 格式(
arw、cr2、dng)。 - 跨平台 – 以 Snap、AppImage、Homebrew 公式、MSI 安装程序和
pip轮子形式打包;可在 Linux、macOS(仅 Apple Silicon)和 Windows 上运行。
工作原理
- 使用 OpenCLIP ViT-B/32 模型(与 OpenAI 的 CLIP 使用相同架构)将图像和文本都转换为 512 维嵌入。
- 嵌入被本地存储在每个文件夹的简单索引中;通过计算查询嵌入与存储的图像嵌入之间的余弦相似度来回答查询。
- 所有计算都在 CPU 上进行(如果底层 PyTorch 构建支持 GPU 则使用 GPU),因此该工具可离线运行并保护你的照片隐私。
典型工作流程
# 首次运行 – 为当前文件夹构建索引
cd ~/Photos && rclip "湖上的日落"
# 后续运行速度很快(仅索引新文件)
cd ~/Photos && rclip "两只猫"
# 带内联预览的交互式界面
rclip --interactive
# 图像到图像的搜索
rclip ./example.jpg
该工具还可以输出纯文件路径(-f),以便管道传递给其他命令(例如 xargs cp、feh 或自定义脚本)。
安装
- Linux –
sudo snap install rclip(或下载 AppImage,或使用 PyTorch CPU 轮子安装pip install rclip)。 - macOS –
brew install yurijmikhalevich/tap/rclip(Apple Silicon)或pip install rclip。 - Windows – 从最新发布版下载 MSI 安装程序,或
pip install rclip。
许可证 – MIT。
了解更多 – README 中链接了博客文章、YouTube 演示和一篇简短论文;欢迎通过 GitHub Discussions 页面参与讨论和贡献。
一个真正强大的本地图像搜索工具,无需上传数据,即可通过自然语言或图像示例找到你想要的照片。— @yurijmikhalevich
相关
- 项目
- 项目
- 项目
- Dispatch
- 项目