pikvm

PiKVM API for remote KVM. Use when user mentions "PiKVM", "KVM over IP", "remote server", or hardware management.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pikvm" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-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

  1. Access your PiKVM web interface
  2. Default credentials: admin:admin

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

curl -k -s -o /tmp/screenshot.jpg -u "$(printenv PIKVM_AUTH)" "$(printenv PIKVM_URL)/api/streamer/snapshot"

Type Text

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

curl -k -s -X POST \
  -H "Content-Type: text/plain" \
  -u "$(printenv PIKVM_AUTH)" \
  -d "Hello World" \
  "$(printenv PIKVM_URL)/api/hid/print?limit=0"

Move Mouse

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

curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv PIKVM_URL)/api/hid/events/send_mouse_move?to_x=-500&to_y=-300"

Mouse Click

# Press
curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv PIKVM_URL)/api/hid/events/send_mouse_button?button=left&state=true"

# Release
curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv 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
curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv PIKVM_URL)/api/hid/events/send_key?key=Enter&state=true"

curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv 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
curl -k -s -X POST -u "$(printenv PIKVM_AUTH)" "$(printenv PIKVM_URL)/api/hid/events/send_key?key=MetaLeft&state=true"

# Press Space
curl -k -s -X POST -u "$(printenv PIKVM_AUTH)" "$(printenv PIKVM_URL)/api/hid/events/send_key?key=Space&state=true"

# Release Space
curl -k -s -X POST -u "$(printenv PIKVM_AUTH)" "$(printenv PIKVM_URL)/api/hid/events/send_key?key=Space&state=false"

# Release Cmd
curl -k -s -X POST -u "$(printenv PIKVM_AUTH)" "$(printenv PIKVM_URL)/api/hid/events/send_key?key=MetaLeft&state=false"

Mouse Scroll

curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv PIKVM_URL)/api/hid/events/send_mouse_wheel?delta_x=0&delta_y=-50"

Get Device Info

curl -k -s \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv PIKVM_URL)/api/info" | jq .

ATX Power Control

# Power on
curl -k -s -X POST \
  -u "$(printenv PIKVM_AUTH)" \
  "$(printenv PIKVM_URL)/api/atx/power?action=on"

# Power off
curl -k -s -X POST -u "$(printenv PIKVM_AUTH)" "$(printenv PIKVM_URL)/api/atx/power?action=off"

# Hard reset
curl -k -s -X POST -u "$(printenv PIKVM_AUTH)" "$(printenv 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

EndpointMethodDescription
/api/streamer/snapshotGETScreenshot (JPEG)
/api/hid/printPOSTType text (body: raw text)
/api/hid/events/send_mouse_movePOSTMove mouse (to_x, to_y)
/api/hid/events/send_mouse_buttonPOSTClick (button, state)
/api/hid/events/send_mouse_wheelPOSTScroll (delta_x, delta_y)
/api/hid/events/send_keyPOSTKey press (key, state)
/api/atx/powerPOSTPower control (action)
/api/infoGETDevice info
/api/atxGETATX status

API Reference

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
1.2K-vm0-ai
General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
247-vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
215-vm0-ai
General

serpapi

No summary provided by upstream source.

Repository SourceNeeds Review
170-vm0-ai