diff --git a/README.md b/README.md index 9a88f34f0..c5eb3f50c 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ Annotate mode turns any webpage into an interactive directive surface. Click an - **Lift it** - see a card, hero, or component on someone else's site that you like? Capture it and have the agent re-implement it in your own project's stack. - **Comment it** - leave actionable notes pinned to elements during a UI review; the agent reads the comments and ships the fixes. -The Docker browser is the default live Browser surface. Browser history keeps screenshots of important steps, so older chats can still show what the agent saw. The Browser also supports Chrome extensions inside the Docker browser, and **Bring Your Own Browser** through the A0 CLI Connector lets the agent drive Chrome/Edge/Chromium on your own machine. +The Docker browser is the default live Browser surface. Browser history keeps screenshots of important steps, so older chats can still show what the agent saw. The Browser also supports Chrome extensions inside the Docker browser, and **Bring Your Own Browser** through the A0 CLI Connector lets the agent drive Chrome, Edge, Brave, Opera, Vivaldi, or Chromium on your own machine. See the [Browser guide](./docs/guides/browser.md) for screenshots, settings, host-browser setup, and troubleshooting. diff --git a/docs/guides/a0-cli-connector.md b/docs/guides/a0-cli-connector.md index 6dd4c2edc..ee83105bc 100644 --- a/docs/guides/a0-cli-connector.md +++ b/docs/guides/a0-cli-connector.md @@ -132,15 +132,22 @@ machine. - [ ] Keep A0 CLI connected to the Agent Zero chat. - [ ] In Agent Zero Web UI, open Browser plugin settings and choose **Bring Your Own Browser**. -- [ ] If you want Agent Zero to use an already-open personal Chrome window, open - that browser first. -- [ ] In that browser, go to `chrome://inspect/#remote-debugging`. +- [ ] If you want Agent Zero to use an already-open personal browser window, + open that browser first. +- [ ] In that browser, open its remote debugging page. - [ ] Enable **Allow remote debugging for this browser instance**. +Remote debugging pages: + +| Browser | Page | +| --- | --- | +| Chrome, Edge, Brave, Vivaldi, Chromium | `chrome://inspect/#remote-debugging` | +| Opera | `opera://inspect/#remote-debugging` | +  When Agent Zero performs its first Browser action against that host browser, -Chrome asks for confirmation. Click **Allow** if you trust this Agent Zero +the browser asks for confirmation. Click **Allow** if you trust this Agent Zero instance and A0 CLI connection.  @@ -149,11 +156,28 @@ A0 CLI does not take over the browser while it is only checking status. Browser control starts when Agent Zero actually needs to use the browser. > [!IMPORTANT] -> Remote debugging gives the connected app full control of that Chrome session, +> Remote debugging gives the connected app full control of that browser session, > including access to saved data, cookies, site data, and navigation. Use it only > with trusted Agent Zero instances and browser windows you intend the agent to > control. +The **Host browser** list in Browser settings comes from the connected local A0 +CLI, not from the Agent Zero Web UI server. If a newly authorized browser does +not appear, restart or reconnect A0 CLI. + +If the inspect checkbox is not enough for your browser build, launch it with an +explicit remote debugging port and a separate profile: + +```bash +opera --remote-debugging-port=9222 --user-data-dir="$HOME/.config/a0-opera-debug" +``` + +Then pass the full DevTools websocket endpoint to A0 CLI: + +```bash +export A0_HOST_BROWSER_REMOTE_DEBUGGING_ENDPOINTS="ws://127.0.0.1:9222/devtools/browser/..." +``` + ### Browser Profiles ```bash diff --git a/docs/guides/browser.md b/docs/guides/browser.md index ed406327a..bc9255c1b 100644 --- a/docs/guides/browser.md +++ b/docs/guides/browser.md @@ -137,8 +137,8 @@ development, Agent Zero can install it the first time it is needed. ## Bring Your Own Browser -Bring Your Own Browser lets Agent Zero use Chrome, Edge, or Chromium on your own -computer through A0 CLI. +Bring Your Own Browser lets Agent Zero use Chrome, Edge, Brave, Opera, Vivaldi, +or Chromium on your own computer through A0 CLI. Use it when the page, login, or browser profile should stay on your machine. @@ -146,8 +146,33 @@ Requirements: - [ ] Keep A0 CLI connected to the Agent Zero chat. - [ ] Choose **Bring Your Own Browser** in Browser settings. -- [ ] Use Chrome, Edge, or Chromium on the host. -- [ ] For personal Chrome remote debugging, open the host browser first, go to `chrome://inspect/#remote-debugging`, and enable **Allow remote debugging for this browser instance**. +- [ ] Use a Chromium-family browser on the host: Chrome, Edge, Brave, Opera, Vivaldi, or Chromium. +- [ ] For an already-open browser, open its remote debugging page and enable **Allow remote debugging for this browser instance**. + +Remote debugging pages: + +| Browser | Page | +| --- | --- | +| Chrome, Edge, Brave, Vivaldi, Chromium | `chrome://inspect/#remote-debugging` | +| Opera | `opera://inspect/#remote-debugging` | + +If a browser does not appear in the **Host browser** list after enabling remote +debugging, restart or reconnect the local A0 CLI. Restarting only the Agent Zero +Web UI server does not refresh the browser inventory; the list comes from the +connected CLI. + +As a fallback, launch the browser with an explicit debugging port and profile +directory: + +```bash +opera --remote-debugging-port=9222 --user-data-dir="$HOME/.config/a0-opera-debug" +``` + +Then pass the full DevTools websocket endpoint to the CLI: + +```bash +export A0_HOST_BROWSER_REMOTE_DEBUGGING_ENDPOINTS="ws://127.0.0.1:9222/devtools/browser/..." +```  diff --git a/docs/guides/troubleshooting.md b/docs/guides/troubleshooting.md index e41a7141a..21f8e979e 100644 --- a/docs/guides/troubleshooting.md +++ b/docs/guides/troubleshooting.md @@ -41,6 +41,7 @@ PLAYWRIGHT_BROWSERS_PATH=tmp/playwright playwright install chromium If **Bring Your Own Browser** mode fails: - keep A0 CLI connected to the chat; +- restart or reconnect A0 CLI after enabling remote debugging in a browser; - run `/browser status` in A0 CLI; - check that Browser settings still say **Bring Your Own Browser**; - check **Page content access** if page text or screenshots are blocked. diff --git a/plugins/_browser/webui/config.html b/plugins/_browser/webui/config.html index 48348bdb1..79851960c 100644 --- a/plugins/_browser/webui/config.html +++ b/plugins/_browser/webui/config.html @@ -82,6 +82,16 @@ Choose which installed browser/debug endpoint A0 CLI should use when multiple are available. +