As of now it's free and you can use your ChatGPT subscription or an OpenAI endpoint. There is an optional companion PWA that allows you to drive the extension from your phone and click captchas for it remotely, which I might charge for in the future. But for now it's free and optional. The extension itself has no backend and does not collect any data.
The hard part is MV3 extensions do everything they can to make sure your extension does not take up too much memory or run too long. So I rewrote durable objects in javascript to make it so that the agents in the extension can safely recover from their process randomly restarting constantly. each "agent" is an web-worker with a sqlite database and unique address.
All the things I don't have to solve because the agent lives in a chrome extension:
a) Identity - it inherits the chrome profile it lives in. It can ride your profile or you can give it its own and sandbox it with chrome enterprise.
b) File system isolation - Each Rook extension gets its own private file system (opfs) which it can execute bash over. You can also mount local files via the file system access APIs and have the agent copy files between them.
c) Sandboxing - extensions come with a sandbox api which allows the model to author arbitrary js safely. You can control the browser level allowed hosts in chrome enterprise as well.
d) Browser use - the model just writes playwright and webmcp code in its sandbox. This works really well and is what SOTA computer use harnesses do.
e) Scheduler/routines - you can set recurring work in your extension since extensions ship with their own alarms api.
f) Channels - Slack and Discord let you connect to the extension directly via websocket so I don't need a proxy server or backend.
I use this for basically everything these days and have ~8 unique browser profiles running on a single mac studio at all times. They are designed to take a task and work for extended periods of time.
Cheers!