Yup, full access to DOM! Still needs a lot of optimizations, but the trick is that the agent reads the DOM as file, so it can grep parts of it naturally.
Oh that's cool! I've just used wxt to pack extension for firefox and chrome and just used typescript and plain anthropic api. My goal is to make this run fully inside the browser, without any helper binaries, like I've seen with others.
Your project seems pretty close to where mine was a couple weeks ago, where I was focused on a BYOK solution (user-entered Anthropic API key). I saw there was another similar extension already released in the app store (RobotMonkey) which hooks up to their own backend service, and offers subscriptions. For my project, I think that's the right way to go.
It's funny what details about our designs are similar through accident. And what other things are completely different. I can show you my design potentially.
Representing websites in a virtual filesystem is creative and definitely makes it easier for the agent to collect information about the page. But I'm confused between the `Bash` and the `Edit` tools. It seems like one uses the chrome executeScript API, and the other updates the file system. But if it's just doing file writes, are those edits visible in the browser, and persistent across sessions?
Backend service is definitely way to go if you want to serve models for the user.
So Bash and Edit tools are a bit weird, Bash tool is essentially JS execution, and Edit tool automatically generates a script that performs the edits on the page. These tools are needed for the model to explore the page, whatever it does at the end it creates a separate script that will be applied on the page load.
Oh neat. So the edit tool is like a convenient API/wrapper for it to eg add HTML to some element? I guess theoretically that can also be achieved through Bash as well, but the tool fits closer to an interface we know exiting agents are good at.
The problem with zsh, as with a lot of open source tools is bad defaults. If only zsh had a better out of the box experience then OMZ wouldn't be needed. I used maintain a lot of configs, over 10 years I just keep forgetting what did I set up. I don't want to be bothered with this anymore.
that's one of the reasons why we open-sourced everything, we don't store the code, and you can verify that :)
we're just running claude code on your codebase in an ephemeral container, only thing we save is your generated plan