{"id":13577029,"url":"https://github.com/apirrone/Memento","last_synced_at":"2025-04-05T09:30:44.734Z","repository":{"id":193365949,"uuid":"671542615","full_name":"apirrone/Memento","owner":"apirrone","description":"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.","archived":false,"fork":false,"pushed_at":"2024-04-23T14:36:29.000Z","size":228,"stargazers_count":609,"open_issues_count":24,"forks_count":49,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-04-04T21:07:27.513Z","etag":null,"topics":["llms","productivity","pygame","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apirrone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"apirrone","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-07-27T14:56:43.000Z","updated_at":"2025-03-31T23:32:45.000Z","dependencies_parsed_at":"2025-01-07T04:32:16.881Z","dependency_job_id":"384c99ce-2fbe-4331-adf6-78a95823f34e","html_url":"https://github.com/apirrone/Memento","commit_stats":null,"previous_names":["apirrone/memento"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirrone%2FMemento","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirrone%2FMemento/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirrone%2FMemento/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirrone%2FMemento/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apirrone","download_url":"https://codeload.github.com/apirrone/Memento/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247317980,"owners_count":20919447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["llms","productivity","pygame","python"],"created_at":"2024-08-01T15:01:17.058Z","updated_at":"2025-04-05T09:30:44.706Z","avatar_url":"https://github.com/apirrone.png","language":"Python","readme":"# Memento\n\nMemento 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.\n\nhttps://github.com/apirrone/Memento/assets/6552564/d256a3a9-fa44-4b73-8b8e-b02a5473540b\n\nThis project is heavily inspired by [rewind.ai](https://rewind.ai/)\n\n## How it works:\n- The app takes a screenshot every 2 seconds\n- It compiles the screenshots into h264 video segments for storage efficiency\n- It uses OCR to extract text from the images\n- It indexes the text in a sqlite3 database and a vectordb\n- It uses FTS5 to search the text\n- It uses a LLM (GPT through OpenAI's API) to chat with the timeline\n\n## Branches :\n- The `main` branch is the latest release\n- The `dev` branch contains the latest \"stable\" improvements that will be merged into main periodically\n- Any other branch is a feature currently being developed\n\n## Disk space and performance considerations\n- Right now, Memento produces about **120MB** of data per hour\n- We are working on ways to reduce this number\n- **TODO** profile cpu usage of Memento\n\n\n## Installation\n\nThis project was tested on Ubuntu 22.04.\n\n```console\n$ pip install -e .\n```\n\nYou also need to install `tesseract-ocr` on your system. To install latest version (tesseract 5.x.x):\n\n```console\n$ sudo apt update\n$ sudo add-apt-repository ppa:alex-p/tesseract-ocr-devel\n$ sudo apt install tesseract-ocr\n```\nThen install the language packs you need, for example:\n\n```console\n$ sudo apt install tesseract-ocr-eng\n$ sudo apt install tesseract-ocr-fra\n```\n\nYou also need to set an environment variable :\n(This is the path on my system, it may be different on yours)\n```console\nexport TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/\n```\n\nIf you want to chat with the timeline through a llm, you need an openai api key in your env as `OPENAI_API_KEY`.\n\n## Usage\n### Run the background process :\n\n```console\n$ memento-bg\n```\n\n### Run the timeline :\n\n```console\n$ memento-timeline\n```\n\n#### Controls :\n- Scroll horizontally or vertically to navigate the timeline. \n- `ctrl+scroll` to zoom the timeline in and out.\n- Hover the timeline to see a preview of the screenshot at that time, `click` to navigate there.\n- Press `d` for debug mode (useful for development)\n- `ctrl+f` to open search sidebar.\n- `ctrl+t` to open chat sidebar.\n- `click+drag` on a screenshot to select text, `ctrl+c` to copy it to clipboard.\n\n\n## Contributing: \nFeel free to contribute ! \n\nFork the repo, and submit a PR to the `dev` branch.\n","funding_links":["https://github.com/sponsors/apirrone"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapirrone%2FMemento","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapirrone%2FMemento","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapirrone%2FMemento/lists"}