@ulpi/browse 1.1.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -4
- package/dist/browse.cjs +5333 -3022
- package/package.json +3 -2
- package/skill/SKILL.md +21 -3
- package/skill/references/guides.md +1 -0
- package/skill/references/permissions.md +3 -1
package/README.md
CHANGED
|
@@ -143,6 +143,7 @@ browse wait --text "Welcome" # Wait for text to appear in page
|
|
|
143
143
|
browse wait --fn "js expr" # Wait for JavaScript condition
|
|
144
144
|
browse wait --load <state> # Wait for load state (load/domcontentloaded/networkidle)
|
|
145
145
|
browse wait --network-idle # Wait for network idle
|
|
146
|
+
browse wait --download [path] # Wait for download to complete
|
|
146
147
|
```
|
|
147
148
|
|
|
148
149
|
### Snapshot
|
|
@@ -300,6 +301,7 @@ browse record stop # Stop recording
|
|
|
300
301
|
browse record status # Check recording status
|
|
301
302
|
browse record export browse [path] # Export as chain-compatible JSON (replay with browse chain)
|
|
302
303
|
browse record export replay [path] # Export as Chrome DevTools Recorder (Playwright/Puppeteer)
|
|
304
|
+
browse record export replay --selectors css,aria [path] # Filter selector types in export
|
|
303
305
|
```
|
|
304
306
|
|
|
305
307
|
### React DevTools
|
|
@@ -321,11 +323,24 @@ browse react-devtools disable # Disable
|
|
|
321
323
|
### Handoff (Human Takeover)
|
|
322
324
|
|
|
323
325
|
```bash
|
|
324
|
-
browse handoff [reason] # Swap to
|
|
326
|
+
browse handoff [reason] # Swap to Chrome for CAPTCHA/MFA/OAuth (falls back to Chromium)
|
|
327
|
+
browse handoff --chromium # Force Playwright Chromium instead of Chrome
|
|
325
328
|
browse resume # Swap back to headless, returns fresh snapshot
|
|
326
329
|
```
|
|
327
330
|
|
|
328
|
-
Agent asks permission first via AskUserQuestion, then hands off. Server auto-suggests handoff after 3 consecutive failures.
|
|
331
|
+
Handoff defaults to your system Chrome (bypasses Turnstile and bot detection). Falls back to Playwright Chromium if Chrome is not installed. Agent asks permission first via AskUserQuestion, then hands off. Server auto-suggests handoff after 3 consecutive failures.
|
|
332
|
+
|
|
333
|
+
### Cloud Providers
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
browse provider save browserbase <api-key> # Save API key (encrypted)
|
|
337
|
+
browse provider save browserless <token> # Save token (encrypted)
|
|
338
|
+
browse --provider browserbase goto https://... # Use cloud browser
|
|
339
|
+
browse provider list # List saved providers
|
|
340
|
+
browse provider delete <name> # Remove saved key
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
API keys are encrypted at rest in `.browse/providers/` — never visible to agents.
|
|
329
344
|
|
|
330
345
|
### State & Auth
|
|
331
346
|
|
|
@@ -340,6 +355,10 @@ browse auth save <name> <url> <user> --password-stdin # Password from stdin
|
|
|
340
355
|
browse auth login <name> # Auto-login with saved credential
|
|
341
356
|
browse auth list # List saved credentials
|
|
342
357
|
browse auth delete <name> # Delete credential
|
|
358
|
+
|
|
359
|
+
browse cookie-import --list # List browsers with cookies
|
|
360
|
+
browse cookie-import chrome [--domain .example.com] # Import cookies from Chrome
|
|
361
|
+
browse cookie-import chrome --profile "Profile 1" # Specific browser profile
|
|
343
362
|
```
|
|
344
363
|
|
|
345
364
|
### Multi-Step (Chaining)
|
|
@@ -529,6 +548,61 @@ Core workflow:
|
|
|
529
548
|
Use browse to test the login flow. Run browse --help to see available commands.
|
|
530
549
|
```
|
|
531
550
|
|
|
551
|
+
## MCP Server Mode
|
|
552
|
+
|
|
553
|
+
Run browse as an [MCP](https://modelcontextprotocol.io/) server for editors that support the Model Context Protocol.
|
|
554
|
+
|
|
555
|
+
```bash
|
|
556
|
+
browse --mcp
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
Use `--json` alongside `--mcp` for structured responses (`{success, data, command}`).
|
|
560
|
+
|
|
561
|
+
> **Note:** Requires `npm install @modelcontextprotocol/sdk` alongside browse.
|
|
562
|
+
|
|
563
|
+
### Cursor
|
|
564
|
+
|
|
565
|
+
`.cursor/mcp.json`:
|
|
566
|
+
|
|
567
|
+
```json
|
|
568
|
+
{
|
|
569
|
+
"mcpServers": {
|
|
570
|
+
"browse": {
|
|
571
|
+
"command": "browse",
|
|
572
|
+
"args": ["--mcp"]
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
### Claude Desktop
|
|
579
|
+
|
|
580
|
+
`claude_desktop_config.json`:
|
|
581
|
+
|
|
582
|
+
```json
|
|
583
|
+
{
|
|
584
|
+
"mcpServers": {
|
|
585
|
+
"browse": {
|
|
586
|
+
"command": "browse",
|
|
587
|
+
"args": ["--mcp"]
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
### Windsurf
|
|
594
|
+
|
|
595
|
+
```json
|
|
596
|
+
{
|
|
597
|
+
"mcpServers": {
|
|
598
|
+
"browse": {
|
|
599
|
+
"command": "browse",
|
|
600
|
+
"args": ["--mcp"]
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
```
|
|
605
|
+
|
|
532
606
|
## Options
|
|
533
607
|
|
|
534
608
|
| Flag | Description |
|
|
@@ -540,9 +614,11 @@ Use browse to test the login flow. Run browse --help to see available commands.
|
|
|
540
614
|
| `--allowed-domains <d,d>` | Block navigation/resources outside allowlist |
|
|
541
615
|
| `--max-output <n>` | Truncate output to N characters |
|
|
542
616
|
| `--headed` | Show browser window (not headless) |
|
|
617
|
+
| `--chrome` | Launch system Chrome (uses real browser, bypasses bot detection) |
|
|
543
618
|
| `--cdp <port>` | Connect to Chrome on a specific debugging port |
|
|
544
619
|
| `--connect` | Auto-discover and connect to a running Chrome instance |
|
|
545
|
-
| `--
|
|
620
|
+
| `--provider <name>` | Cloud browser provider (browserless, browserbase) |
|
|
621
|
+
| `--runtime <name>` | Browser runtime: playwright (default), rebrowser (stealth), lightpanda, chrome |
|
|
546
622
|
|
|
547
623
|
## Environment Variables
|
|
548
624
|
|
|
@@ -569,7 +645,9 @@ Use browse to test the login flow. Run browse --help to see available commands.
|
|
|
569
645
|
| `BROWSE_CONFIRM_ACTIONS` | (none) | Commands requiring confirmation |
|
|
570
646
|
| `BROWSE_ENCRYPTION_KEY` | auto-generated | 64-char hex AES key for credential vault |
|
|
571
647
|
| `BROWSE_AUTH_PASSWORD` | (none) | Password for `auth save` (alt to `--password-stdin`) |
|
|
572
|
-
| `BROWSE_RUNTIME` | playwright | Browser runtime (playwright, rebrowser, lightpanda) |
|
|
648
|
+
| `BROWSE_RUNTIME` | playwright | Browser runtime (playwright, rebrowser, lightpanda, chrome) |
|
|
649
|
+
| `BROWSE_CHROME` | (none) | Set to `1` to use system Chrome |
|
|
650
|
+
| `BROWSE_CHROME_PATH` | auto-detected | Override Chrome executable path |
|
|
573
651
|
|
|
574
652
|
## Architecture
|
|
575
653
|
|