A Python application that indexes and enables fast searching of your screenshots using OCR, vision models, and vector embeddings.
- Folder scanning – Recursively scan selected folders for image files.
- OCR extraction – Pull text from screenshots via Tesseract.
- Visual semantic search – Batch CLIP image embeddings so characters, objects, and scenes are searchable without OCR.
- Text embeddings – Embed OCR content separately for hybrid text-image search.
- Hybrid search – Combine keyword and visual similarity for powerful queries.
- Configurable parallelism – Adjust concurrency for indexing performance.
This project uses uv package manager, install it at https://docs.astral.sh/uv
# Clone the repository
git clone https://github.com/Creative-Geek/Searchable-Screenshots.git
cd Searchable-Screenshots
# Install dependencies and create virtual environment
uv syncuv run main.pyThe application will open a window where you can add folders, configure settings, and start indexing.
uv run src.core.processor --folder "C:\path\to\screenshots"This will process the images and populate the local database.
Open Settings in the GUI to adjust:
- Ollama URL
- Visual embedding model and GPU batch size
- OCR text embedding model
- Parallel CPU processing count
Feel free to open issues or submit pull requests. Please follow the existing code style and run the test suite before submitting.
This project is licensed under the MIT License.