Skip to main content
Your agent can look at the pages your boxes serve. If its harness has a browser on your laptop, it just opens the address tesser dev printed. If it doesn’t, or the browser should keep running after you close the lid, it runs one on the worktree’s workbench. The workbench reaches every box at the same address you use, so nothing needs wiring.

Setup

Once per workbench, install agent-browser, a CLI that drives a headless Chrome and keeps it running between calls:
Three parts of that are about the box, not agent-browser:
  • --allow-scripts: npm 11 asks before running the package’s install script, which downloads its binary.
  • --prefix /usr/local: puts the binary where exec finds it.
  • --no-sandbox: Ubuntu 24.04 blocks what Chrome’s sandbox needs, so Chrome won’t start without it. The config file sets it once for every call.
The workbench keeps all of it until tesser rm, sleep included.

Looking at a page

Each call takes about a second. The browser stays open between calls, so the page, its cookies, and a sign-in carry over, even across a tesser sync. agent-browser --help lists the rest; agent-browser close ends it. Any box in the org works, not just yours: a teammate’s dev box, or the shared api at http://api.localhost:<port>. The exact rules are in From a box.

When the workbench sleeps

The workbench sleeps after 10 idle minutes, and the browser goes with it. Every exec resets that clock. After a sleep, the next exec wakes the box in about 20 seconds and the next open starts a fresh browser. The install is still there.