yurijmikhalevich/rclip
grep for images – local, offline image search for the terminal
rclip – 이미지에 대한 grep
무엇인가요 – rclip는 자연어, 예시 이미지 또는 둘의 조합을 사용하여 컴퓨터 내 이미지 파일의 내용을 검색할 수 있는 명령줄 도구입니다. 폴더 내 이미지에 대한 로컬 CLIP 기반 임베딩 인덱스를 구축한 후, 어떤 데이터도 클라우드로 전송하지 않고 쿼리에 대한 결과를 순위 매깁니다.
주요 기능
- 텍스트만 사용한 검색 – 예:
rclip "두 마리 올빼미가 가지 위에" - 역이미지 검색 – 로컬 경로나 URL을 제공하면 시각적으로 유사한 이미지를 얻을 수 있습니다.
- 혼합/산술 쿼리 – 텍스트와 이미지 항목을 결합하거나 빼내며, 선택적으로 가중치를 지정할 수 있습니다 (
2:골든 리트리버 + ./pool.jpg - 과일). - 증분 인덱싱 – 이후 실행 시 새 파일이나 변경된 파일만 처리되므로 반복 검색이 빠릅니다.
- 인터랙티브 터미널 UI – Kitty 그래픽을 지원하는 터미널(Kitty, Ghostty, iTerm2, Konsole)에서 작동하는 썸네일 그리드입니다. 키보드 단축키를 통해 쉘을 벗어나지 않고 이미지를 탐색, 복사, 다운로드 또는 열 수 있습니다.
- 광범위한 포맷 지원 – JPEG/PNG/WebP/TIFF/GIF 및 macOS/Windows의 네이티브 HEIC; 플래그를 사용해 실험적인 RAW(
arw,cr2,dng) 지원. - 크로스플랫폼 – Snap, AppImage, Homebrew formula, MSI 설치 프로그램,
pip웨일로 패키징되어 있으며, Linux, macOS(Apple Silicon 전용), Windows에서 실행 가능합니다.
작동 방식
- 이미지와 텍스트 모두를 512차원 임베딩으로 변환하기 위해 OpenCLIP ViT-B/32 모델(OpenAI의 CLIP과 동일한 아키텍처)을 사용합니다.
- 임베딩은 폴더별로 간단한 로컬 인덱스에 저장되며, 쿼리는 쿼리 임베딩과 저장된 이미지 임베딩 간의 코사인 유사도를 계산하여 답변합니다.
- 모든 계산은 CPU에서 수행되며(또는 하위 PyTorch 빌드가 GPU를 감지하면 GPU에서도), 도구는 오프라인으로 작동하고 사진의 개인정보를 보호합니다.
일반적인 워크플로우
# 첫 실행 – 현재 폴더의 인덱스를 구축합니다
cd ~/Photos && rclip "호수 위의 일몰"
# 이후 실행은 빠릅니다 (새 파일만 인덱싱됨)
cd ~/Photos && rclip "두 마리 고양이"
# 인라인 미리보기와 함께 인터랙티브 UI
rclip --interactive
# 이미지에서 이미지로 검색
rclip ./example.jpg
도구는 다른 명령어로 연결하기 위해(예: xargs cp, feh, 또는 사용자 정의 스크립트) 평범한 파일 경로를 출력할 수도 있습니다(-f 옵션).
설치
- 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 페이지를 통해 토론과 기여를 환영합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트