Documentation
Drive a real browser from the shell.
KOALINT installs a koalint executable on your PATH. Every command returns plain JSON and auto-targets the current deck's browser.
CLI reference
Every command.
| koalint navigate --url <u> | Open a page in this deck's browser. |
| koalint snapshot | The page as a numbered element map (10–100× cheaper than a screenshot). |
| koalint snapshot --mode diff | Only what changed since the last snapshot. |
| koalint click --ref N | Click element [N] from the snapshot. |
| koalint type --ref N --text "…" --submit | Type into a field, optionally pressing Enter. |
| koalint find --query "sign in" | Locate elements by text. |
| koalint read | The page as clean article text. |
| koalint scrape --url <u> [--full] | Page → clean Markdown. |
| koalint map --url <u> [--limit N] | List every URL under a site. |
| koalint crawl --url <u> --limit N | Scrape many pages → Markdown[]. |
| koalint extract --url <u> --schema '{…}' | A ready prompt → structured JSON. |
| koalint sessions | List open browser sessions. |
| koalint deck spawn <path> [--agent skip] [--prompt "…"] [--name N] | Open a sibling deck with its own agent; prints the new deck id. |
| koalint deck send <id> <text> | Type into another deck. |
| koalint deck read <id> | That deck's screen, as text. |
| koalint deck wait <id> --for <regex> | Block until the other deck prints a match. |
| koalint deck list | close <id> | See or end the decks you launched. |
For agents
The loop your agent runs.
Navigate, snapshot to see the map, act on a reference, snapshot again. References are content-addressed, so they survive the page changing under you.
# a typical agent turn
koalint navigate --url https://shop.example
koalint snapshot
→ [12] input “Search”, [13] button “Go”…
koalint type --ref 12 --text "boots" --submit
koalint snapshot --mode diff
→ 20 new results…
koalint scrape --full
Good to know
- • Inside a deck, KOALINT_AGENT is set — omit --agent.
- • The legacy aperture command still works as an alias.
- • CAPTCHAs, passwords, 2FA, payment → KOALINT pauses for the human.
- • Output is JSON, so pipe it straight into your model.