srosro / deepspring-shellmate

MIT License
102 stars 7 forks source link

Implement Activity Check to Prevent Runaway GPT Queries #21

Closed delattre1 closed 4 months ago

delattre1 commented 5 months ago

To avoid unnecessary processing and potential costs associated with excessive GPT queries, introduce an activity check mechanism. This would involve prompting the user with an "Are you still here?" message after 6 to 9 queries derived from a unique screenshot. If the user does not respond, ShellBuddy should temporarily suspend further queries until user interaction is detected.

delattre1 commented 5 months ago

Currently, when a change is detected in the terminal's text content, two prompts are triggered:

Based on raw local OCR and GPT-4, generating one suggestion. Based on GPT Vision OCR and GPT-4, generating another suggestion. Thus, each change in the terminal triggers two suggestions.

The next feature I plan to implement involves the following steps: After the initial two suggestions are generated, the system will continue to create suggestions until a set limit is reached. Each time a new suggestion is requested, the current ones will be evaluated to see if they still make sense or if GPT has a better solution.

Additionally, deduplicate suggestions in ShellBuddy to display only unique suggestions

delattre1 commented 5 months ago

Additional Task to Implement:

Currently, the app creates only one session (thread) during startup. I still need to implement the functionality to create one thread per terminal window opened. As of now, it's limited to just one thread regardless of the number of terminals opened.

delattre1 commented 5 months ago

Now, after the initial two suggestions are provided, additional suggestions are generated and displayed on the screen. As soon as one suggestion is ready, the next one is generated.

Screenshot 2024-06-05 at 12 29 05

Yet to implement:

delattre1 commented 4 months ago

Currently, it only generates 4 suggestions until the terminal content changes. Individual thread IDs are working.