Browser Capabilities
Built-in WebKit browser that navigates pages, fills forms, clicks elements, and extracts content.
Overview
Yukkai includes a built-in web browser powered by Apple's native WebKit engine — the same engine that drives Safari. This means Yukkai can visit websites, interact with pages, fill forms, click buttons, extract content, take screenshots, download media, and perform multi-step browsing tasks entirely on your behalf.
Because it runs on real WebKit with a genuine Safari User-Agent, the browser blends in naturally with regular traffic. JavaScript-rendered pages (React, Vue, single-page apps) work out of the box. Each tab is lightweight (~50 MB RAM), so you can keep several open without slowing your Mac.
You can ask Yukkai to browse the web in plain language — "go to this article and summarize it", "search Google for X and open the top three results", "log into my dashboard and download the monthly report" — and Yukkai figures out the technical steps automatically. You can also open the visible browser window at any time to take control manually, for example when a site asks for multi-factor authentication or a CAPTCHA.
How It Works
The browser exposes 42 actions grouped into logical categories. Yukkai chooses the right action based on your request, but here is the full reference so you know what's possible under the hood.
| Category | Action | What it does |
|---|---|---|
| Navigation | navigate |
Load a URL and return an indexed DOM tree (handles redirects, 60 s timeout) |
back / forward |
Move through browser history | |
wait |
Wait for the page to stabilize | |
| Interaction | click |
Click an element by its index number |
input_text |
Type text into a form field (clears it first) | |
select_option |
Choose a value in a dropdown | |
send_keys |
Send keyboard keys (Enter, Tab, Escape, etc.) | |
scroll |
Scroll the page up, down, left, or right | |
| Content Extraction | extract |
Get the full page content as clean Markdown |
search_page |
Find text matches on the current page | |
screenshot |
Capture the page as a PNG image | |
evaluate |
Run custom JavaScript and return the result | |
| Tabs | get_tabs / new_tab / switch_tab / close_tab |
Manage multiple browser tabs |
| Cookies & Window | cookies |
Retrieve session cookies (optionally filtered by domain) |
show / hide |
Open or close the visible browser window | |
| Sessions | save_session / load_session |
Save and restore login state across conversations |
list_sessions / delete_session |
Manage saved sessions | |
clear_data |
Clear all cookies and cache | |
| Smart Waits | wait_for_selector |
Wait until a specific element appears |
wait_for_text |
Wait until specific text appears on the page | |
wait_for_network_idle |
Wait for all network requests to finish | |
wait_for_dom_change |
Wait for the DOM to update | |
| Infinite Scroll | scroll_and_collect |
Auto-scroll and collect repeating elements (great for feeds) |
| Human-Like Behavior | human_click / human_type / human_scroll |
Natural mouse movement and typing timing to avoid bot detection |
| Media | collect_media |
List all images and videos on the page |
download_media / download_all_media |
Download specific or all matching media | |
| Data Export | export_data |
Export collected data to JSON, CSV, or Markdown |
| Request Interceptor | start_interceptor / get_intercepted / stop_interceptor |
Capture background API calls made by the page |
| Recipes | recipe / list_recipes |
Run pre-built scraping flows (Google Search, GitHub, Reddit, etc.) |
DOM Tree Format
When Yukkai loads a page, it receives an indexed DOM tree — a compact representation of the page where interactive elements (links, buttons, inputs) are numbered. Yukkai uses those numbers to click and type with precision, even on complex pages.
[0]<nav />
[1]<a href="/" />Home
[2]<a href="/about" />About
[3]<main />
[4]<input type=search placeholder="Search..." />
[5]<button />Go
How to Use It
You don't need to know any of the actions above. Just describe what you want in plain language and Yukkai takes care of the rest.
Basic Browsing
"Go to example.com and tell me what the page says."
Yukkai navigates to the URL, extracts the content as Markdown, and summarizes it for you.
Form Filling & Search
"Search Google for 'best mechanical keyboards under $100' and open the top 3 results in separate tabs."
Yukkai types the query into the search box, clicks the search button, reads the results, and opens the top links in new tabs.
Reading & Extraction
"Open this Wikipedia article and extract all the section headings."
Yukkai loads the page, evaluates JavaScript to pull the headings, and lists them for you.
Taking Screenshots
"Take a screenshot of the current page."
The screenshot is saved to ~/YukkaiDocs/ and displayed inline in the conversation.
Persistent Login (Sessions)
"Log into my project dashboard — I'll handle the 2FA myself."
You open the visible browser window, complete the authentication manually, and then tell Yukkai it can take over. Yukkai saves the session so you don't have to log in again next time.
Pre-Built Recipes
Yukkai ships with ready-to-use scraping recipes for popular sites:
| Recipe | Description |
|---|---|
google_search |
Run a Google search and collect results |
github_repo |
Fetch repository details from GitHub |
github_trending |
List trending GitHub repositories |
hackernews |
Top stories from Hacker News |
reddit |
Browse a subreddit |
twitter |
Search or read Twitter/X |
youtube_search |
Search YouTube videos |
wikipedia |
Fetch a Wikipedia article |
amazon_search |
Search products on Amazon |
linkedin_company |
Get a LinkedIn company profile |
Examples
Example 1 — Research a Topic
"Search Google for 'Swift concurrency best practices', open the first three results, and give me a summary of each article."
Yukkai runs the google_search recipe, reads each result page with extract, and compiles a summary.
Example 2 — Fill a Form
"Go to this contact form, fill in my name 'John Doe', email 'john@example.com', and message 'Hello there', then submit it."
Yukkai identifies the input fields by their DOM index, types the values, and clicks the submit button.
Example 3 — Infinite Scroll & Collect
"Scroll through this Reddit thread and collect all the top-level comments."
Yukkai uses scroll_and_collect to keep scrolling and gathering comments until the page ends or a limit is reached.
Example 4 — Download Media
"Download all the images from this product page."
Yukkai lists all images with collect_media, then downloads them with download_all_media into your documents folder.
Example 5 — Capture API Calls
"Open this dashboard and tell me what API endpoints the page calls in the background."
Yukkai starts the request interceptor, reloads the page, and shows you every fetch/XHR request the page made.
Tips
Use Plain Language
You never need to specify action names, indices, or selectors. Just describe the outcome you want and Yukkai handles the mechanics.
Take Over for Sensitive Steps
When a website asks for passwords, multi-factor authentication, passkeys, or CAPTCHAs, open the visible browser window with show and complete those steps yourself. Yukkai resumes once you're done. Never paste passwords directly into the chat — use the Vault or your password manager.
Save Sessions to Avoid Repeated Logins
If you need Yukkai to access a site that requires login, ask it to save the session after you authenticate. Next time, Yukkai can load that session and skip the login flow entirely.
Lean on Recipes for Speed
Pre-built recipes are faster and more reliable than ad-hoc navigation for well-known sites like Google, GitHub, Reddit, or Wikipedia. Ask "list the trending GitHub repos" and Yukkai uses the recipe automatically.
Human-Like Behavior for Tricky Sites
Some sites detect automated browsing. Yukkai can switch to human-like clicking, typing, and scrolling — with natural mouse movements and variable timing — to get past basic bot detection.
Use extract for Clean Reading
The extract action returns page content as structured Markdown, stripping away ads, navigation chrome, and scripts. It's the best way to read articles or documentation.
Multiple Tabs for Comparison
Yukkai can open several tabs at once, which is handy when you want to compare products, read multiple search results, or cross-reference sources side by side.
Screenshots Are Saved Locally
All screenshots are written to ~/YukkaiDocs/ and displayed inline. You can reference them later without re-navigating to the page.
For Simple Fetches Without JavaScript
If you just need the raw HTML of a static page and don't need JavaScript rendering, Yukkai can use a lighter fetch method. The browser is best for interactive, dynamic, or JavaScript-heavy pages.