Loading...
Loading...
Remote KVM control via PiKVM REST API. Use for controlling remote computers through PiKVM - taking screenshots, moving mouse, clicking, typing text, pressing keys, keyboard shortcuts, scrolling, or power management.
npx skill4agent add vm0-ai/vm0-skills pikvmexport PIKVM_URL=https://pikvm.example.com
export PIKVM_AUTH=admin:adminadmin:adminImportant: When usingin a command that pipes to another command, wrap the command containing$VARin$VAR. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c '...'
(-960, -540)(0, 0)(960, 540)bash -c 'curl -k -s -o /tmp/screenshot.jpg -u "$PIKVM_AUTH" "${PIKVM_URL}/api/streamer/snapshot"'Content-Type: text/plainbash -c 'curl -k -s -X POST \
-H "Content-Type: text/plain" \
-u "$PIKVM_AUTH" \
-d "Hello World" \
"${PIKVM_URL}/api/hid/print?limit=0"'bash -c 'curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"${PIKVM_URL}/api/hid/events/send_mouse_move?to_x=-500&to_y=-300"'# 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"'state=truestate=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"'# 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"'bash -c 'curl -k -s -X POST \
-u "$PIKVM_AUTH" \
"${PIKVM_URL}/api/hid/events/send_mouse_wheel?delta_x=0&delta_y=-50"'bash -c 'curl -k -s \
-u "$PIKVM_AUTH" \
"${PIKVM_URL}/api/info"' | jq .# 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"'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 (-)| Endpoint | Method | Description |
|---|---|---|
| GET | Screenshot (JPEG) |
| POST | Type text (body: raw text) |
| POST | Move mouse ( |
| POST | Click ( |
| POST | Scroll ( |
| POST | Key press ( |
| POST | Power control ( |
| GET | Device info |
| GET | ATX status |