Reading pages without screenshots
Ask about a page, read it as text, or pull its tables and lists out as JSON, without the page entering your agent's context.
Most of what an agent wants from a page is text: a price, a status, the first sentence of an article. Deputy reads the page for your agent, so the answer comes back in a few dozen tokens instead of a screenshot or the whole page.
browser_ask
Ask a question about a tab and get a short answer. Deputy reads the page itself, and the page never enters your agent's context.
{ "question": "what is the cheapest result?" }On Wikipedia, an answer from browser_ask came to about 40 tokens, where a screenshot of the same page was 57,134 (Measurements).
Deputy Pro answers with its hosted planner. If you set your own OPENROUTER_API_KEY, that key is used instead (Settings). If the model can't answer, your agent still gets the passages of the page most relevant to its question, up to 6,000 characters in page order, labelled as page text rather than an answer.
Some questions are about how a page looks, which its text can't show. Deputy says so, and points your agent to browser_screenshot or browser_look.
browser_read
The page as plain text, for when your agent genuinely needs the content to reason over. It returns up to 6,000 characters by default; maxChars raises that to as much as 40,000. A longer page says how much was cut, and how to get the rest:
[truncated: 6000 of 48210 characters. Raise maxChars, or use browser_ask to have Deputy read the rest and answer a specific question.]For one fact, browser_ask is cheaper.
browser_extract
Turns a table, or a repeated list such as search results, product cards or feed items, into JSON rows. Or lists the page's links.
kind | Returns |
|---|---|
auto (default) | The biggest table, or else the biggest repeated list |
table | A table's rows |
list | A repeated list's items |
links | The page's links |
It returns 50 rows unless you set limit. Scope it to part of the page with a ref or CSS selector. For an infinite feed, scroll it first with browser_scroll and untilStable: true, which keeps scrolling while the feed keeps loading.
browser_find
Finds elements by visible text, role (button, link, textbox, checkbox, heading and so on) or CSS selector, and returns refs with each one's label, state and value. It reaches inside forms, open and closed shadow roots, and elements off screen. Pass the refs to browser_act, browser_inspect or browser_screenshot.
Pages that are mostly pictures
When most of a page is canvas, images without alt text or SVG graphics, text tools can't read it. Deputy's reading tools say so, and name the tool that can: browser_screenshot shows it to your agent, and with Pro, browser_look describes it in text.
PDFs and downloads
- A PDF open in a tab is fetched with your cookies and its text extracted, so
browser_readandbrowser_askwork on it. Only the text layer is read: a scanned PDF has nothing to read. - A file the page downloads can be read with
browser_downloads: text files as text, PDFs as extracted text, and other files as their path, type and size.