LLM / GPT / ChatGPT Question answerings using ActivityWatch data

Previously I worked on a terminal based micro-journal.

One of the cool features it had was the ability to ask GPT4 questions about what I was doing over a date-time range and GPT4 would provide answers based on the data available in the search results.

It was pretty fun, and felt helpful for filling out timesheets, remembering what I worked on in previous months, etc. As instead of needing to trawl the data myself I could pipe my data into the LLM & summarize. It wasn’t perfect but it felt good enough.

Because it was a simple command-line tool, there wasn’t much in the way of UI for it. UI has never been my specialty.

I was wondering if this is something which could be integrated with ActivityWatch, and if so, ideas on where and how it might work?

It could be a custom panel, but I don’t know if those are normally interacted with.

One idea would be it would take a search, similar to the search feature already present, and then allow for asking a question along with the search.

Open to other ideas. I am busy with life stuff at the moment but wouldn’t mind taking a crack at the implementation in December if others think this would be useful or cool.

I have also built something like this! But I also ended up just making a simple CLI and nothing with a UI.

However, it would probably be pretty simple to add a view to the web UI which fetches data for recent days, then feeds it to a LLM API (provided a API key).

1 Like

Cool! I have a github repo with a few watchers I’d like to try implementing (https://github.com/LrWm3/ActivityWatch-Software-Dev-Watchers); will take a stab at this after I have one or two of those done!

Actually I’ve already implemented Jira, Git, Outlook (OWA365) watchers. But they are integrated in another big repo in which I’m trying to aggregate my activity basing mostly on heuristic, not on LLM. Will try to publish in a few hours.

1 Like

About LLM - is it possible to feed 2000+ events (my daily mean) into GPT4? Is it capable to get so many information at once?

@LrWm3 please find a link to repo with importers and short description in Git, Jira, Outlook importers and separate way to categorize/aggregate events into activities

1 Like

Currently I have been chunking by time if there is too much data. I would guess 2000 events would be too much to do all at once.

Possibly, if data doesn’t seem helpful for summarization possibly it could be filtered or omitted.

Yep, you are right. In my project I’m able to aggregate ~300 meaningful “intervals” from those 2000+ events, see “z###” buckets on the screenshot.

Anyway, @LrWm3 , @ErikBjare - how much data you’ve tried to feed into GPT4 at once and may you share code of you CLI tools for it?

1 Like

Not that much data. I generally have been chunking manually or dropping some data instead of chunking. The code to check the token limit might be useful though. I will share that when I can!