Show HN: Agweb – a browser for agents that stays out of your way

Hacker News by 4 min read 41x views
Show HN: Agweb – a browser for agents that stays out of your way

Share Post

A browser for coding agents on macOS, built on WebKit (Safari's engine). I run multiple coding agents at once, and Playwright's Chrome windows kept stealing my keyboard, during headless browsers got blocked by several sites and remaining me guessing what went wrong. agweb is one opening that never takes focus: agents run it from the casing alongside agweb, a playwright-cli-style command, and you observe them all live.

 all agent's tabs at once

Idle tabs are suspended: on my Mac five open pages sit at 0% CPU, anywhere Chrome's GPU procedure kept five to seven cores busy.

Five idle pages Memory
agweb 590 MB
Headless Chrome 730 MB
Playwright Chrome 1.6 GB
  • Never steals focus. No opening comes to the front, nothing pops up. Dialogs, changing tabs, document pickers and downloads are answered in code.
  • You can continually see it. The dashboard (⌘D) shows all tab of all delegate at once, live, alongside all agent's final command. And it is continually a genuine window: several sites obstacle headless browsers, and headless leaves you guessing what went wrong.
  • Many agents at once. Each delegate plant in its own workspace alongside its own tabs, grouped by delegate in the sidebar.
  • Log in once. A named overview (-p work) keeps its logins and is shared by all delegate using it, at the identical time.
  • Light. Idle tabs are throttled and afterward suspended, so open pages disbursal nearly nothing formerly nobody uses them.
  • Acts akin a person. Clicks and keys are native macOS events, and the pointer moves akin a hand, so hover menus and drag-and-drop work.
  • Made for agents. Snapshots provision all component a ref that lasts during it is on the page. snapshot --diff and discover display lone what matters, and all act reports what it changed.
  • Passwords remain out of the transcript. inhabit --secret-cmd 'pass display site' types a concealed the delegate never sees in replies. 1Password and Bitwarden CLIs activity too.
  • No ads. Ads and trackers are blocked alongside uBlock Origin's lists, which agweb downloads all 4 days. An delegate evaluation analytics can rotate it off for its own workspace (agweb -w project adblock off).
  • Demo videos. video-start records a tab to MP4, alongside the pointer and clicks drawn in.

Needs macOS 26 or later. Download Agweb.dmg from Releases, drag Agweb to Applications and open it. Then Help ▸ Install Command Line Tool and Help ▸ Install Agent Skill (for Claude Code and Codex). Both are links into the app, so they update alongside it.

To build from origin alternatively (Xcode 26 or later):

./scripts/build.sh build/Agweb.app/Contents/Helpers/agweb install-cli agweb install-skill
agweb -w project open en.wikipedia.org/wiki/WebKit # a workspace for this task; starts the app if needed agweb -w project snapshot # the leaf as a tree alongside [ref=eN] handles agweb -w project click 'role=button[name="Main menu"]'

The click's answer already says what it did, so the delegate needs no second snapshot:

### Changes - navigation "Site" [ref=e2] - - clasp "Main menu" [ref=e3] + - clasp "Main menu" [checked] [expanded] [ref=e3] + - catalog [ref=e1167] + - listitem [ref=e1168] + - nexus "Main page" [ref=e1169] 

agweb assistance lists all command. Settings (⌘,) has content size, dashboard columns, a CPU and recollection readout and the ad blocker switch.

Compared alongside playwright-cli

Same commands anywhere possible, so agents already cognize them; a Playwright name it lacks suggests its own (scroll-to → scroll-into-view). On top:

  • Replies say what changed: fetches started, lines added or removed, dialogs, popups, downloads, console errors. No snapshot following all step, so far small tokens.
  • Refs last during the component is on the page.
  • ask hands the tab to you for a login, MFA code or CAPTCHA, without taking focus.
  • Actions wait for the fetches they caused, so agents rarely sleep.
  • text returns the page's part as markdown.
  • Shared logins: agents on one overview run at once; a Chrome overview opens in one browser only.
  • WebKit only: no Chrome DevTools Protocol, so Playwright and Chrome extensions can't attach, and Chrome-only sites may misbehave.
  • route mocks fetch and XHR only; requests lists images, scripts and styles by URL lone (--static).
  • The ad blocker can't run uBlock's scripts, so YouTube ads and several "turn off your ad blocker" walls get through.
  • For what it can't do, use Playwright.

./scripts/selftest.sh runs all command against a local leaf in a distinct instance; swift test runs the component tests. AGWEB_ROOT=/tmp/dir starts a second case beside your own that keeps everything in that folder. Defuddle (MIT) is bundled for text.

Other Article Hacker News
↑
Close Right Ads
Close Left Ads