pip install requirements.txt
python app.py (creates DB and creates a .screenshots folder in your ~)
If it asks popup asking if it can use screen, say yes
Can change # of CPU cores used for OCR.
Screenshot time interval
Ardnassac let's you search your past. It's a proof of concept, trying to reproduce the amazing product developed at rewind.ai with open source tools.
It uses the python PIL library to take a screenshot of your entire screen every 3 seconds, and extracts text using the tesseract OCR software. The results are then stored in a sqlite3
database, ready for querying.
The frontend is a simple Streamlit app with a text input, displaying matching screenshots with matches within the screen highlighted.
This approach wouldn't work for a real product because of the computation required to run the OCR every 3s. It runs smoothly on my macbook air, but I don't want 4 threads to be busy constantly running OCR jobs on my CPU. I assume that Rewind found a good way to speed this up. Also, their UX and integration with the OS is amazing and would be a lot of effort to reproduce.
Oh, and yes, the code is terrible, that's the point of a PoC ๐.
- fuzzy search
- requires the ocr data gets encoded into a semi-strict schema...currently the strings are not cleaned
- plug-in to an llm.