Repolode
vercel-labs

vercel-labs/agent-desktop

OSのアクセシビリティツリーを介して、AIエージェントがmacOS、Windows、Linuxのデスクトップアプリを操作できるCLIとCライブラリ。

スター
18,740
フォーク
1,367
未解決の Issue
26
最終コミット
16 時間前

これは何?

agent-desktopを使うと、スクリーンショットやピクセルマッチングに頼らず、AIエージェントがデスクトップを操作できます。snapshotを取得すると、エージェントが操作できるすべての要素が、安定したref付きのJSONで返されます。エージェントはrefを指定して操作し、新しいsnapshotを取得して結果を確認する、という流れを繰り返します。判断のループはエージェント側に保持されます。

macOS、Windows、Linuxで動作し、x64およびARM64向けのネイティブバイナリを含むnpm package、またはリリースアーカイブとして配布されています。Linuxでの動作にはAT-SPIが必要です。また、X11とWaylandのように、プラットフォームやディスプレイサーバーによって一部の機能が異なります。refを使った操作はデフォルトでヘッドレスに実行され、ポインターを動かしたりフォーカスを移したりしません。グローバルな--headedフラグを指定すると、物理入力が有効になります。

プロジェクトにはC FFIライブラリも含まれており、プログラムから同一プロセス内で呼び出せます。READMEにはPythonの例も掲載されています。snapshotやスクリーンショットにはデスクトップ上の非公開情報が含まれる可能性があるため、公開ログに含めない方法についても説明されています。

主な機能

  • 01アクセシビリティツリーのsnapshotを、操作可能な各要素のref付きJSONとして返す。
  • 02refは取得元のsnapshotに紐づいており、古い対象や曖昧な対象はエラーとして報告する。
  • 03refを使ったヘッドレス操作では、デフォルトでポインターを動かしたりフォーカスを移したりしない。
  • 04画面の確認、クリック、文字入力、ウィンドウ管理、クリップボード、通知に対応する。
  • 05他の言語から同一プロセス内で呼び出せるC FFIライブラリを提供する。

ユースケース

  • APIのないネイティブデスクトップアプリをAIエージェントに操作させる。
  • macOS、Windows、Linuxで繰り返し行うGUI作業を自動化する。
  • 操作ごとに新しいsnapshotで結果を確認するcomputer-use agentを構築する。
  • Cライブラリを通じて、他のプログラムにデスクトップ自動化を組み込む。

クイックスタート

  1. 1

    npmでパッケージをグローバルにインストールする

    npm install -g agent-desktop
  2. 2

    インストールされているバージョンを確認する

    agent-desktop version
  3. 3

    macOSでアクセシビリティの許可を付与する(ガイドを参照)

    agent-desktop permissions --guide
  4. 4

    Finderなどのアプリのインタラクティブなスナップショットを撮る

    agent-desktop snapshot --app Finder -i

使う前に知っておきたいこと

  • macOSではアクセシビリティの許可が必要です。Linuxではat-spi2-coreを備えたグラフィカルセッションが必要です。
  • WaylandでのスクリーンショットやLinuxでGNOMEのみ対応の通知など、一部の機能はプラットフォームに制限されます。
  • key-down、key-up、mouse-down、mouse-upコマンドはまだ動作しません。
  • スナップショットやスクリーンショットにはデスクトップ上の個人情報が写ることがあるため、公開ログには含めないでください。

収録されている特集

トピック

よくある質問

agent-desktop とは?
OSのアクセシビリティツリーを介して、AIエージェントがmacOS、Windows、Linuxのデスクトップアプリを操作できるCLIとCライブラリ。 agent-desktopを使うと、スクリーンショットやピクセルマッチングに頼らず、AIエージェントがデスクトップを操作できます。snapshotを取得すると、エージェントが操作できるすべての要素が、安定したref付きのJSONで返されます。エージェントはrefを指定して操作し、新しいsnapshotを取得して結果を確認する、という流れを繰り返します。判断のループはエージェント側に保持されます。
agent-desktop は無料で使えますか?ライセンスは?
agent-desktop は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
agent-desktop は今もメンテナンスされていますか?
活発にメンテナンス中。agent-desktop の最終コミットは 2026年11月7日 です。
agent-desktop は何に使えますか?
APIのないネイティブデスクトップアプリをAIエージェントに操作させる。 macOS、Windows、Linuxで繰り返し行うGUI作業を自動化する。 操作ごとに新しいsnapshotで結果を確認するcomputer-use agentを構築する。 Cライブラリを通じて、他のプログラムにデスクトップ自動化を組み込む。
agent-desktop のインストール方法は?
npmでパッケージをグローバルにインストールする: npm install -g agent-desktop インストールされているバージョンを確認する: agent-desktop version macOSでアクセシビリティの許可を付与する(ガイドを参照): agent-desktop permissions --guide Finderなどのアプリのインタラクティブなスナップショットを撮る: agent-desktop snapshot --app Finder -i
agent-desktop はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/vercel-labs/agent-desktop

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト