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.
- Vision description – Generate concise image captions using a local LLM (e.g., Gemma3).
- Embeddings – Create vector embeddings 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
- Vision model name
- Embedding model name
- Parallel processing count (default = 1)
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.