技能/ #research/ #自动化/ #integrations

Browser Use

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...

shawn pana@shawnpana

安装

针对本地咔咔镜像运行此命令。

$ openclaw install browser-use --registry http://localhost:13001下载

说明

--- name: browser-use description: Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages. allowed-tools: Bash(browser-use:*) ---

Browser Automation with browser-use CLI

The `browser-use` command provides fast, persistent browser automation. A background daemon keeps the browser open across commands, giving ~50ms latency per call.

Prerequisites

bashbrowser-use doctor    # Verify installation

For setup details, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md

Core Workflow

1. **Navigate**: `browser-use open <url>` — launches headless browser and opens page 2. **Inspect**: `browser-use state` — returns clickable elements with indices 3. **Interact**: use indices from state (`browser-use click 5`, `browser-use input 3 "text"`) 4. **Verify**: `browser-use state` or `browser-use screenshot` to confirm 5. **Repeat**: browser stays open between commands

If a command fails, run `browser-use close` first to clear any broken session, then retry.

To use the user's existing Chrome (preserves logins/cookies): run `browser-use connect` first. To use a cloud browser instead: run `browser-use cloud connect` first. After either, commands work the same way.

Browser Modes

bashbrowser-use open <url>                         # Default: headless Chromium (no setup needed)
browser-use --headed open <url>                # Visible window (for debugging)
browser-use connect                            # Connect to user's Chrome (preserves logins/cookies)
browser-use cloud connect                      # Cloud browser (zero-config, requires API key)
browser-use --profile "Default" open <url>     # Real Chrome with specific profile

After `connect` or `cloud connect`, all subsequent commands go to that browser — no extra flags needed.

Commands

bash# Navigation
browser-use open <url>                    # Navigate to URL
browser-use back                          # Go back in history
browser-use scroll down                   # Scroll down (--amount N for pixels)
browser-use scroll up                     # Scroll up
browser-use tab list                      # List all tabs
browser-use tab new [url]                 # Open a new tab (blank or with URL)
browser-use tab switch <index>            # Switch to tab by index
browser-use tab close <index> [index...]  # Close one or more tabs

# Page State — always run state first to get element indices
browser-use state                         # URL, title, clickable elements with indices
browser-use screenshot [path.png]         # Screenshot (base64 if no path, --full for full page)

# Interactions — use indices from state
browser-use click <index>                 # Click element by index
browser-use click <x> <y>                 # Click at pixel coordinates
browser-use type "text"                   # Type into focused element
browser-use input <index> "text"          # Click element, then type
browser-use keys "Enter"                  # Send keyboard keys (also "Control+a", etc.)
browser-use select <index> "option"       # Select dropdown option
browser-use upload <index> <path>         # Upload file to file input
browser-use hover <index>                 # Hover over element
browser-use dblclick <index>              # Double-click element
browser-use rightclick <index>            # Right-click element

# Data Extraction
browser-use eval "js code"                # Execute JavaScript, return result
browser-use get title                     # Page title
browser-use get html [--selector "h1"]    # Page HTML (or scoped to selector)
browser-use get text <index>              # Element text content
browser-use get value <index>             # Input/textarea value
browser-use get attributes <index>        # Element attributes
browser-use get bbox <index>              # Bounding box (x, y, width, height)

# Wait
browser-use wait selector "css"           # Wait for element (--state visible|hidden|attached|detached, --timeout ms)
browser-use wait text "text"              # Wait for text to appear

# Cookies
browser-use cookies get [--url <url>]     # Get cookies (optionally filtered)
browser-use cookies set <name> <value>    # Set cookie (--domain, --secure, --http-only, --same-site, --expires)
browser-use cookies clear [--url <url>]   # Clear cookies
browser-use cookies export <file>         # Export to JSON
browser-use cookies import <file>         # Import from JSON

# Session
browser-use close                         # Close browser and stop daemon
browser-use sessions                      # List active sessions
browser-use close --all                   # Close all sessions

For advanced browser control (CDP, device emulation, tab activation), see `references/cdp-python.md`.

Cloud API

bashbrowser-use cloud connect                 # Provision cloud browser and connect (zero-config)
browser-use cloud login <api-key>         # Save API key (or set BROWSER_USE_API_KEY)
browser-use cloud logout                  # Remove API key
browser-use cloud v2 GET /browsers        # REST passthrough (v2 or v3)
browser-use cloud v2 POST /tasks '{"task":"...","url":"..."}'
browser-use cloud v2 poll <task-id>       # Poll task until done
browser-use cloud v2 --help               # Show API endpoints

`cloud connect` provisions a cloud browser with a persistent profile (auto-created on first use), connects via CDP, and prints a live URL. `browser-use close` disconnects AND stops the cloud browser. For custom browser settings (proxy, timeout, specific profile), use `cloud v2 POST /browsers` directly with the desired parameters.

Agent Self-Registration

Only use this if you don't already have an API key (check `browser-use doctor` to see if api_key is set). If already logged in, skip this entirely.

1. `browser-use cloud signup` — get a challenge 2. Solve the challenge 3. `browser-use cloud signup --verify <challenge-id> <answer>` — verify and save API key 4. `browser-use cloud signup --claim` — generate URL for a human to claim the account

Tunnels

bashbrowser-use tunnel <port>                 # Start Cloudflare tunnel (idempotent)
browser-use tunnel list                   # Show active tunnels
browser-use tunnel stop <port>            # Stop tunnel
browser-use tunnel stop --all             # Stop all tunnels

Profile Management

bashbrowser-use profile list                  # List detected browsers and profiles
browser-use profile sync --all            # Sync profiles to cloud
browser-use profile update                # Download/update profile-use binary

Command Chaining

Commands can be chained with `&&`. The browser persists via the daemon, so chaining is safe and efficient.

bashbrowser-use open https://example.com && browser-use state
browser-use input 5 "user@example.com" && browser-use input 6 "password" && browser-use click 7

Chain when you don't need intermediate output. Run separately when you need to parse `state` to discover indices first.

Common Workflows

Authenticated Browsing

When a task requires an authenticated site (Gmail, GitHub, internal tools), use Chrome profiles:

bashbrowser-use profile list                           # Check available profiles
# Ask the user which profile to use, then:
browser-use --profile "Default" open https://github.com  # Already logged in

Exposing Local Dev Servers

bashbrowser-use tunnel 3000                            # → https://abc.trycloudflare.com
browser-use open https://abc.trycloudflare.com     # Browse the tunnel

Multiple Browsers

For subagent workflows or running multiple browsers in parallel, use `--session NAME`. Each session gets its own browser. See `references/multi-session.md`.

Configuration

bashbrowser-use config list                            # Show all config values
browser-use config set cloud_connect_proxy jp      # Set a value
browser-use config get cloud_connect_proxy         # Get a value
browser-use config unset cloud_connect_timeout     # Remove a value
browser-use doctor                                 # Shows config + diagnostics
browser-use setup                                  # Interactive post-install setup

Config stored in `~/.browser-use/config.json`.

Global Options

| Option | Description | |--------|-------------| | `--headed` | Show browser window | | `--profile [NAME]` | Use real Chrome (bare `--profile` uses "Default") | | `--cdp-url <url>` | Connect via CDP URL (`http://` or `ws://`) | | `--session NAME` | Target a named session (default: "default") | | `--json` | Output as JSON | | `--mcp` | Run as MCP server via stdin/stdout |

Tips

1. **Always run `state` first** to see available elements and their indices 2. **Use `--headed` for debugging** to see what the browser is doing 3. **Sessions persist** — browser stays open between commands 4. **CLI aliases**: `bu`, `browser`, and `browseruse` all work 5. **If commands fail**, run `browser-use close` first, then retry

Troubleshooting

  • **Browser won't start?** `browser-use close` then `browser-use --headed open <url>`
  • **Element not found?** `browser-use scroll down` then `browser-use state`
  • **Run diagnostics:** `browser-use doctor`

Cleanup

bashbrowser-use close                         # Close browser session
browser-use tunnel stop --all             # Stop tunnels (if any)

安装解析

{
  "artifact": {
    "downloadUrl": "/api/v1/download?slug=browser-use&version=2.0.1&ownerHandle=shawnpana",
    "format": "zip",
    "generated": true,
    "kind": "skillArchive",
    "sha256": "c20508505179dbcd0ce02cdf96587d30f6aada571c802a820cb86d53063d07ee",
    "size": 11048
  },
  "owner": {
    "displayName": "shawn pana",
    "handle": "shawnpana",
    "id": "7105ec2b-5a44-4981-8475-06bd676d72fb",
    "verified": false
  },
  "skill": {
    "displayName": "Browser Use",
    "latestVersion": "2.0.1",
    "license": "MIT-0",
    "name": "browser-use",
    "ownerHandle": "shawnpana",
    "slug": "browser-use",
    "stats": {
      "downloads": 73555,
      "installs": 480,
      "stars": 112
    },
    "summary": "Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...",
    "tags": [
      "research",
      "automation",
      "integrations",
      "Browser Automation",
      "Data Extraction"
    ],
    "type": "skill",
    "updatedAt": "2026-07-06T10:48:48.012Z"
  },
  "sourceHandoff": null,
  "version": {
    "checksum": null,
    "checksumAlgorithm": null,
    "id": "3488980b-0a10-4c99-9c94-fc75fa8d2461",
    "publishedAt": "2026-04-09T04:31:04.353Z",
    "size": null,
    "version": "2.0.1",
    "artifactStorageKey": null,
    "changelog": "- Added two new reference documents: CDP Python usage and multi-session workflows.\n- Clarified the distinction between headless mode, connecting to Chrome, and cloud browser usage.\n- Made tab management commands (`tab list`, `tab new`, `tab switch`, `tab close`) explicit in documentation.\n- Improved explanations for cloud connection, API key registration, and agent self-registration.\n- Added instructions for multi-session (parallel browser) usage.\n- Updated troubleshooting guidance for failed commands and session cleanup.",
    "manifest": {
      "clawhub": {
        "tags": {
          "latest": "2.0.1"
        },
        "owner": "shawnpana",
        "stats": {
          "stars": 112,
          "comments": 4,
          "installs": 480,
          "versions": 5,
          "downloads": 73555
        },
        "topics": [
          "Browser Automation",
          "Data Extraction"
        ],
        "categories": [
          "research",
          "automation",
          "integrations"
        ]
      },
      "install": "openclaw skills install @shawnpana/browser-use"
    },
    "readme": "---\nname: browser-use\ndescription: Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages.\nallowed-tools: Bash(browser-use:*)\n---\n\n# Browser Automation with browser-use CLI\n\nThe `browser-use` command provides fast, persistent browser automation. A background daemon keeps the browser open across commands, giving ~50ms latency per call.\n\n## Prerequisites\n\n```bash\nbrowser-use doctor    # Verify installation\n```\n\nFor setup details, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md\n\n## Core Workflow\n\n1. **Navigate**: `browser-use open <url>` — launches headless browser and opens page\n2. **Inspect**: `browser-use state` — returns clickable elements with indices\n3. **Interact**: use indices from state (`browser-use click 5`, `browser-use input 3 \"text\"`)\n4. **Verify**: `browser-use state` or `browser-use screenshot` to confirm\n5. **Repeat**: browser stays open between commands\n\nIf a command fails, run `browser-use close` first to clear any broken session, then retry.\n\nTo use the user's existing Chrome (preserves logins/cookies): run `browser-use connect` first.\nTo use a cloud browser instead: run `browser-use cloud connect` first.\nAfter either, commands work the same way.\n\n## Browser Modes\n\n```bash\nbrowser-use open <url>                         # Default: headless Chromium (no setup needed)\nbrowser-use --headed open <url>                # Visible window (for debugging)\nbrowser-use connect                            # Connect to user's Chrome (preserves logins/cookies)\nbrowser-use cloud connect                      # Cloud browser (zero-config, requires API key)\nbrowser-use --profile \"Default\" open <url>     # Real Chrome with specific profile\n```\n\nAfter `connect` or `cloud connect`, all subsequent commands go to that browser — no extra flags needed.\n\n## Commands\n\n```bash\n# Navigation\nbrowser-use open <url>                    # Navigate to URL\nbrowser-use back                          # Go back in history\nbrowser-use scroll down                   # Scroll down (--amount N for pixels)\nbrowser-use scroll up                     # Scroll up\nbrowser-use tab list                      # List all tabs\nbrowser-use tab new [url]                 # Open a new tab (blank or with URL)\nbrowser-use tab switch <index>            # Switch to tab by index\nbrowser-use tab close <index> [index...]  # Close one or more tabs\n\n# Page State — always run state first to get element indices\nbrowser-use state                         # URL, title, clickable elements with indices\nbrowser-use screenshot [path.png]         # Screenshot (base64 if no path, --full for full page)\n\n# Interactions — use indices from state\nbrowser-use click <index>                 # Click element by index\nbrowser-use click <x> <y>                 # Click at pixel coordinates\nbrowser-use type \"text\"                   # Type into focused element\nbrowser-use input <index> \"text\"          # Click element, then type\nbrowser-use keys \"Enter\"                  # Send keyboard keys (also \"Control+a\", etc.)\nbrowser-use select <index> \"option\"       # Select dropdown option\nbrowser-use upload <index> <path>         # Upload file to file input\nbrowser-use hover <index>                 # Hover over element\nbrowser-use dblclick <index>              # Double-click element\nbrowser-use rightclick <index>            # Right-click element\n\n# Data Extraction\nbrowser-use eval \"js code\"                # Execute JavaScript, return result\nbrowser-use get title                     # Page title\nbrowser-use get html [--selector \"h1\"]    # Page HTML (or scoped to selector)\nbrowser-use get text <index>              # Element text content\nbrowser-use get value <index>             # Input/textarea value\nbrowser-use get attributes <index>        # Element attributes\nbrowser-use get bbox <index>              # Bounding box (x, y, width, height)\n\n# Wait\nbrowser-use wait selector \"css\"           # Wait for element (--state visible|hidden|attached|detached, --timeout ms)\nbrowser-use wait text \"text\"              # Wait for text to appear\n\n# Cookies\nbrowser-use cookies get [--url <url>]     # Get cookies (optionally filtered)\nbrowser-use cookies set <name> <value>    # Set cookie (--domain, --secure, --http-only, --same-site, --expires)\nbrowser-use cookies clear [--url <url>]   # Clear cookies\nbrowser-use cookies export <file>         # Export to JSON\nbrowser-use cookies import <file>         # Import from JSON\n\n# Session\nbrowser-use close                         # Close browser and stop daemon\nbrowser-use sessions                      # List active sessions\nbrowser-use close --all                   # Close all sessions\n```\n\nFor advanced browser control (CDP, device emulation, tab activation), see `references/cdp-python.md`.\n\n## Cloud API\n\n```bash\nbrowser-use cloud connect                 # Provision cloud browser and connect (zero-config)\nbrowser-use cloud login <api-key>         # Save API key (or set BROWSER_USE_API_KEY)\nbrowser-use cloud logout                  # Remove API key\nbrowser-use cloud v2 GET /browsers        # REST passthrough (v2 or v3)\nbrowser-use cloud v2 POST /tasks '{\"task\":\"...\",\"url\":\"...\"}'\nbrowser-use cloud v2 poll <task-id>       # Poll task until done\nbrowser-use cloud v2 --help               # Show API endpoints\n```\n\n`cloud connect` provisions a cloud browser with a persistent profile (auto-created on first use), connects via CDP, and prints a live URL. `browser-use close` disconnects AND stops the cloud browser. For custom browser settings (proxy, timeout, specific profile), use `cloud v2 POST /browsers` directly with the desired parameters.\n\n### Agent Self-Registration\n\nOnly use this if you don't already have an API key (check `browser-use doctor` to see if api_key is set). If already logged in, skip this entirely.\n\n1. `browser-use cloud signup` — get a challenge\n2. Solve the challenge\n3. `browser-use cloud signup --verify <challenge-id> <answer>` — verify and save API key\n4. `browser-use cloud signup --claim` — generate URL for a human to claim the account\n\n## Tunnels\n\n```bash\nbrowser-use tunnel <port>                 # Start Cloudflare tunnel (idempotent)\nbrowser-use tunnel list                   # Show active tunnels\nbrowser-use tunnel stop <port>            # Stop tunnel\nbrowser-use tunnel stop --all             # Stop all tunnels\n```\n\n## Profile Management\n\n```bash\nbrowser-use profile list                  # List detected browsers and profiles\nbrowser-use profile sync --all            # Sync profiles to cloud\nbrowser-use profile update                # Download/update profile-use binary\n```\n\n## Command Chaining\n\nCommands can be chained with `&&`. The browser persists via the daemon, so chaining is safe and efficient.\n\n```bash\nbrowser-use open https://example.com && browser-use state\nbrowser-use input 5 \"user@example.com\" && browser-use input 6 \"password\" && browser-use click 7\n```\n\nChain when you don't need intermediate output. Run separately when you need to parse `state` to discover indices first.\n\n## Common Workflows\n\n### Authenticated Browsing\n\nWhen a task requires an authenticated site (Gmail, GitHub, internal tools), use Chrome profiles:\n\n```bash\nbrowser-use profile list                           # Check available profiles\n# Ask the user which profile to use, then:\nbrowser-use --profile \"Default\" open https://github.com  # Already logged in\n```\n\n### Exposing Local Dev Servers\n\n```bash\nbrowser-use tunnel 3000                            # → https://abc.trycloudflare.com\nbrowser-use open https://abc.trycloudflare.com     # Browse the tunnel\n```\n\n## Multiple Browsers\n\nFor subagent workflows or running multiple browsers in parallel, use `--session NAME`. Each session gets its own browser. See `references/multi-session.md`.\n\n## Configuration\n\n```bash\nbrowser-use config list                            # Show all config values\nbrowser-use config set cloud_connect_proxy jp      # Set a value\nbrowser-use config get cloud_connect_proxy         # Get a value\nbrowser-use config unset cloud_connect_timeout     # Remove a value\nbrowser-use doctor                                 # Shows config + diagnostics\nbrowser-use setup                                  # Interactive post-install setup\n```\n\nConfig stored in `~/.browser-use/config.json`.\n\n## Global Options\n\n| Option | Description |\n|--------|-------------|\n| `--headed` | Show browser window |\n| `--profile [NAME]` | Use real Chrome (bare `--profile` uses \"Default\") |\n| `--cdp-url <url>` | Connect via CDP URL (`http://` or `ws://`) |\n| `--session NAME` | Target a named session (default: \"default\") |\n| `--json` | Output as JSON |\n| `--mcp` | Run as MCP server via stdin/stdout |\n\n## Tips\n\n1. **Always run `state` first** to see available elements and their indices\n2. **Use `--headed` for debugging** to see what the browser is doing\n3. **Sessions persist** — browser stays open between commands\n4. **CLI aliases**: `bu`, `browser`, and `browseruse` all work\n5. **If commands fail**, run `browser-use close` first, then retry\n\n## Troubleshooting\n\n- **Browser won't start?** `browser-use close` then `browser-use --headed open <url>`\n- **Element not found?** `browser-use scroll down` then `browser-use state`\n- **Run diagnostics:** `browser-use doctor`\n\n## Cleanup\n\n```bash\nbrowser-use close                         # Close browser session\nbrowser-use tunnel stop --all             # Stop tunnels (if any)\n```\n"
  }
}

版本

版本大小更新时间2.0.1暂无2026-04-09