continuedev / continue

⏩ Continue is the leading open-source AI code assistant. You can connect any models and any context to build custom autocomplete and chat experiences inside VS Code and JetBrains
https://docs.continue.dev/
Apache License 2.0
13.7k stars 966 forks source link

Seamless ambient context integration with open source time/attention tracking tools #527

Open pcuci opened 9 months ago

pcuci commented 9 months ago

@context inputs are tedious and explicit

Solution

ActivityWatch team is only starting to look at AI, see their blog post: "Full-Context Tracking: A Double-Edged Sword / Opportunities for AI Applications"

I could see AW replace all the @context / Meilisearch component of continue :-)

Cross-track: https://github.com/ActivityWatch/activitywatch/issues/959

sestinj commented 9 months ago

Love this! Here's what I'm thinking:

  1. Start with a simple context provider, so you could @ aw to explicitly tell Continue to use ActivityWatch as context. This could even go as far as re-updating the context for every input the way we have things currently setup
  2. I've considered the idea of context providers that are "always there". That way you could specify that every message to Continue should include AW context without having to explicitly say so
  3. Once the experimental codebase embeddings feature gets further along, I want to open up the embeddings database for other context sources, and ActivityWatch could be one of these: dump recently viewed content into Chroma and similarity search to get it out

I don't think this will go as far as replacing meilisearch for everyone, but it sure sounds like a game changer for someone already using ActivityWatch, or who is willing to adopt

From a quick look, it seems a ContextProvider could use the aw-client Python package to get data from the server - does this seem right, or have you ever used the python package before?

pcuci commented 9 months ago

I'm not a python dev, but hey - I got continue and a bunch of AI co-pilots :-)

Their vs-code tracker might need some work though: https://github.com/ActivityWatch/aw-watcher-vscode/issues/12

Sends following data to ActivityWatch:

This could be super useful as a meta-context kind of "get me back to what I was working on yesterday", since that's the heaviest time sink in this new age of AI, I just can't remember what happened the last time I sat down for a long stretch of time. I need help synthesizing my own past thinking.

sestinj commented 9 months ago

Very interesting. A side note here is that we could accomplish some of this by looking at the output of git log