rdp-cli
APIなしでレガシーWindowsアプリを自動化する方法
レガシーWindowsソフトでAPI自動化が使えない理由
APIなしでレガシーWindowsアプリを自動化することは可能ですが、通常のAPI自動化では対応できません。会計ソフト、ERP、倉庫管理ツール、社内ユーティリティの中には、API、SDK、スクリプト機能を持たないものがあります。重要な操作はボタン、フォーム、メニュー、ダイアログの中にしかありません。
実用的な方法がGUI Computer Useです。AIエージェントがRDPまたはVNCで実際のデスクトップに接続し、画面を読み、制御した操作を1つ実行し、その結果を確認します。
AIエージェント + RDP/VNC の実際の流れ
rdp-cliを使うと、エージェントは対象アプリがインストールされた既存のRDPまたはVNCデスクトップに接続できます。クイックスタートで接続し、返されたセッションIDを保存します。
信頼できるループは次のとおりです。
- 現在の画面を取得する。
- 次の入力欄、ボタン、ダイアログを見つける。
- 小さな操作を1つ実行する。
- もう一度画面を取得する。
- 実際の結果を確認してから続ける。
たとえば、エージェントは次のようにリモートWindowsアプリを確認できます。
rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --desktop \
--x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out focused.png
rdp-cli type --session SESSION \
--text "Remote task completed." \
--observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out after.png
座標と observation は最新のスクリーンショットから取得します。クリックコマンドが成功しても、アプリが操作を受け付けたことまでは保証しません。
ファイル処理と人による確認
典型的な流れは、表計算ファイルをリモートワークスペースへ送り、レガシーなレポートソフトで開き、期間を選び、PDFを出力して、完成したファイルをダウンロードする方法です。サーバーがドライブリダイレクトを許可していれば、RDPセッションでファイルやフォルダーを交換できます。VNCは既存デスクトップの操作に使えますが、ファイル転送などの機能はプロトコルとサーバー設定に依存します。
予期しないダイアログや承認が必要な場面では、人が同じセッションを監視し、エージェントの入力を一時停止し、ネイティブウィンドウまたは認証済みブラウザーから操作を引き継ぎ、終わったらエージェントへ戻せます。
GUI自動化の失敗を減らすルール
- 長いクリック列ではなく、小さく検証できる操作を使う。
- 重要な操作の後に新しいスクリーンショットを取得する。
- ロード画面やダイアログが表示されるまで待つ。
- 想定外のログイン画面、警告、エラーで停止する。
- パスワードやAPIキーをプロンプトや記事本文に入れない。
- 信頼できるネットワークまたはVPNを使い、必要最小限の権限だけを与える。
安定したAPIがあるなら、まずAPIを使うべきです。GUI自動化は、グラフィカル、古い、または統合できないアプリに向いています。ソフトウェアを書き直さなくても、AIエージェントが現場で使われているWindowsアプリを操作できるようになります。
詳しくは rdp-cli の RDP と VNC 機能をご覧ください。