browser-control
Playwright-driven headless Chromium for the agent. Skipped at runtime if the
container was not built with WITH_BROWSER=1.
Handlers
kind |
Reversible | Notes |
|---|---|---|
browser.open |
yes | Opens a new page (returns page id). |
browser.click |
yes | Clicks a CSS selector on an open page. |
browser.type |
yes | Types text into a focused element. |
browser.screenshot |
no | PNG bytes (base64). |
browser.scrape |
no | Returns innerText of a selector. |
Gotchas
- Playwright adds ~300 MB to the runtime image. Build with
WITH_BROWSER=1ONLY if you need it. - The skill keeps page handles in-process. After process restart, re-open the page.
browser.clickon inputs of typesubmittriggers the owner-approval gate unless the host is on the allow-list (ctx.deps.browser.allowedHosts).browser.screenshottruncates above 4 MB to avoid token blow-up on the planner.- Use
wait_for: "networkidle"(default) instead of fixed sleeps.