go-vgo/robotgo

RobotGo, Go Native cross-platform RPA, GUI automation, Auto test and Computer use @vcaesar

何を解決するか

Robotgoは、デスクトップ操作をクロスプラットフォームで自動化するためのライブラリです。開発者がマウスやキーボードをプログラムで制御し、画面の内容を読み取り、macOS、Windows、Linuxの各OSでウィンドウを管理できるようにします。これにより、各オペレーティングシステムごとに固有の自動化コードを書く必要がなくなります。

動作方法

RobotgoはGoコードとシステムの低レベル入力・表示APIの間のブリッジとして機能します。主に2つのビルドパスを提供しています:

  • デフォルト(Cgo): Cコンパイラを使用してネイティブプラットフォームライブラリにアクセスします。
  • Pure Go(実験的): win、mac、x11、wayland、libei などのビルドタグを使用して、Goネイティブバックエンドを活用し、Cツールチェインへの依存を減らします。

また、bitmap を使って画像検索や gcv(OpenCV)を使って複雑なコンピュータビジョンタスク(画面内の要素を識別)を行うための専用ライブラリと統合可能です。

対象ユーザー

  • QAエンジニア: 自動デスクトップテストの作成に使用。
  • AI開発者: デスクトップ環境を認識・操作できる「コンピュータ利用エージェント」の構築に使用。
  • 開発者: 生産性ツール、マクロ、アクセシビリティソフトウェアの開発に使用。

特徴

  • 包括的な入力制御: マウスの移動、クリック、スクロール、キーボード入力・ショートカットの完全制御。
  • クロスプラットフォーム: Windows、macOS、Linux(X11およびWayland)のネイティブサポート。
  • 画面認識: 画面キャプチャ、ピクセルカラーの取得、bitmapまたはOpenCVを用いた画面内画像の検索。
  • ウィンドウ管理: プロセスIDの検索、ウィンドウ名によるアクティブ化、ウィンドウ状態の管理。
  • グローバルイベントリスニング: グローバルキーボードおよびマウスフックを登録し、ユーザー入力に基づいてアクションをトリガー可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト