agent-desktopはRust製のCLIとCライブラリで、ライセンスはApache-2.0。npm install -g agent-desktop で導入でき、x64とARM64のネイティブバイナリを同梱する。snapshotコマンドはアプリのUI要素ごとにrefを付けたJSONを返し、エージェントはそのrefに対してclickなどの操作を行い、再度snapshotを取って結果を確かめる。refはスナップショットに紐づき、UIが変わると STALE_REF などのエラーを返すため、画面座標やピクセル照合に頼らず安全に再試行できる設計だ。SlackのようなUIが密なアプリでは --skeleton で全体を把握してから一部の領域だけを掘り下げることで、トークン消費を抑えられるとしている。macOSではアクセシビリティ権限が必要、Linuxはat-spi2-coreを使うグラフィカルセッションが前提で、アクセシビリティツリーを公開しないアプリは扱えない。READMEはスナップショットやスクリーンショット、クリップボードの内容に私的なデスクトップ情報が含まれ得るとして、公開ログやアップロードに含めないよう注意している。開発者のChris Tate氏はXで「agent-browserをコンピュータ全体に」と紹介している。
Vercel Labs、コーディングエージェントにデスクトップ操作を与えるagent-desktopを公開 OSのアクセシビリティツリーで画面を読み、ピクセル推測なし
## POINTS
- Rust製CLI/Cライブラリ(Apache-2.0)、npmで導入しmacOS・Windows・Linuxに対応
- アクセシビリティツリーのrefで要素を指定して操作し、再snapshotで検証。画面のピクセル推測に頼らない
- スナップショット等に私的な情報が含まれ得るため、公開ログへの混入に注意が必要