Skip to content
apirronePublic

About

Memento is a Python app that records everything you do on your computer and lets you go back in time, search, and chat with a LLM (Large Language Model) to find back information about what you did.

Topics

Resources

Stars

661 stars

Watchers

22 watching

Forks

Latest commit

 

History

208 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memento

Memento is a Python app that records everything you do on your computer and lets you go back in time, search, and chat with a LLM (Large Language Model) to find back information about what you did.

demo_memento.mp4

This project is heavily inspired by rewind.ai

How it works:

  • The app takes a screenshot every 2 seconds
  • It compiles the screenshots into h264 video segments for storage efficiency
  • It uses OCR to extract text from the images
  • It indexes the text in a sqlite3 database and a vectordb
  • It uses FTS5 to search the text
  • It uses a LLM (GPT through OpenAI's API) to chat with the timeline

Branches :

  • The main branch is the latest release
  • The dev branch contains the latest "stable" improvements that will be merged into main periodically
  • Any other branch is a feature currently being developed

Disk space and performance considerations

  • Right now, Memento produces about 120MB of data per hour
  • We are working on ways to reduce this number
  • TODO profile cpu usage of Memento

Installation

This project was tested on Ubuntu 22.04.

$ pip install -e .

You also need to install tesseract-ocr on your system. To install latest version (tesseract 5.x.x):

$ sudo apt update
$ sudo add-apt-repository ppa:alex-p/tesseract-ocr-devel
$ sudo apt install tesseract-ocr

Then install the language packs you need, for example:

$ sudo apt install tesseract-ocr-eng
$ sudo apt install tesseract-ocr-fra

You also need to set an environment variable : (This is the path on my system, it may be different on yours)

export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/

If you want to chat with the timeline through a llm, you need an openai api key in your env as OPENAI_API_KEY.

Usage

Run the background process :

$ memento-bg

Run the timeline :

$ memento-timeline

Controls :

  • Scroll horizontally or vertically to navigate the timeline.
  • ctrl+scroll to zoom the timeline in and out.
  • Hover the timeline to see a preview of the screenshot at that time, click to navigate there.
  • Press d for debug mode (useful for development)
  • ctrl+f to open search sidebar.
  • ctrl+t to open chat sidebar.
  • click+drag on a screenshot to select text, ctrl+c to copy it to clipboard.

Contributing:

Feel free to contribute !

Fork the repo, and submit a PR to the dev branch.

About

Memento is a Python app that records everything you do on your computer and lets you go back in time, search, and chat with a LLM (Large Language Model) to find back information about what you did.

Topics

Resources

Stars

661 stars

Watchers

22 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages