pikvm

安装量: 53
排名: #14093

安装

npx skills add https://github.com/vm0-ai/vm0-skills --skill pikvm

PiKVM Remote Control

Control remote computers via PiKVM REST API with mouse, keyboard, and power management.

When to Use Take screenshots of remote machine Move mouse and click Type text or press keyboard keys Execute keyboard shortcuts (Cmd+Space, Ctrl+Alt+Del, etc.) Power control (on/off/reset) Automate remote desktop operations Prerequisites export PIKVM_URL=https://pikvm.example.com export PIKVM_AUTH=admin:admin

Get Credentials Access your PiKVM web interface Default credentials: admin:admin

Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

Coordinate System

Mouse coordinates use screen center as origin (0,0):

Negative X = left, Positive X = right Negative Y = up, Positive Y = down

For 1920x1080 screen:

Top-left: (-960, -540) Center: (0, 0) Bottom-right: (960, 540) Usage Take Screenshot bash -c 'curl -k -s -o /tmp/screenshot.jpg -u "$PIKVM_AUTH" "${PIKVM_URL}/api/streamer/snapshot"'

Type Text

Text must be sent as raw body with Content-Type: text/plain:

bash -c 'curl -k -s -X POST \ -H "Content-Type: text/plain" \ -u "$PIKVM_AUTH" \ -d "Hello World" \ "${PIKVM_URL}/api/hid/print?limit=0"'

Move Mouse

Move to absolute position (0,0 = screen center):

bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/hid/events/send_mouse_move?to_x=-500&to_y=-300"'

Mouse Click

Press

bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/hid/events/send_mouse_button?button=left&state=true"'

Release

bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/hid/events/send_mouse_button?button=left&state=false"'

Press Key

Press and release with state=true then state=false:

Press Enter

bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/hid/events/send_key?key=Enter&state=true"'

bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/hid/events/send_key?key=Enter&state=false"'

Key Combo (e.g., Cmd+Space for Spotlight)

Press all keys in order, then release in reverse:

Press Cmd

bash -c 'curl -k -s -X POST -u "$PIKVM_AUTH" "${PIKVM_URL}/api/hid/events/send_key?key=MetaLeft&state=true"'

Press Space

bash -c 'curl -k -s -X POST -u "$PIKVM_AUTH" "${PIKVM_URL}/api/hid/events/send_key?key=Space&state=true"'

Release Space

bash -c 'curl -k -s -X POST -u "$PIKVM_AUTH" "${PIKVM_URL}/api/hid/events/send_key?key=Space&state=false"'

Release Cmd

bash -c 'curl -k -s -X POST -u "$PIKVM_AUTH" "${PIKVM_URL}/api/hid/events/send_key?key=MetaLeft&state=false"'

Mouse Scroll bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/hid/events/send_mouse_wheel?delta_x=0&delta_y=-50"'

Get Device Info bash -c 'curl -k -s \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/info"' | jq .

ATX Power Control

Power on

bash -c 'curl -k -s -X POST \ -u "$PIKVM_AUTH" \ "${PIKVM_URL}/api/atx/power?action=on"'

Power off

bash -c 'curl -k -s -X POST -u "$PIKVM_AUTH" "${PIKVM_URL}/api/atx/power?action=off"'

Hard reset

bash -c 'curl -k -s -X POST -u "$PIKVM_AUTH" "${PIKVM_URL}/api/atx/power?action=reset_hard"'

Common Key Names MetaLeft (Cmd), ControlLeft, AltLeft, ShiftLeft Enter, Space, Escape, Tab, Backspace, Delete ArrowUp, ArrowDown, ArrowLeft, ArrowRight KeyA-KeyZ, Digit0-Digit9, F1-F12 PageUp, PageDown, Home, End Equal (+), Minus (-)

API Endpoints Reference Endpoint Method Description /api/streamer/snapshot GET Screenshot (JPEG) /api/hid/print POST Type text (body: raw text) /api/hid/events/send_mouse_move POST Move mouse (to_x, to_y) /api/hid/events/send_mouse_button POST Click (button, state) /api/hid/events/send_mouse_wheel POST Scroll (delta_x, delta_y) /api/hid/events/send_key POST Key press (key, state) /api/atx/power POST Power control (action) /api/info GET Device info /api/atx GET ATX status API Reference Official docs: https://docs.pikvm.org/api/

返回排行榜