viralcode/openwhale/computer-use

Claude Code and agent skill by viralcode/openwhale

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Full desktop computer use for headless Linux servers and VPS. Creates a virtual display (Xvfb + XFCE) to control GUI applications without a physical monitor. Screenshots, mouse clicks, keyboard input, scrolling, dragging — all 17 standard actions. Includes flicker-free VNC setup for live remote viewing. Model-agnostic, works with any LLM.

Install

npx vskill@latest install viralcode/openwhale/computer-use

SKILL.md

Computer Use Skill

Full desktop GUI control for headless Linux servers. Creates a virtual display (Xvfb + XFCE) so you can run and control desktop applications on VPS/cloud instances without a physical monitor.

Environment

  • Display: :99
  • Resolution: 1024x768 (XGA, Anthropic recommended)
  • Desktop: XFCE4 (minimal — xfwm4 + panel only)

Quick Setup

Run the setup script to install everything (systemd services, flicker-free VNC):

bash
./scripts/setup-vnc.sh

This installs:

  • Xvfb virtual display on :99
  • Minimal XFCE desktop (xfwm4 + panel, no xfdesktop)
  • x11vnc with stability flags
  • noVNC for browser access

All services auto-start on boot and auto-restart on crash.

Actions Reference

ActionScriptArgumentsDescription
screenshotscreenshot.sh—Capture screen → base64 PNG
cursor_positioncursor_position.sh—Get current mouse X,Y
mouse_movemouse_move.shx yMove mouse to coordinates
left_clickclick.shx y leftLeft click at coordinates
right_clickclick.shx y rightRight click
middle_clickclick.shx y middleMiddle click
double_clickclick.shx y doubleDouble click
triple_clickclick.shx y tripleTriple click (select line)
left_click_dragdrag.shx1 y1 x2 y2Drag from start to end
left_mouse_downmouse_down.sh—Press mouse button
left_mouse_upmouse_up.sh—Release mouse button
typetype_text.sh"text"Type text (50 char chunks, 12ms delay)
keykey.sh"combo"Press key (Return, ctrl+c, alt+F4)
hold_keyhold_key.sh"key" secsHold key for duration
scrollscroll.shdir amt [x y]Scroll up/down/left/right
waitwait.shsecondsWait then screenshot
zoomzoom.shx1 y1 x2 y2Cropped region screenshot

Usage Examples

bash
export DISPLAY=:99
# Take screenshot
./scripts/screenshot.sh
# Click at coordinates
./scripts/click.sh 512 384 left
# Type text
./scripts/type_text.sh "Hello world"
# Press key combo
./scripts/key.sh "ctrl+s"
# Scroll down
./scripts/scroll.sh down 5

Workflow Pattern

  1. Screenshot — Always start by seeing the screen
  2. Analyze — Identify UI elements and coordinates
  3. Act — Click, type, scroll
  4. Screenshot — Verify result
  5. Repeat

Tips

  • Screen is 1024x768, origin (0,0) at top-left
  • Click to focus before typing in text fields
  • Use ctrl+End to jump to page bottom in browsers
  • Most actions auto-screenshot after 2 sec delay
  • Long text is chunked (50 chars) with 12ms keystroke delay

Live Desktop Viewing (VNC)

Watch the desktop in real-time via browser or VNC client.

Connect via Browser
bash
# SSH tunnel (run on your local machine)
ssh -L 6080:localhost:6080 your-server
# Open in browser
http://localhost:6080/vnc.html
Connect via VNC Client
bash
# SSH tunnel
ssh -L 5900:localhost:5900 your-server
# Connect VNC client to localhost:5900
SSH Config (recommended)

Add to ~/.ssh/config for automatic tunneling:

Host your-server
HostName your.server.ip
User your-user
LocalForward 6080 127.0.0.1:6080
LocalForward 5900 127.0.0.1:5900

Then just ssh your-server and VNC is available.

System Services

bash
# Check status
systemctl status xvfb xfce-minimal x11vnc novnc
# Restart if needed
sudo systemctl restart xvfb xfce-minimal x11vnc novnc
Service Chain
xvfb → xfce-minimal → x11vnc → novnc
  • xvfb: Virtual display :99 (1024x768x24)
  • xfce-minimal: Watchdog that runs xfwm4+panel, kills xfdesktop
  • x11vnc: VNC server with -noxdamage for stability
  • novnc: WebSocket proxy with heartbeat for connection stability

Opening Applications

bash
export DISPLAY=:99
google-chrome --no-sandbox & # Chrome (recommended)
xfce4-terminal & # Terminal
thunar & # File manager

Note: Snap browsers (Firefox, Chromium) have sandbox issues on headless servers. Use Chrome .deb instead:

bash
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get install -f

Manual Setup

If you prefer manual setup instead of setup-vnc.sh:

bash
# Install packages
sudo apt install -y xvfb xfce4 xfce4-terminal xdotool scrot imagemagick dbus-x11 x11vnc novnc websockify
# Copy service files
sudo cp systemd/*.service /etc/systemd/system/
# Edit xfce-minimal.service: replace %USER% and %SCRIPT_PATH%
sudo nano /etc/systemd/system/xfce-minimal.service
# Mask xfdesktop (prevents VNC flickering)
sudo mv /usr/bin/xfdesktop /usr/bin/xfdesktop.real
echo -e '#!/bin/bash\nexit 0' | sudo tee /usr/bin/xfdesktop
sudo chmod +x /usr/bin/xfdesktop
# Enable and start
sudo systemctl daemon-reload
sudo systemctl enable --now xvfb xfce-minimal x11vnc novnc

Troubleshooting

VNC shows black screen
  • Check if xfwm4 is running: pgrep xfwm4
  • Restart desktop: sudo systemctl restart xfce-minimal
VNC flickering/flashing
  • Ensure xfdesktop is masked (check /usr/bin/xfdesktop)
  • xfdesktop causes flicker due to clear→draw cycles on Xvfb
VNC disconnects frequently
  • Check noVNC has --heartbeat 30 flag
  • Check x11vnc has -noxdamage flag
x11vnc crashes (SIGSEGV)
  • Add -noxdamage -noxfixes flags
  • The DAMAGE extension causes crashes on Xvfb

Requirements

Installed by setup-vnc.sh:

bash
xvfb xfce4 xfce4-terminal xdotool scrot imagemagick dbus-x11 x11vnc novnc websockify

Security

  • Security scanPassed, 96 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
51
Repository forks
4
Repository npm downloads, 7 days
67
7-day trend score
34

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 18 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/viralcode/openwhale/computer-use/badge)](https://verified-skill.com/skills/viralcode/openwhale/computer-use)

Something wrong with this skill or its page? Tell us.