AIエージェントにComputer Useを組み込みたくても、対応モデルがClaudeやGPT-4oなどフロンティアモデルに限られていた。Nous Researchが開発するHermes Agentが、trycuaのcua-driverと統合し、この制限を取り除いた。2026年5月11日に早期プレビューが公開されている。
この記事でわかること:
– 任意のLLMモデルでComputer Useが使えるようになった仕組み
– cua-driverによるバックグラウンド操作の動作原理
– セットアップ手順と対応モデル一覧
– 安全機能と現時点の制限
AIがmacOSを裏から操作するとは
従来のComputer Useは、AnthropicのAPIネイティブスキーマを要求するClaude専用か、OpenAIのCUAエンドポイントのような特定フロンティアモデルに依存していた。ローカルで動くオープンモデルや、OpenRouter経由のモデルでは使えなかった。
Hermes AgentとtrycuaのcUA Driver統合はこの前提を変える。ツール呼び出しができるモデルであれば何でも動く。AnthropicのネイティブスキーマはHermes側のアダプターが変換するため、モデル側には特別な対応が不要だ。
バックグラウンド動作もこの統合の重要な点だ。通常のComputer UseはAIがカーソルを奪うように動作するが、cua-driverはHIDイベントタップを使わない。Appleのプライベートなマクロ技術SkyLight SPI(SLEventPostToPid、SLPSPostEventRecordTo)とアクセシビリティSPI(_AXObserverAddNotificationAndCheckRemote)を使って合成イベントを直接プロセスに送るため、ユーザーのカーソルとキーボードフォーカスが動かない。AIとユーザーが同じMacで同時に作業できる状態を保てる。
仕組み
Hermes AgentのComputerUseツールセットは、stdio経由のMCPでcua-driverと通信する。cua-driverはmacOS上でこの3つを実現する。
- 合成イベントを対象プロセスに直接投げる(カーソル移動なし)
- AppKitのアクティブ状態をウィンドウを前面に出さずに切り替える
- ウィンドウが隠れていてもChromium・ElectronのアクセシビリティツリーをAX生存させる
スクリーンショットはOpenAI形式のimage_urlパーツとしてツール結果に含まれる。Anthropicを使う場合はアダプターがtool_resultイメージブロックに変換する。このためモデル側に追加実装は必要ない。
同様のアプローチはOpenAIのCodexにおける「バックグラウンドComputer Use」でも採用されている。trycuaはそのオープンソース実装として位置付けられる。
対応モデル一覧
| プロバイダ | ビジョン対応 | 動作 | 備考 |
|---|---|---|---|
| Anthropic(Claude Sonnet/Opus 3+) | ✅ | ✅ | 最も高精度。SOMと座標の両方に対応 |
| OpenRouter(ビジョン対応モデル) | ✅ | ✅ | マルチパートtoolメッセージ対応 |
| OpenAI(GPT-4+、GPT-5) | ✅ | ✅ | 同上 |
| ローカルvLLM / LM Studio | ✅ | ✅ | マルチパートtool contentに対応したモデルが必要 |
| テキストのみのモデル | ❌ | ✅(制限あり) | mode="ax" でアクセシビリティツリーのみ利用可 |
Claudeが最高精度とされているが、ローカルで動くビジョン対応モデルでも動作する。クラウドAPIに依存しない完全ローカル構成のエージェント環境が組めるのは大きい。
セットアップ手順
Hermes Agentのインストールは以下のコマンド1行で完了する。
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
インストール後、以下の手順でComputer Use機能を有効にする。
hermes toolsを実行し、「🖱️ Computer Use (macOS)」→「cua-driver (background)」を選択する- セットアップがcua-driverのインストーラーを自動で実行する
- 「システム設定 → プライバシーとセキュリティ → アクセシビリティ」でターミナルまたはHermesアプリを許可する
- 同じく「画面収録」でも許可する
- セッションを開始する
hermes -t computer_use chat
常にComputer Useを有効にしておきたい場合は ~/.hermes/config.yaml の enabled_toolsets に computer_use を追加する。
使い方の例
「Stripeから来た最新のメールを要約して」と指示すると、エージェントは次のように動作する。
- Mailアプリの画面をキャプチャし、各要素に番号を振る(SOM: Set-of-Mark)
- 番号を指定して検索欄をクリック
from:stripeとタイプしてEnterを送る- 結果をキャプチャして最上位のメールをクリック
- 本文を読んで要約する
この一連の操作中、ユーザーのカーソルは動かない。Mailアプリが前面に出ることもない。操作の精度はSOMモードが最もよく、アクセシビリティツリーのみを使うmode="ax"ではビジョン不要で動かせる。
トークン効率の工夫も施されている。スクリーンショットはコンテキスト内に直近3枚だけ保持され、古いものは[screenshot removed to save context]というプレースホルダーに置き換えられる。Anthropic使用時はサーバーサイドのコンテキスト編集機能も有効にできる。1568×900の画面で20アクションのセッションを実行した場合のスクリーンショットコストはおよそ3万トークンで収まる。
安全機能
クリック・タイプ・ドラッグなど状態を変える操作は、CLIのダイアログかメッセージングプラットフォームの承認ボタンで確認が必要だ。加えて以下の操作はツールレベルでハードブロックされている。
- ゴミ箱を空にする・強制削除・画面ロック・ログアウト・強制ログアウト
curl | bash、sudo rm -rf /、フォークボムなど危険なシェルコマンドのタイプ- スクリーンショット内に埋め込まれた指示に従ってパスワードを入力する行為
~/.hermes/config.yaml の security.approval_level を設定すると、すべての操作を確認制にできる。
制限と注意点
macOSのみの対応だ。cua-driverが使うSkyLight APIはLinuxやWindowsに存在しない。クロスプラットフォームのWeb自動化が必要な場合はブラウザツールセットが代替になる。
プライベートAPIへの依存も考慮が必要だ。Apple はSkyLightのシンボルをいつでも変更できる。本番環境で安定性が求められる場合は HERMES_CUA_DRIVER_VERSION 環境変数でcua-driverのバージョンを固定しておく。
処理速度もフォアグラウンドモードより5〜20ms遅い。エージェントが行うクリック速度では問題ないが、UI操作の速度記録をとるような用途には向かない。
まとめ
Hermes Agent × cua-driverの統合で、macOSのComputer UseがフロンティアモデルのAPIに依存しない構成を取れるようになった。Claude、GPT、ローカルモデルを問わず、ツール呼び出しができるモデルであれば同じ方法でmacOSを操作できる。完全ローカル構成のエージェント環境を組みたい場合の選択肢として注目に値する。