🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Virtual Desktop Browser

by @nhzallen

Launch Chromium in non-headless mode inside Xvfb virtual display (fixed 1200x720x24) and automate with human-like mouse/keyboard/screenshot operations. Use f...

Versionv1.0.0
Downloads796
TERMINAL
clawhub install virtual-desktop-browser

πŸ“– About This Skill


name: virtual-desktop-browser description: Launch Chromium in non-headless mode inside Xvfb virtual display (fixed 1200x720x24) and automate with human-like mouse/keyboard/screenshot operations. Use for bot-resistant sites like Xiaohongshu and X/Twitter where GUI simulation is required.

Virtual Desktop Browser Skill

This skill provides a deterministic GUI automation runtime:

  • Xvfb virtual display (1200x720x24)
  • Chromium non-headless browser
  • PyAutoGUI control (click/type/hotkey/scroll)
  • Required system packages

    apt-get update
    apt-get install -y xvfb chromium-browser \
      libnss3 libgconf-2-4 libxss1 libasound2 \
      libatk1.0-0 libatk-bridge2.0-0 libcups2 \
      libdrm2 libgbm1 libgtk-3-0 libxshmfence1 x11-utils
    

    Python dependencies

    pip install -r requirements.txt
    

    Tool surface

    All tools return JSON dicts.

  • browser_start(url=None, display=None) β€” start Xvfb + Chromium
  • browser_stop() β€” close processes
  • browser_snapshot(region=None) β€” screenshot as Base64 PNG
  • browser_click(x, y, button='left', clicks=1, duration=0.5) β€” move + click
  • browser_type(text, interval=0.05, wpm=None) β€” type at focus
  • browser_hotkey(keys, interval=0.05) β€” key combos
  • browser_scroll(clicks=1, direction='vertical', x=None, y=None) β€” mouse wheel
  • browser_find_image(image_path, confidence=0.8) β€” template matching (OpenCV)
  • browser_get_pixel_color(x, y) β€” read RGB
  • browser_activate_window(title_substring) β€” focus window by title
  • Notes

  • Browser lifecycle is manual: start once, multi-step flow, then stop.
  • Display auto-assigns (:99..:199) if not provided.
  • Failsafe: moving mouse to bottom-right corner triggers pyautogui abort.
  • Language

    See docs/ for translations:

  • English
  • EspaΓ±ol
  • Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©
  • πŸ“‹ Tips & Best Practices

  • Browser lifecycle is manual: start once, multi-step flow, then stop.
  • Display auto-assigns (:99..:199) if not provided.
  • Failsafe: moving mouse to bottom-right corner triggers pyautogui abort.