From 42d1a2e4e3dd2d4a95c9a4d6c87a03d768db81ca Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sat, 4 Jul 2026 10:19:53 +0200 Subject: [PATCH] docs(browser): document browser automation --- CHANGELOG.md | 9 +++- public-docs/browser-tools.md | 78 ++++++++++++++++++++++++++++++++++ public-docs/browser.md | 82 ++++++++++++++++++++++++++++++++++++ 3 files changed, 167 insertions(+), 2 deletions(-) create mode 100644 public-docs/browser-tools.md create mode 100644 public-docs/browser.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 6793f7466..dde425b44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,26 @@ # Changelog -## 0.1.104-beta.2 - 2026-07-03 +## 0.1.104-beta.3 - 2026-07-04 ### Added -- Agents can drive the in-app browser: open tabs, navigate, click, type, and take screenshots +- Agents can drive the in-app browser with page snapshots, trusted input, dialogs, and tab controls ([#1881](https://github.com/getpaseo/paseo/pull/1881)) - Inspect, annotate, and send page elements from a browser tab to the agent ([#1708](https://github.com/getpaseo/paseo/pull/1708) by [@huiliaoning](https://github.com/huiliaoning)) - Schedules screen to create and manage recurring agents ([#1246](https://github.com/getpaseo/paseo/pull/1246)) - Open a project from anywhere with Cmd+O ([#1849](https://github.com/getpaseo/paseo/pull/1849)) +- Agents can rename workspaces after they understand the task ([#1876](https://github.com/getpaseo/paseo/pull/1876)) +- Claude Ultra Code is available for supported Claude models ([#1872](https://github.com/getpaseo/paseo/pull/1872)) - ByteDance TRAE CLI available as an agent provider ([#1831](https://github.com/getpaseo/paseo/pull/1831) by [@park0er](https://github.com/park0er)) ### Improved +- Workspaces created by agents now get readable generated names ([#1887](https://github.com/getpaseo/paseo/pull/1887)) +- Browser tabs opened by agents stay in the background until you switch to them ([#1875](https://github.com/getpaseo/paseo/pull/1875)) - Clearer cards when an agent asks a question ([#1643](https://github.com/getpaseo/paseo/pull/1643) by [@cleiter](https://github.com/cleiter)) ### Fixed +- Docker images keep running during provider cleanup and diagnostics ([#1877](https://github.com/getpaseo/paseo/pull/1877)) - New Workspace drafts survive archiving a workspace ([#1838](https://github.com/getpaseo/paseo/pull/1838)) - Composer autocomplete stays open after switching screens ([#1851](https://github.com/getpaseo/paseo/pull/1851)) - Claude usage appears when a quota window has no scheduled reset ([#1855](https://github.com/getpaseo/paseo/pull/1855)) diff --git a/public-docs/browser-tools.md b/public-docs/browser-tools.md new file mode 100644 index 000000000..4d5b7a3f4 --- /dev/null +++ b/public-docs/browser-tools.md @@ -0,0 +1,78 @@ +--- +title: Browser tools +description: The browser_* MCP tools agents use to drive Paseo browser tabs. +nav: Tools reference +order: 36 +category: Browser +--- + +# Browser tools + +The `browser_*` tools are injected into agents alongside the other [Paseo MCP tools](/docs/mcp) when [browser automation](/docs/browser) is enabled. + +Shared concepts: + +- **`browserId`** identifies a tab. It comes from `browser_new_tab` or `browser_list_tabs` and is required by every tab-scoped tool. +- **`ref`** identifies an element, e.g. `@e3`. Refs come from the latest `browser_snapshot` of the same tab and expire when the page changes — stale refs return an error instead of acting on the wrong element. +- Every result reports **dialogs** the page opened during the command (alerts accepted; confirm/prompt/beforeunload dismissed). + +Arguments marked `?` are optional. + +## Tabs + +| Tool | Arguments | Purpose | +| ------------------- | -------------------------- | ------------------------------------------------------------------------- | +| `browser_list_tabs` | — | List open tabs in the agent's workspace across connected hosts. | +| `browser_new_tab` | `url?` | Open a tab in the background and return its `browserId`. | +| `browser_close_tab` | `browserId` | Close a tab and clean up its webview. | +| `browser_resize` | `browserId, width, height` | Resize the tab's viewport — check a layout at phone or tablet dimensions. | + +## Reading the page + +| Tool | Arguments | Purpose | +| -------------------- | -------------------------------------- | ------------------------------------------------------------------------------------- | +| `browser_snapshot` | `browserId` | Return the page as an accessibility tree with element refs. | +| `browser_screenshot` | `browserId, fullPage?` | Capture a PNG of the viewport, or the full page with `fullPage`. | +| `browser_logs` | `browserId, maxEntries?` | Read recent console messages and network timing entries. | +| `browser_wait` | `browserId, text? \| url?, timeoutMs?` | Wait until the page contains text or reaches a URL fragment (exactly one of the two). | + +## Interacting + +| Tool | Arguments | Purpose | +| ------------------ | --------------------------------------------------- | ------------------------------------------------------------------------------------ | +| `browser_click` | `browserId, ref, button?, doubleClick?, modifiers?` | Click an element — left/right/middle, double-click, keyboard modifiers. | +| `browser_fill` | `browserId, ref, value` | Set the value of an input-like element. | +| `browser_type` | `browserId, text, ref?` | Type text into an element, or into the focused element when `ref` is omitted. | +| `browser_keypress` | `browserId, key, ref?` | Press a key (`Enter`, `Escape`, `Tab`, `Space`, …) on an element or the focused one. | +| `browser_hover` | `browserId, ref` | Hover an element — triggers real CSS `:hover`. | +| `browser_select` | `browserId, ref, value` | Choose an option in a `