pikvm_skill
- Shell
39
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill vm0-ai/vm0-skills --skill pikvm- SKILL.md4.6 KB
Overview
This skill provides remote KVM control using the PiKVM REST API to interact with a remote computer’s keyboard, mouse, display, and power management. It exposes commands to capture screenshots, move and click the mouse, type text, send key presses and combinations, scroll, and control ATX power. Use standard curl-based examples to integrate PiKVM actions into scripts, automation, or chatops workflows.
How this skill works
The skill issues HTTP requests to PiKVM API endpoints, authenticating via basic auth and using the streamer, hid, and atx endpoints. Mouse coordinates are absolute relative to the screen center (0,0), and key events are sent as press (state=true) and release (state=false) pairs. Screenshots are returned as JPEG, text input uses raw text bodies, and power control uses action parameters.
When to use it
- Capture a remote screen for diagnostics or monitoring
- Automate UI interactions on a headless or remote machine
- Send keyboard shortcuts that are not available through remote desktop
- Perform remote power operations (on, off, reset)
- Integrate PiKVM control into CI/CD or maintenance scripts
Best practices
- Set PIKVM_URL and PIKVM_AUTH as environment variables and wrap piped commands in bash -c to avoid variable loss
- Always send key press then release (state=true then state=false) to avoid stuck keys
- Use center-based coordinates; convert screen pixels to signed X/Y with center as origin
- Limit screenshot frequency to avoid network load; fetch JPEGs only when needed
- Protect credentials and use HTTPS; rotate default admin:admin credentials immediately
Example use cases
- Take a snapshot before and after a configuration change to verify UI state
- Script a login sequence by moving the mouse, clicking a field, and typing credentials (in secure environments)
- Trigger a remote Ctrl+Alt+Del or Cmd+Space to access system-level tools
- Remotely power-cycle a hung server using ATX power actions
- Combine screenshot and OCR to build remote monitoring alert pipelines
FAQ
Press each key in order with state=true, then release them in reverse order with state=false using the send_key endpoint.
What coordinate system does mouse movement use?
Coordinates are absolute relative to the screen center: (0,0) is center, negative X is left, negative Y is up.