--- name: browser description: Drive the headed Jarvis Chromium window with the browser tool. Use for cookie walls, forms, logins, leftover bot checks, and any extra clicks after search or fetch. --- # Browser Search and fetch already run in this same Playwright Chromium window. Call `browser` when the page needs a click, a form, a cookie banner, or a leftover challenge. Do not use `cu_observe`, `cu_click`, curl, or wget for websites. ## Choose a tool 1. `web_search` / `google_search` / `wiki_search` / `hn_search` / `code_search` — find public links. 2. `fetch_page` / `web_fetch` — read one public http(s) page (JavaScript runs). 3. `browser` — drive that window. Cookies persist across these tools. ## `browser` actions Call with `action` plus the fields for that action. Snapshot refs are strings like `"1"`. | action | Fields | Result | | --- | --- | --- | | `navigate` | `url` (public http or https) | Opens the page and returns a snapshot | | `snapshot` | none | Current url, title, numbered `refs`, short aria text | | `click` | `ref` from the last snapshot (or `selector` / `text`) | Clicks, then a fresh snapshot | | `type` | `ref` + `text`; optional `submit` true | Fills the field; `submit` presses Enter | | `press` | `key` (`Enter`, `Tab`, `Escape`, `Control+l`, …) | Key, then a snapshot | | `scroll` | `dy` pixels (optional `dx`) | Scrolls, then a snapshot | | `wait` | `ms` (optional `text` to wait for) | Waits, then a snapshot | Private, loopback, and metadata hosts are blocked before Chromium starts. ## Loop 1. `navigate` or `snapshot` so you have fresh `refs`. 2. Pick the ref whose `name` matches the control (Accept, Next, email, search box). 3. `click` or `type` with that `ref`. 4. Read the new snapshot. Refs from earlier snapshots are stale. 5. Repeat until the page is usable, then `fetch_page` on the current url if you need the article text. ## Cookie walls and challenges - Cookie banner: `snapshot`, then `click` the Accept / Agree / I understand ref. - `challenge: true` or a Cloudflare / “just a moment” page: tell the user to finish the prompt in the visible Jarvis browser window. Do not guess. Then `snapshot` or `fetch_page` again. - Login that needs a password: stop and ask the user. Never type credentials unless they just provided them for this site. ## Do not - Speak refs, selectors, or tool JSON. - Call `browser` for a page you can already read with `fetch_page`. - Use computer-use tools on the Chromium window. - Keep searching the same query instead of opening a hit.