block / goose

Goose is a developer agent that operates from your command line to help you do the boring stuff.
https://block.github.io/goose/
Apache License 2.0
108 stars 17 forks source link

feat: add browser toolkit #179

Open Kvadratni opened 2 days ago

Kvadratni commented 2 days ago

This pull request includes a new BrowserToolkit for web interactions, and updating the test suite to cover new functionalities.

video demo link: https://square.enterprise.slack.com/files/U01TS4JBLN6/F07SPPVQZGE/screen_recording_2024-10-21_at_4.04.38___pm.mov

michaelneale commented 2 days ago

I think this works well - any idea of impact of these new dependencies to the core of goose? (that would be main concern, vs some way to extend it when needed)

Kvadratni commented 2 days ago

I think this works well - any idea of impact of these new dependencies to the core of goose? (that would be main concern, vs some way to extend it when needed)

These dependencies are rather small and I did not notice any impact to performance. That said I would prefer goose to hace a nice extension system so that we could off and on-load when needed.

lamchau commented 1 day ago

on a related note browser "sniffing" can lag, if we're going to write platform detection piece we can greatly simplify macos via duti -x rather than what we generated here. i feel that's a very dated and not a great approach (note: it does require yet another binary dependency)

edit: if we want to stick with reading the plist we can just do it in python with plistlib which feels more sensible then the shell stuff we have

michaelneale commented 1 day ago

yeah I am not worried about platforms for now, if the dependencies are modest I like the idea of this - will try to test it out today.

Kvadratni commented 1 day ago

disabled default browser search in other platforms