kvm-pilot について
kvm-pilotは、KVM、BMC、ファームウェア、SSHを通じて物理マシンを操作するエージェント向けのMCPサーバーとCLIです。画面から起動段階を判定し、対象マシンにエージェントを置かずに、承認・監査付きの操作を行います。
主な機能
- 01KVM、BMC、SSH経由のマシン制御
- 02起動段階に基づく画面判定
- 03デバイス状態、ログ、イベントの取得
- 04破壊的操作への承認ゲート
- 05ローカルまたはClaudeのビジョンバックエンド
- 06CLI、Pythonクライアント、MCPサーバー
活用シーン
- 01ヘッドレスマシンへのOSインストール
- 02リモート物理ホストの調査や復旧
- 03起動段階を待って手順を自動化
- 04ドライランでハードウェア操作を確認
MCP 対応
MCPサーバーはKVM、BMC、ファームウェア、SSH各層の読み取り・操作ツールを公開します。破壊的な操作にはオペレーターによる有効化と個別承認が必要で、読み取り専用モードもあります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx kvm-pilotKVM_PILOT_PROFILEProfile name from ~/.config/kvm-pilot/config.toml naming the KVM/BMC to targetKVM_PILOT_MCP_READ_ONLYLeast-privilege posture: only read-only tools are registered; effect gates force-closed. Recommended for first contact (set to 1)KVM_PILOT_MCP_DRY_RUNRehearsal posture: destructive calls are logged, never sent (set to 1)KVM_PILOT_MCP_ALLOW_POWEROperator opt-in enabling power control of the managed host (per-effect gate; see also _ALLOW_HID, _ALLOW_MEDIA, _ALLOW_SSH, _ALLOW_APPLIANCE, _ALLOW_EXTERNAL_WRITE)KVM_PILOT_HOSTDevice address (KVM/BMC) when not using a config-file profileKVM_PILOT_USERDevice username when not using a config-file profileKVM_PILOT_PASSWDシークレットDevice password when not using a config-file profile (KVM_PILOT_HOST / KVM_PILOT_USER accompany it)ANTHROPIC_API_KEYシークレットOptional: enables server-side vision for classify_screen / wait_for_state; without it, classification falls back to the calling agentローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
34掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| profile | any | いいえ |
詳細
kvm-pilot
AI エージェントのためのスマートな操作支援。 書き込みに対応した、マルチプレーン (KVM + BMC + SSH)の MCP サーバーで、物理マシンを制御します — ゲート制御、検証、監査に対応しています。
kvm-pilot を使えば、エージェントは対象マシン上にエージェントを配置せずに、ヘッドレスマシンを POST、ファームウェア、ブートローダー、OS のインストールまで操作できます。IP-KVM(PiKVM、GL.iNet GLKVM のフォークである GL-RM1 / GL-RM1PE、BliKVM)を通じてピクセルレベルで操作し、BMC(iDRAC/iLO/OpenBMC 上の Redfish、Redfish より前の BMC での IPMI)を通じて構造化状態レベルで操作し、Intel AMT/vPro を通じてファームウェアレベルで操作します(HDMI キャプチャ KVM では起動を確認できないビジネスノート PC で、BIOS/POST/GRUB のスクリーンショット、電源操作、SOL を利用できます)。OS 起動後は SSH で操作します。プラグイン可能なビジョンサブシステムが KVM のスクリーンショットを読み取り、マシンの起動フェーズを bios_menu、grub_menu、installer_progress、login_prompt、crash_screen などに分類します。安全レイヤーにより、すべての破壊的操作はオペレーターのオプトインと呼び出しごとの承認を必須とします。
ビジョン機能は Claude またはローカルの OpenAI 互換 VLM(LM Studio、 Ollama、vLLM、llama.cpp)で動作します。自分の GPU 上のモデルを指定すれば、 スクリーンショットがネットワーク外に送信されることはなく、フレームごとの料金もかかりません。
仕組み
kvm-pilot は 見る → 判断する → 実行する のループで動作し、唯一のセンサーとして画面を使います。
KVM からスクリーンショットを取得し、ビジョンモデルが起動フェーズを分類し、
kvm-pilot が KVM のキーボードと電源を通じて操作します。ピクセルレベルで動作するため、
対象マシン上にエージェントは不要です — 同じループで POST、
ファームウェア、ブートローダー、OS のインストールを操作できます。
ホームフリートの GLKVM で実行した、編集なしの実際の操作例です — 正直な事前チェック、 ヘッドレススナップショット(オンデマンドエンコーダーが起動する様子を確認できます)、ゲート制御されたドライランの電源サイクル、 そしてエージェントが実際に見た起動コンソールを紹介します。

クイックスタート
1 回のインストールで製品一式を利用できます — kvm-pilot CLI、
kvm-pilot-mcp MCP サーバー、同梱の Claude スキルが含まれます —
リポジトリのクローンは不要です。
pip install kvm-pilot # CLI + skill + MCP server + WebSocket events
pip install "kvm-pilot[totp]" # + 2FA / TOTP support (pyotp)
kvm-pilot install-skill # optional: put the bundled skill where Claude Code loads it
AI エージェントから KVM を操作する(MCP)
claude mcp add kvm-pilot -s user \
-e KVM_PILOT_PROFILE=mykvm -e KVM_PILOT_MCP_READ_ONLY=1 -- \
kvm-pilot-mcp
KVM_PILOT_MCP_READ_ONLY=1 は、信頼度を段階的に高めていくうえで最初に設定することを推奨します。ハードウェアが検証されるまでは、エージェントはすべてを確認できますが、何にも触れられません。Getting started guideでは、認証情報、Claude Desktop の JSON 設定、プロンプトの例、信頼度を高めていく手順を説明しています。このサーバーは公式のMCP registryに io.github.DustinTrap/kvm-pilot として公開されているため、レジストリ対応ホストでは名前を指定して検出、インストールできます。エージェント向けに、リポジトリのルートにはドキュメントマップのllms.txtがあります。
Python からのスクリプト実行
from kvm_pilot import KVMClient
from kvm_pilot.vision import ScreenAnalyzer, make_backend
kvm = KVMClient("192.168.8.1", "admin", "secret")
# Classify the current screen with Claude (model auto-resolved at runtime)
analyzer = ScreenAnalyzer(kvm, make_backend("anthropic"))
print(analyzer.classify().phase)
# Or run entirely on a local VLM — nothing leaves your network
local = make_backend("local", base_url="http://127.0.0.1:1234/v1", model="qwen2.5-vl-7b")
analyzer = ScreenAnalyzer(kvm, local)
# Block until the box reaches the GRUB menu, then pick the first entry
analyzer.wait_for_state("grub_menu", timeout=120)
kvm.press_key("Enter")
最新の未リリースツリーを使用する場合:
pip install "kvm-pilot[totp] @ git+https://github.com/DustinTrap/kvm-pilot"
CLI
kvm-pilot info --host 192.168.8.1 --user admin --ask-passwd # prompt (no echo)
kvm-pilot capabilities --profile homelab # what this driver supports
kvm-pilot snapshot screen.jpg --profile homelab
kvm-pilot --timeout 60 power-cycle --profile homelab --dry-run # log, don't send
kvm-pilot eject --profile homelab # detach virtual media
kvm-pilot events --profile homelab --count 5 # stream device events
kvm-pilot watch grub_menu --profile homelab \
--backend local --vision-url http://127.0.0.1:1234/v1 --vision-model qwen2.5-vl-7b
CLI は、破壊的な操作(電源、仮想メディア(アップロードを含む)、キーボード/マウスの入力、GPIO)の前に確認を求めます。自動化で確認を省略するには --yes を、操作を送信せずに実行予定の内容を記録するには --dry-run を使用します。dry-run はプロンプトが表示される前に処理を終了するため、入力待ちで停止することはありません。--timeout(HTTP リクエストごとのタイムアウト)はグローバルフラグで、サブコマンドの前に指定します。watch では、ビジョンの待機期限を指定する独自の --timeout を使用します。
homelab などのプロファイルは ~/.config/kvm-pilot/config.toml に保存されます。すべてのサブコマンド、必要な機能、適用される制限をまとめたコマンド一覧はdocs/cli.mdを、設定ファイルの形式、すべての KVM_PILOT_* 環境変数、フラグ・環境変数・プロファイルの優先順位はdocs/configuration.mdをご覧ください。
GLKVM のセットアップに関する注意: GL.iNet ファームウェアでは PiKVM REST API はデフォルトで無効になっており、ファームウェアのアップグレード後に再び無効になることがあります。まずすべての
/api/*呼び出しが 404 を返す場合の手順に従って有効にしてください。
プレーン別のツール一覧
同じ機能プロトコルが 3 つの操作プレーンにまたがるため、1 つのエージェントワークフローでピクセル、構造化された BMC 状態、シェルアクセスを組み合わせられます。破壊的な操作はすべて、種類ごとに制限されます。
| プレーン | 読み取り | 操作(オペレーターの承認が必要) |
|---|---|---|
| KVM — ピクセルと HID(PiKVM · GLKVM · BliKVM) | snapshot · classify_screen · wait_for_state · power_state · logs · list_virtual_media | power · type_text / press_key / send_shortcut / mouse · calibrate_mouse · mount_iso / eject |
| BMC — 構造化された状態(Redfish · IPMI) | info · boot_options · logs(SEL)· センサー(CLI) | power · set_boot_device · SOL コンソール(CLI console) |
| ファームウェア — Intel AMT/vPro(両方のプレーンにまたがる) | info · snapshot(ファームウェア BIOS/POST/GRUB)· boot_options · power_state | power · set_boot_device · type/mouse · SOL(console)· amt_enable(SOL/KVM リスナーを開く) |
| SSH — インバンドおよびアプライアンス | ssh_reachable · appliance_status · access_paths | ssh_exec · host_exec(ssh/winrm を自動選択)· wake(WoL)· appliance_reboot |
| メタ — 証跡と受付 | capabilities · support_matrix · healthcheck | file_firmware_report |
KVM も BMC もまったくないマシンも、第一級の対象として扱えます。driver = "ssh" と ssh_host(マシン自身のアドレス、#248)を指定すると、kvm-pilot は復旧ラダーのインバンド段階で動作します。デバイス機能がないことを正直に示し、そこにはアウトオブバンドの復旧経路がないとヘルスチェックで明確に報告します。
注釈、操作制限、承認のライフサイクルを含むツールごとの正式なリファレンスはMCP サーバー READMEをご覧ください。CLI で扱えるすべての機能はdocs/cli.mdに記載されています。
ステータスと成熟度
ステータス:1.0、一般提供 — ただし、実行台帳で確認できた範囲に限ります。それ以上ではありません。3 種類のデバイスで実機動作を確認しています(GL-RM1PE、iDRAC6/IPMI 経由の Dell R710、Intel AMT 経由の Dell Latitude 5411)。7 つのデバイスドライバーのうち 3 つ(
redfish、pikvm、blikvm)は、これまでエミュレーターでしか実行されていません。実際にテストされた内容については、 ハードウェア互換性リスト をご覧ください。ぜひ情報を追加してください。(正確なバージョンは CHANGELOG に記載されています。) 中核となる経路は、モックのみの検証から実機検証済みへと進みました。GL-RM1PE のフリートでは、2 系統のファームウェアにわたってsnapshot/healthcheck/logs/power_state/virtual_media/infoを実機で検証しています。V1.9.1 では、配布ホイールに含まれる実行台帳により、info/logs/healthcheck/power_stateは ga、snapshotは rc、virtual_mediaは beta と評価されています。これらはすべて実際の実行結果に基づいており、手作業で編集されたものではありません。また、Dell iDRAC6 では IPMI ドライバーを使った一連の実機検証を完了しています(電源、起動デバイス、センサー、イベントログ、SOL シリアルコンソール)。危険を伴う可能性のある経路には強化策を施しています。トランスポートは破壊的リクエストを再送せず、MCP の承認は監査証跡付きの署名済み単回使用レシートです。また、破壊的な操作(電源、HID、メディア、起動設定、アプライアンス、SSH、外部への書き込み)には、それぞれ個別のオペレーターによるオプトインゲートを設けています。最近のベータ版では、リモート起動デバイス制御(Redfish、IPMI、帯域内efibootmgr)、Wake-on-LAN、Redfish より前の世代の BMC に対応する IPMI ドライバー、シリアル(SOL)コンソール、マウスの自動キャリブレーション、ヘッドレス時のネイティブ解像度 GLKVM スナップショットを追加しました。kvm-pilot test-reportを使うと、コントリビューションの検証情報を 1 つのコマンドにまとめられます。また、ファームウェアレジストリは自動更新されます(firmware-checkがレジストリの更新を自動登録します)。 今必要なのは、皆さんのハードウェアです。 PiKVM、BliKVM、その他の GLKVM モデル、Redfish 対応 BMC(iDRAC/iLO/OpenBMC)は、互換性マトリクスで特に情報を必要としています。成功でも失敗でも、 ハードウェアレポート の提出にかかる時間は 2 分ほどです。あとは毎時の取り込み処理が行います。 ハードウェア互換性リスト でテスト済みとされていないものは、すべて未検証です。1.x 系では公開 API の安定性を保ちますが、評価は実機テストの結果が得られた場合にのみ変わります。GL-RM1PE でリモートのファームウェア書き込みが何も行わない点に注意してください (#94/#95)。また、予期せぬ電源再投入が許容できないマシンに、破壊的な操作を実行しないでください。互換性をご覧ください。
起動フェーズの検出
ビジョンクラシファイアは各スクリーンショットを フェーズ に分類します。たとえば、bios_menu、
grub_menu、installer_progress、login_prompt、crash_screen などです。
wait_for_state() は画面をポーリングし、指定したフェーズが表示されるまで待機します(またはタイムアウトします)。そのため、無人インストールは、アクションを挟みながら数回待機するだけで実行できます。
センシングモデル
画面を読み取る方法として、ビジョンは最もコストが高い方法です。フレームごとにモデルを呼び出します。また、推測される情報の大半(電源状態、起動フェーズ、稼働状態、クラッシュ)は、フィールド、イベント、またはテキストの行としても取得できます。kvm-pilot では、分類を階層として扱います。デバイスが提供する最も低コストなシグナルから答えを導き、より低コストな方法がなくなった場合に限り、OCR、そして最後にビジョンモデルへと進みます。
PiKVM/GLKVM クライアントは、すでに低コストなシグナルを提供しています。ATX および HID の LED、ビデオ信号と解像度、デバイス上の OCR(?ocr=true)、ログ、Prometheus メトリクス、WebSocket イベントストリームです。機能プロトコルでは、BMC ドライバー(Redfish/IPMI)用の接続点として、Logs、BootProgress、Sensors、SerialConsole、Watchdog、BootConfig を追加します。ここでは、起動フェーズは構造化された列挙値(BootProgress.LastState)であり、コンソールはピクセルではなくシリアルテキストストリームです。デバイスの種類ごとに強みはほぼ相補的です。キャプチャーデバイスはピクセルに強く、BMC は構造化状態とシリアルテキストに強いです。
安全性モデル
電源オフ、ハードリセット、仮想メディアの接続/切断とイメージのアップロード、キーボード/マウス入力(type_text、press_key、ショートカット、クリック)、GPIO、起動設定の変更、Redfish/IPMI リセットは破壊的操作に分類され、安全性レイヤーを通過します。
- ドライランが最初に処理され、呼び出しを短絡します。実行予定の呼び出しを記録して完全にスキップするため、確認コールバックは呼び出されず、ドライランでプロンプトが表示されたり、処理がブロックされたりすることはありません。
- 確認 — 実際に送信される破壊的呼び出しを拒否できるコールバックです。ライブラリのデフォルトではすべての呼び出しが許可されるため、通常のスクリプトはそのまま動作します。CLI では、
--yesを渡さない限り、対話型のy/Nプロンプトが設定されます。
破壊的操作の一覧は kvm_pilot.safety.DESTRUCTIVE_OPS で明示的に定義されているため、推測ではなく監査が可能です。ビジョンによる分類が、それ単独で破壊的操作を実行することはありません。実行する場合は独自に接続する必要があり、その場合も安全性レイヤーが適用されます。MCP 側では、破壊的な効果クラスごとに、オペレーターによるオプトインの環境変数ゲートに加え、署名付きの単回使用レシートに基づく呼び出しごとの承認が必要です。この信頼レベル(READ_ONLY → DRY_RUN → 効果ごとの ALLOW_*)は、MCP サーバーの READMEに図示されています。
このソフトウェアは実際のハードウェアを制御し、稼働中のマシンの電源を切ったり、動作を中断したりできます。KVM をインターネットに公開する前に、SECURITY.mdをお読みください。
モデルバージョンのハードコードなし
コード内にモデルバージョン文字列はありません。Anthropic バックエンドは、実行時に Models API を使って最新のビジョン対応モデルを解決し、キャッシュします。モデルを固定するには、KVM_PILOT_VISION_MODEL を設定するか、model= を渡します。ローカルバックエンドは、サーバーに読み込んだモデルを使用します。バックエンド、エンドポイント、モデルはご自身で用意してください。
他のクライアントとの違い
pikvm-lib は、汎用的な PiKVM クライアントとして優れています。kvm-pilot は、別の用途を想定しています。
- ビジョンベースの起動フェーズ検出 — スクリーンショットから BIOS/GRUB/インストーラー/クラッシュの状態を分類し、ブロッキング方式の
wait_for_stateループで待機します。これが中核機能であり、pikvm-libに同等の機能はありません。 - ローカルまたはクラウドの VLM を選択可能 — 1フレームごとのコストなしで自分の GPU 上で推論を実行するか、Claude 上で実行できます。
- 破壊的な操作を保護する安全レイヤー(ドライラン+確認)。
- GLKVM フォークへの対応 — API を有効にする前提条件と、GL-RM1PE ユーザーを悩ませる GL ハードウェアの癖について説明します。
- 標準ライブラリのみのクライアントコア — ドライバー/ビジョンコードは標準ライブラリのみをインポートします(同梱の MCP サーバーは
mcpSDK を使用します。追加機能はオプトインです)。
標準の PiKVM に対する電源と HID のスクリプトを作成したいだけで、ビジョンレイヤーが不要であれば、pikvm-lib のほうがシンプルな選択肢かもしれません。
BMC 側では、sushy、DMTF の
python-redfish-library、および
pyghmi(IPMI)は、成熟した、はるかに包括的な BMC 管理 SDK です。アカウント/ファームウェア/ネットワークの設定、EventService サブスクリプション、または実績に裏付けられた成熟度が必要であれば、これらを使用してください。kvm-pilot はその包括性と引き換えに、デバイスクラス(同じプロトコルを使用する IP-KVM と BMC)を横断する統一された機能セット、すべての破壊的な呼び出しを制御する同じ安全レイヤー、および画面を持つデバイスでのビジョンループを提供します。
互換性
| デバイス | ステータス |
|---|---|
| GL-RM1PE (Comet PoE) | 主な対象 — 実機で動作確認済み:ファームウェア V1.5.1 release2 と V1.9.1 release1 で read/healthcheck/logs を確認済み。V1.9.1 では snapshot も確認済み(V1.5.1 では明確なエラーが発生して失敗します — H.264 フレームをデコードできません、#107/#151)。リモートフラッシュは何もしません(#94/#95)。エンコーダーは 1080p を超えると動作しなくなります(#107) |
| Dell iDRAC6 — IPMI (PowerEdge R710) | 実機で動作確認済み:ipmitool lanplus 経由で、電源/起動デバイス/センサー/イベントログ(SEL)/SOL シリアルコンソールをすべて確認済み(ファームウェア 1.95) |
| Dell Latitude 5411 — Intel AMT/vPro | 実機で動作確認済み(AMT 14.1.67):WS-Man による電源/情報/1回限りの起動、リモート SOL と KVM の有効化、および KVM リダイレクト経由の 1920×1080 BIOS/POST スクリーンショット — HDMI キャプチャ KVM では見られない、ノート PC のファームウェア画面です。グラフィカル画面のみキャプチャします(従来型 VGA テキストモードは対象外) |
| GL-RM1 (Comet) | 動作する見込み(同じファームウェア系列)。未テスト |
| PiKVM v3 / v4 | 動作する見込み(上流 API)。未テスト |
| BliKVM | 動作する見込み(PiKVM 互換 API)。未テスト |
| Redfish BMC(iDRAC7+、iLO、OpenBMC) | エミュレーターで検証済み(リポジトリ内のエミュレーターと CI の DMTF sushy-tools を使用)。実機 BMC での検証は未完了(#29) |
これまでに実機で動作確認した組み合わせは、GL-RM1PE(読み取り/スナップショット機能)、IPMI 経由の Dell iDRAC6、Intel AMT 経由の Dell Latitude 5411 です。それ以外は、検証待ちの「動作する見込み」の段階です。 ハードウェア互換性リスト が、機能ごとの正式な記録です。ATX 電源制御には、ATX アダプターを対象機器のフロントパネルヘッダーに接続する必要があります。GL Comet ファミリー (GL-RM1 / GL-RM1PE)では、GL.iNet が別売りする ATX ボード(GL-ATXPC)が必要です。一方、PiKVM v3/v4 キットには ATX アダプターが付属し、BliKVM はモデルによって同梱品が異なるため、ご使用の製品をご確認ください。ATX 配線がない場合、ATX の呼び出しはデバイスからエラーを返します。 いずれのハードウェアについても、成功・失敗の報告がこのプロジェクトにとって大きな助けになります。ハードウェアレポートを作成してください。
アーキテクチャ
kvm-pilot はモジュール式のドライバープラグインアーキテクチャを採用しており、さまざまな KVM/BMC デバイス(PiKVM ファミリー、Redfish BMC、IPMI BMC、JetKVM など)への対応を拡張できます。各デバイスが実装するのは、ハードウェアがサポートする機能プロトコルのみです。CLI、安全レイヤー、ビジョンサブシステムはデバイスに依存しません。make_backend を踏襲した make_driver(kind) レジストリが名前でドライバーを構築し、ハードウェア不要の FakeDriver を使えば、デバイスがなくても機能、安全性のゲート、アナライザーを含む全体の流れを実行できます(kvm-pilot capabilities --driver fake)。設計と図については、docs/architecture.md を参照してください。
RedfishDriver(make_driver("redfish"))は、単一の標準ライブラリーのみのクライアントで DMTF Redfish API を使用し、サーバーの BMC(Dell iDRAC、HPE iLO、Supermicro、Lenovo XCC、OpenBMC)と通信します。これは機能を分割する理由を示しています。BMC の機能セットは PiKVM のものと相補的であり、構造化された状態(電源、起動フェーズ、センサー、ログ、仮想メディア)には強い一方で、キーボード、マウス、スクリーンショットには対応していません。また、ベンダー ID をハードコードするのではなく Redfish のハイパーメディアに従うことで、ドライバーの移植性を保っています。
from kvm_pilot.drivers import make_driver
bmc = make_driver("redfish", host="idrac.lan", user="root", passwd="…")
bmc.get_boot_progress() # 'os_running' — structured, no screenshot
bmc.read_sensors()["temperatures"]
bmc.power_off(wait=True) # mapped to the target's actual ResetType, gated
IpmiDriver(make_driver("ipmi"))は、Redfish より前の BMC(例:Dell iDRAC6)を対象に、システムの ipmitool 経由で、電源、起動デバイス制御、センサー、SEL イベントログ、SOL シリアルコンソール(kvm-pilot console)を提供します。どちらも CLI から利用できます(kvm-pilot info --driver redfish --host idrac.lan …)。BMC が対応できない機能固有のサブコマンド(type、snapshot、events)は、クラッシュせずに正常に失敗します。SessionService のないエンドポイント(エミュレーター、またはセッション認証が無効な BMC)には、--redfish-auth basic を追加してください。
AmtDriver(make_driver("amt"))は、Intel AMT/vPro 搭載のノート PC とデスクトップ PC を、AMT のネイティブプロトコルである WS-Man(電源/情報/単回使用ブート)、SOL(kvm-pilot console)、KVM リダイレクションを介して帯域外で管理します。すべて標準ライブラリーのみで実装されています。これは Video と HID を備えた初の PiKVM 以外のドライバーです。snapshot を使うと、ノート PC の HDMI をキャプチャー KVM では起動時に確認できないマシンでも、ファームウェアレベルの実際のBIOS/POST/GRUB スクリーンショットを取得できます。SOL と KVM のリスナーは WS-Man 経由でリモートから起動できます(kvm-pilot amt enable-sol/enable-kvm)。MEBx を操作する必要はありません。
形にするのを手伝ってください — ここから皆さんの出番です
kvm-pilot はオープンに開発されています。1.0 は 3 種類のデバイスでの検証をもとにリリースされましたが、今なお必要なのはコードではなく、実機の幅広い検証です。7 つあるドライバーのうち 3 つ(redfish、pikvm、blikvm)は、エミュレーターでしか動作させたことがなく、実機では一度も検証されていません。表示されている評価はすべて、手動で設定したものではなく、wheel に同梱される実行記録から算出されます。そのため、誰かが実機で実行してはじめて、マトリックスが拡充されます。その誰かは、あなたかもしれません。
最も価値のあるご協力は、ハードウェアレポートを送ることです。ハードウェアレポートをご利用ください。kvm-pilot test-report --profile <name> を使えば、1 つのコマンドで作成できます。デフォルトでは読み取り専用で、1 時間ごとのジョブが結果を公開済みの互換性マトリックスに反映します。**成功だけでなく、失敗の報告も大歓迎です。**お使いの BMC でドライバーが確信を持って誤った結果を返す場合、正常に動作したという報告よりも有用です。重要な報告として扱い、見過ごすことはありません。
ほかにも、ぜひご協力ください。
- ⭐ アイデアが役に立つと思ったら、リポジトリにスターを付けてください。この問題を解決する価値があることを示す最も手軽なサインであり、マトリックスに必要なハードウェアを持つ運用担当者の参加にもつながります。
- 🐛 バグ、デバイスの予期しない動作、わかりにくいエラー、内容が間違っていたドキュメントなど、どんなことでもイシューを作成してください。このリポジトリは「発見事項ごとにイシューを作成」する方針です。イシューが正式な記録単位であり、「エラーメッセージに対処方法が書かれていなかった」という報告も歓迎します。
- 💬 **何が間違っていたか教えてください。**安全モデル、承認フロー、ツールの構成を確認し、デフォルト設定にも遠慮なく異議を唱えてください。エージェントがお使いのマシンで予想外のことをした場合、それこそが、ほかのすべての人にとって安全なものにするための貴重なフィードバックです。
- 🔌 **お使いのデバイスへの対応をリクエストしてください。**ドライバーがない、BMC が未対応、聞いたことのない KVM がある場合は、ドライバーの追加をリクエストしてください。プラグインアーキテクチャを採用しているのは、まさに、デバイスを追加してもプロジェクトをフォークせずに済むようにするためです。
docs/plugin-development.mdに仕様があります。 - 🛠️ PR を送ってください。
docs/CONTRIBUTING.mdに PR 作成前のチェックリストがすべて記載されています。初めての方におすすめのイシューにはラベルが付いています。
このプロジェクトから情報が外部に送信されることはありません。テレメトリーを自動送信する仕組みはなく、互換性マトリックスの各行は、誰かが自ら送信した結果です。それがこのプロジェクトの方針であり、だからこそ、皆さんの報告には本当の価値があります。
ドキュメント
ユーザー向けおよび開発者向けのドキュメントは、docs/ にあります(アーキテクチャ、設計上の決定事項、Redfish リファレンス、トラブルシューティングと FAQ、コントリビューション、セキュリティポリシー)。プロジェクト Wiki は、このフォルダーを自動生成して見やすく整えたミラーです。また、リポジトリのルートには、AI エージェント向けのドキュメントマップ llms.txt があります。
ライセンス
Apache License 2.0 — LICENSE と NOTICE をご覧ください。kvm-pilot は独立したプロジェクトであり、PiKVM プロジェクト、GL.iNet、Anthropic とは提携も推奨も受けていません。これらの名称は互換性の説明にのみ使用しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。