Workspace
Browser
Preview pages in a browser tab, leave notes on elements and send them to an agent.
The browser is a center tab that renders pages with the system WebKit engine, the same one Safari uses. You can open local dev servers and live sites in it, inspect them, and send notes about page elements to an agent. Agents can also drive a browser tab of their own with rexa web.
Open a browser
- Launch picker: press ⌘ N and pick Browser. The tab opens in the focused pane.
- New tab default: set Settings → Launch new tab to Browser, and ⌘ T and the
+button open a browser instead of a console. - Links that open a new window (
target="_blank",window.open) open a new browser tab.
A browser tab keeps its page URL across a relaunch. The tab title shows the page host, such as localhost:3000.
Toolbar
| Control | What it does |
|---|---|
| Back, Forward | Move through history. Dimmed when there is nowhere to go. |
| Reload | Reload the page. |
| URL field | Enter loads the address and moves focus to the page. |
| Note picker | Turn on the element picker to leave notes. |
| Rexa box | Open the box that messages the linked agent. |
… More actions |
Open devtools, open in default browser, hard reload, reset or import cookies. |
The URL field keeps a scheme you type (file://, about: and data: work). Local addresses (localhost, *.localhost, 127.*, 0.0.0.0, [::1]) get http://; everything else gets https://. The field does not search the web.
Pages
A browser holds several pages. A page strip appears when there is more than one; click a page to show it, or x to close it. Open a new page from the palette with browser: new page.
Keys
These work while the browser tab is active:
| Action | Shortcut |
|---|---|
| Focus the URL | ⌘ L |
| Back / forward | ⌘ [ / ⌘ ] |
| Reload | ⌘ R |
| Toggle the Rexa box | ⌘ I |
| Find in page | ⌘ F |
| Next / previous match | ⌘ G / ⌘ ⇧ G |
Zoom with ⌘ =, ⌘ - and ⌘ 0 while the page itself has focus. Zoom steps run from 50% to 300% and change the page only, not Rexa’s font size.
Web Inspector
Open WebKit’s inspector with right-click → Inspect Element, … → Open devtools, or the palette command browser: open devtools. It docks inside the browser tab.
Notes on page elements
Point at an element, write what should change, and send it to an agent.
Turn on the picker
Click the pointer button in the toolbar, or run browser: toggle picker from the palette. The element under the cursor is outlined with its role, name and size.
Write the note
Click the element. A note box asks what should change.
Send or keep it
Press ↵ to send the note to the agent now, or ⌘ ↵ to add it to the tray. ⇧ ↵ adds a line break.
Each note records the page URL, the element’s text, a target the agent can pass back to rexa web, and a screenshot of the element. Notes get numbered pins on the page. The tray at the bottom right lists them with Send and Delete per row, and Send all in its header. You can also drag a pin onto a terminal.
A note goes to the browser’s linked agent. Without a link, it goes to the worktree’s only agent; with several agents, Rexa asks which one.
Rexa box
The Rexa box messages an agent from the browser and shows its replies.
- Open it with ⌘ I or the Rexa mark in the toolbar. Drag it to move it; drag its corner to resize.
- Pick the agent from the header. It lists the worktree’s agents and their status. Start new agent… opens the launch picker, and the new agent links to this browser when it starts.
- Send with ↵. The message is typed at the agent’s prompt, prefixed with the browser and page it came from. An agent that has finished is resumed with it.
- Busy agents queue one message. Cancel puts it back in the input.
- Replies stream into the box as the agent writes them. Tool calls are left out.
Agents in the browser
When an agent runs rexa web from a Rexa terminal, its first command opens a browser tab linked to that agent, in a pane beside its terminal. Later commands drive the same tab. Every agent action shows on the page: a glowing border, a moving pointer, and a ripple on clicks.
Rexa installs a browser skill that teaches agents this loop. See Skills and the rexa web reference.
Cookies and sign-in
- Sign-in popups work. A page that opens a sized popup gets a native window with
window.opener, so OAuth flows complete. - Paste cookies from
…→ Import cookie. Paste aCookieheader; each cookie is set on the current host. - Import from a local browser with
rexa web import-cookie <url> --from firefox|chrome. Firefox asks for confirmation in the app; Chrome asks in the terminal and may show a Keychain prompt. - Reset cookies for the current site from
…→ Reset cookie.
All browser tabs share one cookie store. There is no private mode.
Page size
rexa web resize 390x844 pins the page to a device size, capped by the pane. A size chip in the toolbar shows the pin; click it to fill the pane again.
Dialogs
Page alert, confirm and prompt dialogs are not shown. They are dismissed unless an agent armed an answer with rexa web dialog accept|dismiss.
Limits
- Cross-origin iframes cannot be inspected or driven.
- Agents cannot open native context menus or native
<select>popups. rexa web requestsrecords fetch and XHR only.- No network or CPU throttling, and no geolocation.
- A page covered by another window is throttled by WebKit.