Computer Use とは?
Computer Use を使うと、Devin にマウスとキーボード付きのグラフィカルなデスクトップ環境へ直接アクセスさせることができます。これは単なるブラウザ自動化を超えており、画面に表示される あらゆるアプリケーション を操作できます。具体的には次のようなものが含まれます:- Chrome 上の Web アプリケーション (ボタンをクリックする、フォームに入力する、ページを遷移する)
- セッションのプラットフォーム (Linux、Windows、または macOS) 上で動作する デスクトップアプリケーション。これには Electron アプリ、IDE、各プラットフォームネイティブの GUI が含まれます
- ターミナルベースの UI (TUI プログラム、対話型 CLI)
- デスクトップ上に表示できる あらゆるビジュアルインターフェース
対応プラットフォーム
Computer Use の使用感は、すべてのプラットフォームで同じです。Devin はマウスとキーボードを利用し、スクリーンショットを取得し、Web アプリには Chrome を実行し、テスト セッションを記録できます。Windows ではさらに、Devin は Windows ネイティブのデスクトップ アプリケーション (WPF、WinForms、その他 Windows でのみ実行されるアプリなど) もテストできます。macOS では、Mac アプリやシミュレータ上の iOS アプリをテストできます。別のプラットフォームでセッションを実行するには、Windows サポートまたは macOS サポートで説明されているとおり、ブループリントを設定してください。エンドツーエンドの使用例については、Devin で iOS アプリを構築するを参照してください。
macOS では、Devin はキーボード ショートカットに Control ではなく Command キー (⌘C、⌘V) を利用します。
有効化する方法
Computer Use は、組織の Devin 設定にある Computer use トグルで制御されます。- Settings > Devin に移動します
- Sessions セクションで、Computer use トグルをオンにします
- Devin はセッション中にデスクトップ環境を使用するようになります
Desktop モードはすべてのプランで利用できます。この設定を変更できるのは組織の管理者のみです。
コンピュータ操作が実行されるタイミング
Desktop モードを有効にすると、すべてのセッションでコンピュータ操作が利用可能になります。コンピュータ操作が実行されるケースは次の 3 つです。PR を作成した後
Devin が PR を作成すると、Test the app ボタンが表示されます。これをクリックすると、テストワークフロー 全体がトリガーされます。Devin がアプリを起動し、Computer Use 機能を使ってデスクトップを操作し、変更をテストして、その録画を送信します。
セッション中にリクエストする場合
セッションの任意のタイミングで Devin にテストを依頼できます。特別な構文は不要で、自然な言葉で指示してください。例えば次のように言えます:- 「今行った変更をテストして、録画を送って」
- 「ブラウザでアプリを開いて、ログインページが動作するか確認して」
- 「デスクトップアプリを起動して、新しいメニュー項目が表示されるかチェックして」
適切な場合は自律的に実行
Devin は、デスクトップでの操作がそのタスクに最適な手段かどうかを自律的に判断します。タスクに UI 要素のクリック、アプリの操作、フォーム入力、あるいは画面上での目視確認が含まれる場合、Devin は明示的に指示しなくても Computer Use を使用します。Devin に画面上で「どう」操作するかを教える必要はなく、「何を」達成したいのかだけを伝えてください。Devinがコンピュータを操作してできること
Webアプリケーションをエンドツーエンドでテストする
Devinはローカル環境でアプリを起動し、Chromeで開いたうえで、ログイン、ナビゲーション、フォーム送信、チェックアウトといったユーザーフロー全体を順に操作し、すべてが期待どおりに動作しているかを検証できます。デスクトップアプリケーションのテスト
Devin のセッションプラットフォーム上で動作するアプリケーションは、どれでもテストできます。Linux セッションでは、Electron アプリ、Java Swing/AWT アプリケーション、GTK/Qt アプリなどがこれに含まれます。Windows セッションでは、WPF や WinForms アプリなどの Windows ネイティブアプリケーションもテストできます。Devin はアプリを起動し、GUI を操作して動作を検証します。ビジュアル検証
Devin はテスト中の特定のタイミングでスクリーンショットをキャプチャし、レイアウト、スタイル、UI 要素が正しく表示されているかを検証できます。画面上の状態を期待される挙動と照合し、外観上の問題を検出してフラグ付けできます。複雑な UI フローを操作する
一部のテストシナリオでは、単純な API 呼び出しやブラウザ自動化だけでは対応できない、複数ステップの GUI 操作が必要になります。たとえばドラッグ&ドロップ、コンテキストメニュー、キーボードショートカット、複数ウィンドウ間の移動などです。Computer Use はこれらすべてに対応します。テストセッションの記録
Devin はテスト中に画面を録画し、動画内の重要なタイミングに注釈を付けることができます。録画は処理された後に送信されるため、Devin がアプリとどのようにやり取りしているかを確認し、変更が正しく動作しているかを検証できます。録画ワークフローの詳細については、Testing & Video Recordings を参照してください。コンピュータ操作の仕組み
Devin がセッション中に Computer Use を使用する際は、次のプロセスに従います。- 現在の画面に何が表示されているかを把握するために、スクリーンショットを撮る
- ボタン、テキストフィールド、メニュー、リンクなどの操作可能な要素を特定し、どれを操作するかを決める
- アクションを実行する — クリック、入力、スクロール、またはキーボードショートカットの実行
- 待機して観察する — アクションの結果を確認するために、もう一度スクリーンショットを撮る
- タスクが完了するまで繰り返す
Computer Use とテスト
Computer Use は、Devin のテストと記録ワークフローの基盤となる機能です。Devin が PR を作成した後にあなたのアプリケーションをテストする際は、次のように進行します。- セットアップ — Devin が依存関係をインストールし、アプリを起動し、環境を準備する
- テスト計画 — Devin が差分を読み、要点を絞ったテスト計画を作成する
- Computer Use による実行 — Devin がデスクトップを使ってアプリと対話し、テスト計画に沿ってステップごとに実行する
- 記録 — プロセス全体が注釈付きの動画として記録され、その後あなたにレビュー用として送信される
Outposts での Computer Use
Outposts では、セッションはお客様が管理するマシン上で実行されます。そのため、Devin は独自のデスクトップ環境をプロビジョニングするのではなく、マシンに既存のデスクトップ環境を利用します。computer ツールはすべてのデスクトップモードのセッションで利用できます。マシンがアクションに対応していない場合、ツールが表示されないままになるのではなく、明確で対処可能なエラーが表示されてアクションは失敗します。
プラットフォーム別の要件
Linux: ワーカーは、グラフィカルセッションにアクセスできる状態で実行する必要があります。ワーカーの環境変数DISPLAY を設定し、実行中の X サーバーを指定してください。ヘッドレスマシンでは、自分で X サーバーを起動できます (例: Xvfb :0 とウィンドウマネージャー) 。ワーカーを起動する前に DISPLAY をエクスポートしてください。ディスプレイがない場合、コンピューター操作では、グラフィカルデスクトップを利用できないことと、その設定方法を示すエラーが返されます。
macOS: Devin はマシンの既存のデスクトップセッションを再利用します。Devin ワーカーを実行するプロセスには、2 種類の macOS 権限 (TCC) が必要です。
- 画面収録 — スクリーンショットに必要です。
- アクセシビリティ — 人工的なマウスおよびキーボード入力に必要です。
一部の機能が利用できないことは想定されています
各機能は個別に確認されるため、Devin ではツール全体が使えなくなるのではなく、利用可能な機能に応じて動作が制限されます。- 画面収録 は許可されていても アクセシビリティ が許可されていない場合 (よくあるデフォルト設定) 、スクリーンショットは利用できますが、クリック、入力、スクロールのアクションでは、付与すべき権限を具体的に示すエラーが返されます。
- ディスプレイをまったく利用できない場合、すべてのコンピューター操作で理由 (例:
DISPLAYが設定されていない) と、変更すべき内容が返されます。
ffmpeg も必要です。詳細はマシンの依存関係を参照してください。
最良の結果を得るためのヒント
テスト内容を具体的に伝える
- 「アプリを開き、右上のSettingsボタンをクリックし、ダークモードを切り替えても、すべてのテキストが引き続き読みやすいことを確認する」
- 「Electronアプリを起動し、新しいドキュメントを作成してテキストを入力し、ウィンドウを閉じたときに保存されることを確認する」
成功のイメージをDevinに伝える
- 「ダッシュボードには、エラーメッセージなしで3つのチャートが表示されていること」
- 「フォーム送信後、ページ上部に緑色の成功バナーが表示されること」
アクセスを事前に設定する
アプリが認証を必要とする場合は、セッション中にあなたへ確認しなくても Devin がログインできるよう、事前にSecretsを設定してください。また、環境設定を完了し、Devin が依存関係をインストールして問題なくアプリを起動できるようにしておきましょう。テスト用 Skill を作成する
頻繁にテストを行うアプリ向けに、アプリケーションのセットアップ方法とテスト方法を Devin に正確に指示する Skill を作成します。これにより、繰り返しのセッションにかかる時間を短縮し、一貫したテストを実現できます。具体例については、Testing & Video Recordings — Skill 提案 を参照してください。Playwright を使ったスクリプトによるブラウザ操作
Devin の Chrome ブラウザは、Playwright が接続できる Chrome DevTools Protocol (CDP) エンドポイントを公開しています。Devin は Playwright スクリプトを作成して実行し、ログインフローや定型的なデータ入力など、自身の実行中のブラウザに対する操作を自動化できます。これらのスクリプトは、ユーザー自身で作成してリポジトリにチェックインすることもできます。その他のほとんどのブラウザ操作では、Devin のネイティブな Computer Use またはブラウザツールの利用を推奨します。仕組み
Devin の Chrome インスタンスは、ポート 29229 で CDP 接続を待ち受けています。Playwright スクリプトはこのブラウザにアタッチし、操作を実行し (フォームへの入力、ボタンのクリック、リダイレクトの処理など) 、その後切断できます。スクリプトは新しいブラウザを起動するのではなく、既存の ブラウザに接続するため、Cookie、localStorage、auth token などの状態変更は、スクリプト終了後も保持されます。 つまり、Devin は認証済みのセッションをすぐに利用できます。ページを更新したり、ページ間を移動したり、通常どおりアプリを操作したりできます。例: Devinのブラウザに接続する
これを利用する場面
SSO / OAuth フロー
毎セッション手動で一つひとつクリックして進めるのが煩雑な、複数ステップのログインフロー (例: Okta、Auth0、Google SSO) を自動化します。
環境設定時の認証
環境設定にログインスクリプトを含めることで、Devin が各セッションを認証済みの状態で開始できるようになります。
Skill ベースの自動化
ログインスクリプトやデータ入力スクリプトをSkillに保存しておくと、必要なときに Devin が自動的に実行できます。
定型的なデータ入力
ポイントアンドクリックでは時間がかかり、ミスも起きやすい反復的なフォーム送信や一括データ入力をスクリプト化します。
ヒント
- ログインスクリプトは リポジトリ の
.agents/skills/ディレクトリに保存し、セッションをまたいでも保持されるようにします - 認証情報の保存には Secrets を利用し、スクリプト内では環境変数経由で参照します
- CDP エンドポイントは常に
http://localhost:29229です — Desktop モードの有効・無効にかかわらず、ポートは同じです - スクリプトの実行後、Devin は Computer Use またはブラウザツールのいずれかを利用して、認証済みのセッションを操作できます
環境変数として公開された Secrets と組み合わせることで、
.agents/skills/ 内のスクリプトは、クッキーに限らず、毎回のセッション開始時にブラウザレベルのあらゆる状態を注入できます。たとえば、スクリプトから page.evaluate() を呼び出して、環境変数から読み取った localStorage のキー (機能フラグ、API トークン、テナントの選択) を書き込むことで、Devin のブラウザを常にアプリが想定する状態で開始できます。スクリプト化せずに手動で取得した状態を保持する方法については、Browser authentication を参照してください。
