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.
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.