Out of curiosity, what prompted you to make this when agent-browser.dev and lots of other alternatives already exist? "Because it's fun" is absolutely a legitimate answer, but I couldn't tell from the README what I might be missing.
I love it! I’m going to give this a try for sessions that need to do a lot of browsing. If anyone is looking for a headless WebKit browser/viewer for agents (more focused on development), check out https://github.com/bensyverson/sleepyhollow
Great work, I'll try it out as a replacement for chrome for my verification flows today. It's great to have ad blocker but it's curious to me to enable it by default, is this something you use more for scraping than application testing for example?
> agweb has no automatic cookie-banner remover. Its ad blocker uses uBlock Origin’s lists, which block ads and trackers but leave consent dialogs alone
I mean, rather than just out-and-out removing them, I would think that the proper thing to do to get those dialogs out of the way would be to have a separate extension that detects them and automatically interacts with them to dismiss them (in whatever way you'd prefer.)
I run several agents at once. Playwright's Chrome windows kept popping up and grabbing my keyboard, and headless got blocked by some sites and you can't see easily what's happneing.
agweb keeps what's good about headless and still lets you watch. It never pops up or takes focus, and idle tabs get suspended: five idle pages sit at 0% CPU and 590 MB, vs 1.6 GB for Playwright's Chrome. ⌘D shows every agent's tabs live.
For agents, the commands mirror playwright-cli, which they already know. Each reply also says what the action changed (fetches, elements added or removed), so they need fewer snapshots, fewer tool calls and fewer tokens.
Also: one login shared by all agents through a named profile, fill --secret-cmd 'pass show site' keeps passwords out of the transcript, and ask hands the tab to you for MFA or a CAPTCHA.
The shared named profile is handy, but how do you deal with one agent's actions spilling over to the others? For example, one agent logs out, switches accounts, or trips a site's rate limit, and every other agent on that profile inherits it. Is there a way to give an agent a forked or read-only copy of the profile's cookies?
This - for some scenarios I want the cookies shared (multiple agents watching eg fb marketplace), for others I want to have their own sandbox. And the GUI could indicate this eg. by putting tabs that share profile into blocks.
this is awesome
agweb keeps what's good about headless and still lets you watch. It never pops up or takes focus, and idle tabs get suspended: five idle pages sit at 0% CPU and 590 MB, vs 1.6 GB for Playwright's Chrome. ⌘D shows every agent's tabs live.
For agents, the commands mirror playwright-cli, which they already know. Each reply also says what the action changed (fetches, elements added or removed), so they need fewer snapshots, fewer tool calls and fewer tokens.
Also: one login shared by all agents through a named profile, fill --secret-cmd 'pass show site' keeps passwords out of the transcript, and ask hands the tab to you for MFA or a CAPTCHA.
macOS 26+, WebKit only, no CDP.