rdp-cli

AI エージェントにリモート Windows デスクトップを操作させる方法

AI エージェントはスクリプトを書けますが、実際の作業ではデスクトップが必要になることがあります。Windows 専用アプリ、文書エディター、ファイルの書き出し画面などです。信頼できる方法は、画面を確認し、1 つ操作し、結果を検証する短いフィードバックループを守らせることです。

1. Windows ホストを準備する

対象のコンピューターでリモート デスクトップを有効にします。エージェントを実行するコンピューターに合った rdp-cli をダウンロードし、PowerShell で確認します。

.\rdp-cli.exe --help

エージェントは Windows ホスト上で動く必要はありません。RDP サービスに接続できれば十分です。

2. パスワードを露出させずに接続する

パスワードをコマンドラインやシェル履歴に書かず、標準入力で渡します。

$secret = Read-Host 'Password' -AsSecureString
try {
  [System.Net.NetworkCredential]::new('', $secret).Password |
    .\rdp-cli.exe connect --host 192.0.2.20 --user USER --password-stdin
} finally {
  $secret.Dispose()
}

JSON で返される session を保存します。後続のコマンドはこの値でリモートデスクトップを指定します。

3. 操作する前に画面を確認する

座標を推測せず、まず現在の画面を取得します。

.\rdp-cli.exe screenshot --session SESSION --out .\before.png

エージェントは画像から対象のコントロールを見つけ、スクリーンショットの応答に含まれる observation を使ってクリックします。

.\rdp-cli.exe click --session SESSION --desktop --x 420 --y 260 --observation OBSERVATION

4. 重要な操作は必ず検証する

クリック後、入力や送信の前に新しい画面を取得します。

.\rdp-cli.exe screenshot --session SESSION --out .\focused.png
.\rdp-cli.exe type --session SESSION --text "Remote task completed." --observation NEW_OBSERVATION
.\rdp-cli.exe screenshot --session SESSION --out .\after.png

これで、移動したウィンドウ、読み込み中のアプリ、誤ったクリックを検出できます。エラーが返らなかっただけで成功と判断しないでください。

5. 人がいつでも引き継げるようにする

同じセッションをウィンドウまたはブラウザーで確認できます。

.\rdp-cli.exe watch --session SESSION --viewer window

ビューアーは読み取り専用で開始され、エージェントの一時停止、操作の引き継ぎ、セッションの返却に対応します。ログイン、確認ダイアログ、取り消せない操作では人が確認してください。

可能ならプライベートネットワークまたは VPN 経由で RDP を使い、認証情報を安全に管理し、環境に合わせて証明書検証を設定します。基本は「確認、操作、検証」です。