AIにパソコンのアプリを操作させる「Computer Use」のための道具 agent-desktop が、X で話題になっています。「Claude Code は Codex と比べると Computer Use が弱いけれど、agent-desktop を使えば解決するかもしれない」という紹介も読まれました。
当社は、FAXや電話の注文の入力、請求書づくりなど、中小企業の転記の仕事を減らす業務システムを作っています。agent-desktop は、ブラウザの外にある Windows の業務ソフトへの転記 を自動にする部品として使えるかもしれません。この記事では、公開されている文書から agent-desktop の仕組み・使い方・注意点を整理します。
結論を先に書きます。
- ライセンスは Apache 2.0。商用で使えて、製品に組み込むこともできます
- スクリーンショットを見ずに操作します。OS が持っている「画面の部品の一覧」(アクセシビリティツリー)を読み、ボタンや入力欄に番号を振って、その番号を押したり書き込んだりします
- 既定では裏で動きます。マウスを動かさず、手前のウィンドウも奪いません
- macOS・Windows・Linux に対応。ただし Linux は Ubuntu 24.04(GNOME 46)が主な対象で、Ubuntu 22.04 では一部の操作で落ちると書かれています
- 本体は外部のAIに何も送りません。付属の「JEV helper」を使うと、画面の説明が外部の判断サービスに送られます。業務の画面で使うなら、ここに気をつける必要があります
ここに書く内容は、すべて公式の README と文書から読んだものです。当社のサーバーではまだ動かしていません。
agent-desktop とは
agent-desktop は、Vercel Labs が GitHub で公開している、AIエージェント向けのコマンドラインの道具です。2026年2月に公開され、11月3日に v1.1.0 が出ました。GitHub のスターは1万を超えています。Rust で書かれていて、npm で入れられます。
npm install -g agent-desktop
agent-desktop version
コマンドは60個あり、画面を読む・押す・書き込む・キーを打つ・ウィンドウを動かす・通知を読む・クリップボードを使う、などがそろっています。結果は毎回 JSON で返るので、AIエージェントがそのまま読めます。
スクリーンショットではなく「部品の一覧」で操作する
これまでの Computer Use は、画面のスクリーンショットをAIに見せて、「どこを押すか」を座標で決めさせるやり方が中心でした。画面の見た目が少し変わると押す場所がずれ、画像を毎回送るので遅く、費用もかかります。
agent-desktop は、画像を見ません。Windows や macOS は、目の不自由な人のための読み上げソフトのために、「この画面には、こういう名前のボタンと入力欄がある」という一覧を持っています。agent-desktop はこの一覧を読みます。
使い方は「読む → 押す → もう一度読んで確かめる」のくり返しです。
agent-desktop snapshot --app Finder -i # 押せる部品の一覧を、番号つきで取る
agent-desktop click @s8f3k2p9:e8 # その番号の部品を押す
agent-desktop snapshot --app Finder -i # もう一度読んで、変わったかを確かめる
一覧はこのような JSON で返ります(一部)。
{
"role": "treeitem",
"name": "Documents",
"ref_id": "@s8f3k2p9:e8",
"available_actions": ["Click"]
}
ここがよくできているところです。
- 番号は、その時に読んだ一覧の中でだけ有効です。画面が変わったあとに古い番号で押そうとすると、
STALE_REF(古い番号)というエラーで止まります。「違うボタンを押してしまう」事故が起きにくい作りです - 部品の多いアプリは、まず骨組みだけ読みます(
--skeleton)。そのあと必要な場所だけ詳しく読むので、AIに渡す量を減らせます - エラーには「もう一度やってよいか」が付いています。AIエージェントが、やり直してよい失敗かどうかを判断できます
マウスを奪わずに、裏で動く
既定では、部品の番号への操作を OS のアクセシビリティの仕組みを通して行います。マウスのポインターを動かさず、手前のウィンドウも切り替えません。人がパソコンを使っている横で、エージェントが別のアプリを操作できる、というのが売りです。
本物のマウスやキーボードの入力が必要なときだけ、--headed を付けて許可します。
対応しているOSと条件
| 主な条件 | |
|---|---|
| macOS | 「アクセシビリティ」の許可が要る(agent-desktop permissions --guide で設定画面を開ける) |
| Windows | 特別な許可は要らない。管理者権限で動くアプリには、エージェントも管理者で動かさないと入力できない。署名の無いプログラムなので、ブラウザから落とすとSmartScreenが警告することがある(npm で入れる場合は出ない) |
| Linux | Ubuntu 24.04(GNOME 46)が主な対象。画面のあるログイン中のセッションと at-spi2-core が要る。SSH だけの端末からは、アプリが見えない |
Linux は、Ubuntu 22.04 では一部の操作(部品が持つ操作の一覧を取る処理)で落ちると、公式の文書に書かれています。当社のサーバーは Ubuntu 22.04 なので、試すなら 24.04 の環境を用意してからになります。
画面の情報が外に出る場面
業務の画面で使うときに、いちばん気をつけたいところです。
- agent-desktop 本体は、外部のAIのサービスを使いません。読んだ一覧は、呼び出したエージェントに返すだけです
- ただし、読んだ一覧・ウィンドウの題名・クリップボード・スクリーンショットには、画面に出ている顧客名や金額がそのまま入ります。ログやエージェントの会話の記録を外に出さないように、と公式も注意しています
- リポジトリに付いている 「JEV helper」 は、目的を1文で渡すと、画面を読んで判断し、終わるまで操作を続ける仕組みです。便利ですが、1手ごとに、画面の部品の名前・入力欄の中身(60文字まで)・ウィンドウの題名などを、外部の判断サービス(既定は TypeSafe 社の
api.typesafe.ai)に送ります
JEV helper の送り先は、環境変数 TYPESAFE_BASE_URL で変えられます。外部へは HTTPS だけ、手元のサーバー(localhost)なら HTTP も使える作りです。
当社は以前、同じ TypeSafe 社の判断サービスを使う browser-use の jev-ultrafast を、手元のGPUで判断を返す jevlocal に向け直して、外部への通信をなくしたことがあります(判断1回あたり約0.07秒)。JEV helper も同じ形の判断サービスなので、手元に向けられる見込みです。ただし、まだ確かめていません。
RPAの代わりになるか
中小企業では、注文書やFAXの内容を、会計ソフトや販売管理ソフトに手で打ち直す仕事がよく残っています。ブラウザの中の作業なら、ブラウザを直接動かす仕組みで自動にできます。ところが、Windows に入れて使う業務ソフトには、それでは手が届きません。ここを RPA の製品に任せている会社も多いです。
agent-desktop は、この「ブラウザの外」に手が届く部品です。
- 座標や画像ではなく部品の名前で押すので、画面の配置が少し変わっても動きやすい
- 古い番号では押さない作りなので、違う欄に書き込む事故が起きにくい
- Apache 2.0 なので、社内の仕組みに組み込んで使える
一方で、RPA の代わりに使うなら、次のことを先に確かめる必要があります。
- その業務ソフトが、部品の一覧を正しく出しているか。古い業務ソフトの中には、ボタンに名前が付いていないものがあります。その場合は、番号を振れても、どれが何のボタンか分かりません
- どこまで自動にするか。「入力して保存する前で止め、人が確かめてから保存する」ように、最後の一手を人に残すのが安全です
- 画面の情報をどこに送るか。判断にAIを使うなら、社外に出さないように、手元のサーバーで判断させる
当社での使いどころ
当社は、転記の仕事そのものを減らす業務システムを、買い切りで出しています。保守契約も月額料金もありません。
- FAXや電話の注文を、WEBで受ける受発注(Kurage Web Order)
- 紙の注文書や伝票を読み取るAI-OCR(Kurage OCR Work)
それでも、最後に Windows の会計ソフトや販売管理ソフトへ打ち直す手間が残る会社があります。agent-desktop は、その最後の転記を自動にする候補です。当社では、判断を手元のサーバーで行い、画面の情報を社外に出さない形で試す予定です。
「この業務ソフトへの転記を自動にできるか」を一緒に確かめて進めるなら、AI-IT顧問(愛知県内・月15時間・税別150,000円)で引き受けます。
よくある質問
ライセンスはどうなっていますか?
Apache 2.0です。商用利用や製品への組み込みが可能です。
スクリーンショットを使わずにどうやって操作するのですか?
画面の部品の一覧(アクセシビリティツリー)を読み取ります。ボタンや入力欄に番号を振り、その番号を指定して操作します。
マウスを動かさずに裏で動作できますか?
はい、既定ではOSの仕組みを通して操作するため、マウスを動かさず手前のウィンドウも奪いません。
