rclip
rclip 是一款基于人工智能的命令行照片搜索工具,它利用 OpenAI 强大的 CLIP 神经网络,让用户能够像使用搜索引擎一样,通过自然语言描述快速查找本地图片。无论是输入“夕阳下的海滩”这样的文字,还是提供一张参考图片甚至网络链接,rclip 都能精准匹配并找出语义最相似的照片。
传统文件管理往往依赖文件名或文件夹分类,难以应对海量且命名随意的个人图库。rclip 解决了这一痛点,无需手动打标签,即可实现“以图搜图”或“文图混合搜索”。更独特的是,它支持复杂的组合查询,例如搜索“像这张照片但要是夜晚场景”(图片 + 文字),或者“斑马但去掉条纹”(概念相减),极大地拓展了检索的灵活性。
这款工具特别适合熟悉终端操作的开发者、数据研究人员以及拥有大量素材库的设计师使用。虽然初次运行时需要索引图片特征(耗时取决于硬件性能与图片数量),但一旦建立索引,后续搜索将非常高效。rclip 提供了跨平台安装方案,覆盖 Linux、macOS 和 Windows,让技术用户能以极简的方式管理庞大的视觉资产,体验智能检索带来的便利。
使用场景
一位拥有数万张旅行照片的摄影师需要在本地海量图库中快速筛选特定构图或氛围的素材,以完成紧急的商业提案。
没有 rclip 时
- 只能依赖文件名或手动添加的标签搜索,若当初未规范命名(如
IMG_2034.jpg),根本找不到“夕阳下的海滩”这类语义内容。 - 寻找相似构图时,必须肉眼逐张翻阅成千上万张照片,耗时数小时且极易遗漏最佳选项。
- 无法进行组合筛选,例如想找“像这张参考图但要是夜晚场景”的照片,完全无法通过传统方式实现。
- 跨设备整理照片时,缺乏智能索引,导致大量优质素材长期沉睡在硬盘深处无法被复用。
使用 rclip 后
- 直接使用自然语言搜索(如
rclip "sunset beach"),rclip 利用 CLIP 模型理解语义,瞬间定位所有相关画面,无需预先打标签。 - 支持以图搜图,只需提供一张参考照路径,rclip 即可毫秒级返回图库中视觉特征最相似的所有照片。
- 能够执行复杂的加减法查询(如
rclip "./reference.jpg" + night - crowd),精准提取“类似参考图且是夜晚、无人群”的特定素材。 - 首次运行后自动建立本地向量索引,后续在终端即可随时调用,将原本数小时的翻找工作压缩至秒级响应。
rclip 将非结构化的图片库转化为可语义交互的智能资产,让摄影师从繁琐的文件管理中解放出来,专注于创意本身。
运行环境要求
- Linux
- macOS
- Windows
未说明 (支持 CPU 模式,安装命令中包含 --extra-index-url .../cpu 选项,且在 Intel Celeron 和 Apple Silicon 上均有运行测试)
未说明

快速开始
rclip - 基于 AI 的命令行照片搜索工具
rclip 是一款由强大的 OpenAI CLIP 神经网络驱动的命令行照片搜索工具。
安装
Linux
sudo snap install rclip
替代方案(AppImage 和 pip)
如果您的 Linux 发行版不支持 snap,您可以使用以下替代安装方式:
AppImage(自包含 x86_64 可执行文件)
在 Linux x86_64 上,您可以将 rclip 作为自包含的可执行文件进行安装。
从最新的 release 下载 AppImage 文件。
执行以下命令:
chmod +x <下载的 AppImage 文件名>
sudo mv <下载的 AppImage 文件名> /usr/local/bin/rclip
使用 pip
pip install --extra-index-url https://download.pytorch.org/whl/cpu rclip
macOS
brew install yurijmikhalevich/tap/rclip
注意: 我们仅支持并提供适用于 Apple Silicon (arm64) 的预编译二进制包。您也可以尝试自行为基于 Intel 的 Mac 构建 brew rclip,或使用下面的替代安装方式。
替代方案 (pip)
pip install rclip
Windows
- 从最新的 release 下载 "*.msi" 文件。
- 运行安装程序以安装 rclip。
替代方案 (pip)
pip install rclip
使用
cd photos && rclip "搜索查询"
当您首次在某个目录中运行 rclip 时,它会提取照片的特征,这需要一些时间。所需时间取决于您的 CPU 性能以及要搜索的照片数量。在我的 NAS 上处理 7.3 万张照片大约花费了一天时间,该设备搭载的是较旧的 Intel Celeron J3455 处理器;而在我的配备 M1 Max CPU 的 MacBook 上,索引 5 万张图片仅需 7 分钟;同样在这台 MacBook 上,处理 128 万张图片则耗时约三小时。
有关详细演示,请观看视频:https://www.youtube.com/watch?v=tAJHXOkHidw。
相似图片搜索
您可以通过传递文件路径甚至图片文件的 URL 来使用另一张图片作为查询,rclip 将找到与您提供的查询图片最相似的图片。如果您通过相对路径引用本地图片,必须在其前面加上 ./。例如:
cd photos && rclip ./cat.jpg
# 或者使用 URL
cd photos && rclip https://raw.githubusercontent.com/yurijmikhalevich/rclip/main/tests/e2e/images/cat.jpg
请观看此视频以了解图片到图片的搜索演示:https://www.youtube.com/watch?v=1YQZKeCBxWM。
组合多个查询
您可以对图像和文本查询进行加减操作,以下是一些使用示例:
cd photos && rclip horse + stripes
cd photos && rclip apple - fruit
cd photos && rclip "./new york city.jpg" + night
cd photos && rclip "2:golden retriever" + "./swimming pool.jpg"
cd photos && rclip "./racing car.jpg" - "2:sports car" + "2:snow"
如果您想查看这些查询在 ImageNet-1k 数据集的 128 万张图片上执行的效果,请观看 YouTube 上的演示:https://www.youtube.com/watch?v=MsTgYdOpgcQ。
如何预览结果?
如果您使用的是 iTerm2、Konsole(版本 22.04 及以上)、wezterm、Mintty 或 mlterm 中的任意一个,只需向 rclip 传递 --preview(或 -p)参数即可:
rclip -p kitty
使用其他终端或查看器
如果您使用的是其他终端,或者希望在自己选择的查看器中查看结果,可以将 rclip 的输出传递给该查看器。例如,在 Linux 上,以下命令会在您的默认图片查看器中打开“kitty”查询的前 5 张结果:
rclip -f -t 5 kitty | xargs -d '\n' -n 1 xdg-open
参数 -f 或 --filepath-only 会使 rclip 只打印文件路径,而不显示分数或标题,这使其非常适合与自定义查看器配合使用,如上述示例所示。
我更喜欢使用 feh 的缩略图模式来预览多个结果:
rclip -f -t 5 kitty | feh -f - -t
我能否使用 rclip 复制符合特定查询的照片?
是的,您可以将 rclip 的输出通过管道传递给其他工具来复制图片。例如,在 macOS、Linux 或 WSL 上,要将匹配“搜索查询”的前 3 张图片复制到 /path/to/destination,您可以这样做:
rclip -f -t 3 "搜索查询" | xargs -I {} cp {} /path/to/destination
rclip 如何更新索引?
当您在已处理过的目录中运行 rclip 时,它只会索引自上次运行以来新增的照片,并从索引中移除已删除的照片。这使得后续运行速度更快。
如果您确定自上次运行以来没有新增或删除照片,可以使用 --no-indexing(或 -n)参数来完全跳过索引步骤,从而进一步加快搜索速度。
rclip -n cat
获取帮助
https://github.com/yurijmikhalevich/rclip/discussions/new/choose
贡献
本仓库遵循 Conventional Commits 标准。
从源代码本地运行
要从源代码本地运行 rclip, 您需要安装 Python 和 Poetry。
然后执行:
# 克隆源代码仓库
git clone git@github.com:yurijmikhalevich/rclip.git
# 安装依赖和 rclip
cd rclip
poetry install
# 激活新的 poetry 环境
poetry shell
如果 poetry 环境已激活,您可以按照上面的 使用方法 部分所述,在本地使用 rclip。
贡献者 ✨
感谢以下优秀的人士和组织(emoji key):
![]() ramayer 💻 |
![]() Caphyon 🚇 |
![]() AbId KhAn 💻 |
![]() Ben 💻 |
![]() Tanmay Chaudhari 💻 |
![]() Leo Auri 💻 |
特别感谢 Caphyon 和 Advanced Installer 团队,他们慷慨地为 rclip 项目提供了 Professional Advanced Installer 许可证,用于制作 Windows 安装程序。
本项目遵循 all-contributors 规范。欢迎任何形式的贡献!
许可证
MIT
版本历史
v2.1.62026/04/06v2.1.6a12026/03/30v2.1.52026/03/29v2.1.5a22026/03/29v2.1.42026/03/29v2.1.4a12026/03/22v2.1.02025/10/25v2.0.112025/10/14v2.0.92025/10/12v2.0.82025/09/09v2.0.72025/08/25v2.0.62025/08/18v2.0.6a32025/08/18v2.0.52025/04/14v2.0.32025/03/07v2.0.22025/03/02v2.0.12025/02/26v2.0.02025/02/23v1.11.1a252024/12/15v1.11.1a122024/11/30常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。





