remote-browser

작성자: browser-use

클라우드 브라우저 자동화로 로컬 GUI 접근이 없는 샌드박스 에이전트를 지원합니다. 30개 이상의 CLI 명령어를 통해 탐색, 페이지 검사, 상호작용, JavaScript 실행, 쿠키 관리를 제공합니다. 병렬로 실행되는 자율 브라우저 에이전트를 위한 클라우드 세션 관리, 작업 모니터링 및 구조화된 출력 옵션을 포함합니다. Cloudflare를 통한 로컬 개발 서버 터널링으로 원격 머신의 포트를 클라우드 브라우저에 노출시킵니다. 명령어 간 세션 상태를 유지하여...

npx skills add https://github.com/browser-use/browser-use --skill remote-browser

Browser Automation for Sandboxed Agents

This skill is for agents running on sandboxed remote machines (cloud VMs, CI, coding agents) that need to control a headless browser.

Prerequisites

browser-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> — starts headless browser if needed
  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
  6. Cleanup: browser-use close when done

Browser Modes

browser-use open <url>                                    # Default: headless Chromium
browser-use cloud connect                                 # Provision cloud browser and connect
browser-use --connect open <url>                          # Auto-discover running Chrome via CDP
browser-use --cdp-url ws://localhost:9222/... open <url>  # Connect via CDP URL

Commands

# 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 with lock status
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

# Python — persistent session with browser access
browser-use python "code"                 # Execute Python (variables persist across calls)
browser-use python --file script.py       # Run file
browser-use python --vars                 # Show defined variables
browser-use python --reset                # Clear namespace

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

The Python browser object provides: browser.url, browser.title, browser.html, browser.goto(url), browser.back(), browser.click(index), browser.type(text), browser.input(index, text), browser.keys(keys), browser.upload(index, path), browser.screenshot(path), browser.scroll(direction, amount), browser.wait(seconds).

Tunnels

Expose local dev servers to the browser via Cloudflare tunnels.

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

Command Chaining

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

browser-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

Exposing Local Dev Servers

python -m http.server 3000 &                      # Start dev server
browser-use tunnel 3000                            # → https://abc.trycloudflare.com
browser-use open https://abc.trycloudflare.com     # Browse the tunnel

Tunnels are independent of browser sessions and persist across browser-use close.

Multi-Agent (--connect mode)

Multiple agents can share one browser via --connect. Each agent gets its own tab — other agents can't interfere.

Setup: Register once, then pass the index with every --connect command:

INDEX=$(browser-use register)                    # → prints "1"
browser-use --connect $INDEX open <url>          # Navigate in agent's own tab
browser-use --connect $INDEX state               # Get state from agent's tab
browser-use --connect $INDEX click <element>     # Click in agent's tab
  • Tab locking: When an agent mutates a tab (click, type, navigate), that tab is locked to it. Other agents get an error if they try to mutate the same tab.
  • Read-only access: state, screenshot, get, and wait commands work on any tab regardless of locks.
  • Agent sessions expire after 5 minutes of inactivity. Run browser-use register again to get a new index.

Global Options

OptionDescription
--headedShow browser window
--connectAuto-discover running Chrome via CDP
--cdp-url <url>Connect via CDP URL (http:// or ws://)
--session NAMETarget a named session (default: "default")
--jsonOutput as JSON

Tips

  1. Always run state first to see available elements and their indices
  2. Sessions persist — browser stays open between commands until you close it
  3. Tunnels are independent — they persist across browser-use close
  4. tunnel is idempotent — calling again for the same port returns the existing URL

Troubleshooting

  • Browser won't start? browser-use close then retry. Run browser-use doctor to check.
  • Element not found? browser-use scroll down then browser-use state
  • Tunnel not working? which cloudflared to check, browser-use tunnel list to see active tunnels

Cleanup

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

browser-use의 다른 스킬

browser-use
browser-use
웹 테스트, 양식 작성, 스크린샷, 데이터 추출을 위한 브라우저 상호작용을 자동화합니다. 사용자가 웹사이트 탐색, 웹 페이지 상호작용, 양식 작성, 스크린샷 촬영, 또는 웹 페이지에서 정보 추출이 필요할 때 사용하세요.
browser-automationofficial
browser-execute
browser-use
Use ONLY when calling the `browser_execute` tool or driving a real browser via the Chrome DevTools Protocol. Required reading before the first…
official
effect
browser-use
이 저장소에서 Effect v4 / effect-smol TypeScript 코드 작업하기
official
qa
browser-use
웹사이트나 웹 앱을 QA 테스트하고 1-5 품질 점수(5=완벽, 1=고장)를 증거와 함께 반환합니다. 사용자가 테스트, QA, 평가, 점수 매기기 등을 원할 때 사용하세요.
official
video-use
browser-use
대화만으로 모든 영상을 편집하세요. 음성 변환, 컷 편집, 색보정, 오버레이 애니메이션 생성, 자막 삽입 — 토킹 헤드, 몽타주, 튜토리얼, 여행 영상 등에 사용 가능합니다.
official
qa
browser-use
웹사이트나 웹 앱을 QA 테스트하고 1-5 품질 점수(5=완벽, 1=고장)를 증거와 함께 반환합니다. 사용자가 테스트, QA, 평가, 점수 매기기 등을 원할 때 사용하세요.
official
cdp
browser-use
Drive Chrome via the DevTools Protocol from JavaScript. Run JS snippets through the `browser-harness-js` CLI — it auto-spawns a long-lived bun HTTP server…
official
browser
browser-use
CDP를 통한 직접 브라우저 제어. 사용자가 웹 페이지를 자동화, 스크래핑, 테스트 또는 상호작용하려는 경우 사용합니다. 사용자의 이미 실행 중인 Chrome에 연결합니다.
official