browser_capabilities
What can the browser do right now?
The full contract of every open tab: each form as a typed tool with its JSON Schema (types, allowed values, min/max, required fields), what those fields currently hold, and every button and link with a ref you can click. This is what you read instead of a screenshot — it is complete, so you should not need to probe. Long pages return a window of their links: the reply always states the true total, and you can narrow with actionQuery or page with actionOffset.
输入参数actionLimitactionQueryactionOffset
browser_invoke
Do something on the page
Call one of the tools browser_capabilities listed, with arguments matching its inputSchema. This acts in the real logged-in browser: it fills and submits the actual form.
输入参数argstool必填tabId
browser_fill
Fill one field by ref
Set a single field to a value, addressed by the ref browser_capabilities gave it. Use this on pages Deputy could not graft into a typed tool — apps that build a form out of divs, or inputs sitting outside any <form>. For a checkbox pass "true"/"false"; for a <select> pass an option value or its visible text. When a typed tool exists, browser_invoke is better.
输入参数ref必填tabIdvalue必填
browser_click
Click a button or link
Click something browser_capabilities listed under "actions", by its ref.
输入参数ref必填tabId
browser_read
Read a page as text
Return the page as plain text for you to read yourself. Use browser_ask instead when you only need one fact: with Deputy Pro, Deputy reads the page and answers in a sentence. Use this when you genuinely need the content to reason over.
输入参数tabIdmaxChars
browser_navigate
Open a URL, or go back, forward or reload
Point a tab at a URL and wait for it to load, or move through its history with action "back" / "forward", or "reload" it. Deputy re-reads what the new page can do, so call browser_capabilities afterwards to see the tools that appeared. Without a tabId, the first URL opens a tab of your own and later calls stay in it, so the user's page and other agents' tabs are left alone; other tools act on that tab too. To work on the page the user has open, pass its tabId (browser_capabilities marks it active).
输入参数urltabIdaction
browser_tabs
List, open, switch or close tabs
Work with browser tabs. "list" shows every tab; "open" opens a URL in a new tab and makes it active; "select" makes a tab active (other tools act on the active tab by default); "close" closes one.
输入参数urltabIdaction必填
browser_wait
Wait for the page
Wait until text appears, text disappears, or an element becomes visible — for pages that load content after the fact (search results, spinners, SPAs). With no condition, waits timeoutMs. Fails with a clear message on timeout.
输入参数texttabIdselectortextGonetimeoutMs
browser_screenshot
See the page
Take a screenshot and return the image to you. An image costs you roughly 1,000-1,600 tokens, so use it when you need to SEE something: visual or frontend work, layout and styling, charts, images, canvas. For facts on a page prefer browser_ask or browser_read; to act, prefer browser_capabilities. fullPage stitches the whole scrollable page, including anything off the right edge (costs more). ref or selector captures a single element whole, even one wider or taller than the viewport.
输入参数reftabIdformatfullPageselectormaxDimension
browser_find
Find elements
Find elements by visible text, role (button, link, textbox, checkbox, combobox, option, heading, tab, menuitem, dialog, img, row, cell) or CSS selector. Returns refs you can pass to browser_act, browser_inspect or browser_screenshot, with label, state and value. Reaches inside forms, open and closed shadow roots, and elements off screen.
输入参数roletextexactlimittabIdselectorincludeHidden
browser_act
Act on an element
Do one thing to an element: click, double_click, right_click, hover, focus, type (value; replaces unless append), press (keys like "Enter", "Tab", "Escape", "ArrowDown", "Control+a"; without a target, presses on the focused element), check, uncheck, select (value = option label or value, native or custom dropdown), clear, scroll_into_view. Typing is sent key by key so autocompletes react. The result reports any dialog or error the action caused. For whole forms, prefer browser_invoke with the typed tool. With no ref, text names the element as the page shows it (a button's words, a field's label): browser_act({ text: "Save", action: "click" }).
输入参数refkeystextstepstabIdvalueactionappendselectordialogTextacceptDialog
Scroll the page (or an element) down/up, by pixels, or to top/bottom. untilStable keeps scrolling to the bottom while an infinite feed keeps loading, and reports how much it grew. Finds the real scroll container in app layouts where the window itself does not scroll.
输入参数bytoreftabIdselectordirectionmaxRoundsuntilStable
browser_drag
Drag and drop
Drag one element onto another (HTML5 drag-and-drop, or pointer-driven libraries such as kanban boards).
输入参数tabIdtoReffromReftoSelectorfromSelector
browser_upload
Upload files
Attach local files (absolute paths, 25 MB total) to a file input, or drop them onto a drop zone.
输入参数refpaths必填tabIdselector
browser_inspect
Inspect layout and CSS
With a ref or selector: the element's box model, position, computed CSS (or the properties you name), flex/grid layout, visibility, text contrast, overflow, and what is covering it. With no target: a layout audit of the whole page — horizontal overflow and its culprits, clipped text, broken images, missing alt text, small tap targets, low-contrast text, layout shift, fonts. Numbers instead of a screenshot, for CSS debugging.
输入参数reftabIdselectorproperties
browser_console
Console and errors
Console messages and page errors: uncaught exceptions with stacks, unhandled rejections, failed resources, and console output from when an agent started driving the tab. Filter by levels (error, warn, info, log, debug). Browser-internal messages (CSP, CORS) are not visible without the debugger.
输入参数clearlimittabIdlevels
browser_network
Network requests
Requests the page made: method, URL, status, time, type, size, for fetch/XHR and every resource (documents, scripts, styles, images). failedOnly shows 4xx/5xx and network errors. includeBodies adds text/JSON response bodies (first 4 KB) captured while an agent drives the tab.
输入参数clearlimittabIdfilterfailedOnlyincludeBodies
browser_dialog
Answer dialogs
Decide how alert/confirm/prompt dialogs are answered on a tab you are driving. By default they are dismissed (a confirm returns false) and reported in the action result. Call this BEFORE the action that opens the dialog: accept for the next dialog, persist to keep answering that way.
输入参数texttabIdaccept必填persist
browser_resize
Resize the viewport
Set the page viewport to a width and height in CSS pixels, e.g. 375×812 to check a mobile layout. This resizes the user's real window: call with reset: true when done to put it back.
输入参数resettabIdwidthheight
browser_eval
Run JavaScript in the page
Run JavaScript in the page and return its JSON-serialisable result. An expression returns its value; for statements, use return. Promises are awaited. Runs in the page's own world by default (sees its globals); world "isolated" keeps it apart. Needs Chrome's "Allow User Scripts" switch for Deputy; the error says how to turn it on.
输入参数code必填tabIdworld
browser_downloads
Downloads
Files the browser downloaded. "list" shows recent downloads; "wait" waits for the one just started (by a click) to finish; "read" returns a finished download by id (the newest if no id): text files as text, PDFs as extracted text, other files as their path, type and size.
输入参数idaction必填timeoutMs
browser_look
Look at the page (Pro)
A vision model looks at the page and answers in text: describe it, or answer your question about what is visible (layout, images, charts, whether something looks broken). Costs you a few hundred tokens instead of an image, and works in clients that cannot show images. Deputy Pro.
输入参数tabIdquestion
browser_ask
Ask about a page instead of looking at it
Ask a question about what is on a browser tab. Deputy reads the page itself and returns a short answer. Use this instead of screenshotting or dumping the DOM — the page never enters your context, so a lookup costs a couple of hundred tokens rather than tens of thousands. Without a model, it returns the passages relevant to your question instead.
输入参数tabIdquestion必填
delegate_goal
Delegate a goal to the browser
Hand the browser agent a goal in plain language and let it work. It knows the page, the session you are signed into, and what each form accepts. Prefer this over driving the browser yourself — you never need to see the page.
输入参数goal必填tabId
task_status
Check a delegated task
Poll a task by id. Use when a delegation is still running or was interrupted.
输入参数taskId必填
answer_task
Answer a paused task
Resume a task that stopped because it needed a human — a confirmation, or a sign-in that has now been completed in the browser.
输入参数answer必填taskId必填