mcpField
P
pikvm

pikvm

github.com/okou-aiクラウド・DevOps81123 回インストール1 週間前に更新
リポジトリ

pikvm について

pikvmは、PiKVM APIで画面確認、キーボード・マウス操作、ATX電源制御を行うためのスキルガイドです。接続機器をリモート管理するワークフローに利用できます。

主な機能

  1. 01画面スナップショットの取得
  2. 02テキスト入力とキーの組み合わせ
  3. 03マウスの移動・クリック・スクロール
  4. 04デバイスとATX状態の確認
  5. 05デバイス電源の制御

活用シーン

  1. 01接続機器の画面をリモートで確認
  2. 02キーボードとマウスの操作
  3. 03デバイス情報と電源状態の確認

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/pikvmを入力して読み込まれたか確認します。

詳細

座標系

マウス座標は、画面の中心を原点(0,0)として使用します:

  • X が負の場合=左、X が正の場合=右
  • Y が負の場合=上、Y が正の場合=下

1920x1080 の画面の場合:

  • 左上:(-960, -540)
  • 中央:(0, 0)
  • 右下:(960, 540)

使用方法

スクリーンショットを撮る
curl -k -s -o /tmp/screenshot.jpg -u "$PIKVM_AUTH" "$PIKVM_URL/api/streamer/snapshot"
テキストを入力する

テキストは Content-Type: text/plain を指定し、リクエスト本文にそのまま送信する必要があります:

curl -k -s -X POST \
  -H "Content-Type: text/plain" \
  -u "$PIKVM_AUTH" \
  -d "Hello World" \
  "$PIKVM_URL/api/hid/print?limit=0"
マウスを移動する

絶対位置に移動します(0,0 = 画面の中心):

curl -k -s -X POST \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/hid/events/send_mouse_move?to_x=-500&to_y=-300"
マウスをクリックする
# Press
curl -k -s -X POST \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/hid/events/send_mouse_button?button=left&state=true"

# Release
curl -k -s -X POST \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/hid/events/send_mouse_button?button=left&state=false"
キーを押す

state=true の後に state=false を指定して、キーを押してから離します:

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

curl -k -s -X POST \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/hid/events/send_key?key=Enter&state=false"
キーの組み合わせ(例:Spotlight を開く Cmd+Space)

キーを順番にすべて押してから、逆順に離します:

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

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

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

# Release Cmd
curl -k -s -X POST -u "$PIKVM_AUTH" "$PIKVM_URL/api/hid/events/send_key?key=MetaLeft&state=false"
マウスをスクロールする
curl -k -s -X POST \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/hid/events/send_mouse_wheel?delta_x=0&delta_y=-50"
デバイス情報を取得する
curl -k -s \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/info" | jq .
ATX 電源を制御する
# Power on
curl -k -s -X POST \
  -u "$PIKVM_AUTH" \
  "$PIKVM_URL/api/atx/power?action=on"

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

# Hard reset
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 (-)

API エンドポイントのリファレンス

エンドポイントメソッド説明
/api/streamer/snapshotGETスクリーンショット(JPEG)
/api/hid/printPOSTテキストを入力(本文:テキストそのまま)
/api/hid/events/send_mouse_movePOSTマウスを移動(to_x、to_y)
/api/hid/events/send_mouse_buttonPOSTクリック(button、state)
/api/hid/events/send_mouse_wheelPOSTスクロール(delta_x、delta_y)
/api/hid/events/send_keyPOSTキーを押す(key、state)
/api/atx/powerPOST電源を制御(action)
/api/infoGETデバイス情報
/api/atxGETATX のステータス

API リファレンス

コメント