PiKVM
by @didyouexpectthat
Control and inspect PiKVM devices over the PiKVM HTTP API. Use when asked to operate a PiKVM, query power or HID status, type text or shortcuts remotely, tak...
clawhub install pikvmπ About This Skill
name: pikvm-control description: Control and inspect PiKVM devices over the PiKVM HTTP API. Use when asked to operate a PiKVM, query power or HID status, type text or shortcuts remotely, take snapshots or OCR the host screen, manage virtual media, or control PiKVM switch ports. Supports per-request auth using X-KVMD headers or basic auth, plus session login if needed. version: 1.0.1 metadata: openclaw: requires: env: - PIKVM_URL - PIKVM_USER - PIKVM_PASS - PIKVM_VERIFY_SSL - PIKVM_USE_BASIC_AUTH bins: - python3 primaryEnv: PIKVM_PASS homepage: https://docs.pikvm.org/api/
PiKVM Control
Use this skill when the user wants to interact with a PiKVM-managed machine or PiKVM hardware.
What this skill covers
Read references/api-reference.md for endpoint details and parameter notes.
Safety rules
Treat these actions as high impact and get explicit user approval before performing them unless the user already clearly requested the exact action in the current conversation:
For read-only requests, proceed without extra confirmation.
Environment and auth
Prefer these environment variables when running the script:
PIKVM_URL β base URL like https://pikvm.local or https://10.0.0.7PIKVM_USERPIKVM_PASSPIKVM_VERIFY_SSL β true or falsePIKVM_USE_BASIC_AUTH β true to use HTTP Basic Auth instead of X-KVMD-User / X-KVMD-PasswdNotes:
X-KVMD-User and X-KVMD-Passwd headers, or HTTP Basic Auth.Default workflow
1. Validate that PIKVM_URL, PIKVM_USER, and PIKVM_PASS are available.
2. Start with a read-only request such as info, atx-state, streamer-state, msd-state, or switch-state.
3. Summarize the current state before taking action.
4. For write operations, restate the exact action being taken.
5. After any state-changing action, re-read the relevant state endpoint and report the result.
Script
Use scripts/pikvm_api.py.
Common examples:
python scripts/pikvm_api.py info
python scripts/pikvm_api.py atx-state
python scripts/pikvm_api.py atx-power --action on
python scripts/pikvm_api.py atx-click --button reset
python scripts/pikvm_api.py hid-print --text "reboot\n" --slow
python scripts/pikvm_api.py hid-shortcut --keys ControlLeft,AltLeft,Delete
python scripts/pikvm_api.py snapshot --save-path /tmp/pikvm.jpg
python scripts/pikvm_api.py ocr --langs eng
python scripts/pikvm_api.py msd-state
python scripts/pikvm_api.py msd-set --image debian.iso --cdrom true --rw false
python scripts/pikvm_api.py msd-connect --connected true
python scripts/pikvm_api.py switch-active --port 2
python scripts/pikvm_api.py switch-atx-power --port 2 --action reset_hard
When to use which operation
Read-only inspection
info β general PiKVM/device metadataatx-state β current power LED/busy statestreamer-state β stream and capture healthmsd-state β mounted image and storage availabilityswitch-state β PiKVM Switch overviewInput control
hid-print for plain text entryhid-shortcut for combinations like Ctrl+Alt+Deletehid-key for a single key pressmouse-button / mouse-move for pointer actionsScreen capture
snapshot to save a JPEG locallyocr to extract visible text from the host screenPower and media
atx-power for requested state changes (on, off, off_hard, reset_hard)atx-click to emulate case buttonsmsd-set to choose image and drive flagsmsd-connect to attach or detach the virtual drive from the hostSwitch environments
switch-active to select a target portswitch-atx-power for port-specific power controlReporting style
When using this skill in an agent workflow: