AI agent

Browser tool

`browser_open` launches a real Chromium; the agent clicks, types, scrolls, screenshots.

web_fetch vs browser_open

web_fetch is just an HTTP GET — you get the raw HTML the server sent. Great for static sites and JSON APIs, useless for SPAs where content is JS-rendered.

browser_open spins up a real Chromium, loads the page, runs JS, waits for network idle, then lets the agent inspect the rendered DOM, click, type, and screenshot. It is slower and pricier, but it sees what the user sees.

What it can do

  • Visit logged-in pages (uses your browser profile)
  • Scrape JS-rendered content (SPAs, Vue, React sites)
  • Screenshot to attachments (full page / viewport / element)
  • Fill forms, click buttons, submit (no-captcha cases)
  • Run JS expressions to extract data
  • Export as PDF
  • Parallel tabs for multi-page workflows

A typical call

> tool: browser_open
  url: https://app.example.com/dashboard
  wait_for: "[data-test=metrics-loaded]"
  actions:
    - { click: "[data-test=date-range]" }
    - { click: "text=Last 30 days" }
    - { wait_for: "[data-test=chart-rendered]" }
    - { screenshot: "scratch/dashboard-30d.png", full_page: true }
    - { extract: { selector: "[data-test=mrr]", attr: "textContent" } }
  result:
    extracted: { mrr: "$42,180" }
    screenshot: scratch/dashboard-30d.png

Safety

Default is non-incognito and uses your cookies — that's how logged-in pages work. Switch to incognito or a different profile in Settings → Agent → Browser.

Strong recommendation: keep a dedicated Chromium profile for sensitive systems (bank, ops consoles), log into them only there, and never grant Kition's browser tool access to that profile. Physical isolation beats config.

When extraction fails

  • Tighten wait_for — wait for a specific element before acting
  • Raise timeout_ms — slow sites or heavy APIs need more time
  • Audit selectors — [data-test=...] is more stable than class names
  • Screenshot first — what the agent sees may not be what you expect
  • Iframe content needs enter_frame before selectors will resolve

Related articles

Ready when you are.

Kition is a local-first AI workspace. Markdown documents, structured tables, and an AI agent — running on your own machine, against the model provider you choose.