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. 現在の画面を取得する。
  2. 次の入力欄、ボタン、ダイアログを見つける。
  3. 小さな操作を1つ実行する。
  4. もう一度画面を取得する。
  5. 実際の結果を確認してから続ける。

たとえば、エージェントは次のようにリモート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 機能をご覧ください。