mcpField
O
open-computer-use

open-computer-use

github.com/ifurystエージェントワークフロー2.8k1.7k 回インストール今日更新
リポジトリ

open-computer-use について

Open Computer Use は、デスクトップアプリを操作するエージェント向けに、ローカルコマンドラインと stdio MCP サーバーを提供します。macOS、Linux、Windows で共通のアプリ確認・入力操作を利用でき、プラットフォーム別の設定手順もあります。

主な機能

  1. 01ローカルコマンドラインと stdio MCP サーバー
  2. 02アプリ検出と UI 状態の確認
  3. 03マウス、キーボード、値の設定操作
  4. 043つのプラットフォーム共通のツール群
  5. 05連続コマンド実行とコードによる制御

活用シーン

  1. 01デスクトップアプリの状態確認と操作
  2. 02GUI 操作手順の自動化
  3. 03エージェントランタイムとデスクトップ操作の接続
  4. 04コマンドラインやコードからの操作制御

MCP 対応

`open-computer-use mcp` または `ocu mcp` でローカル stdio MCP サーバーとして起動できます。MCP クライアントは Computer Use ツールを呼び出し、アプリの確認や画面操作を行えます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ifuryst/open-codex-computer-use --skill open-computer-use

インストール後、Claude Code で/open-computer-useを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
installation.md
troubleshooting.md
usage.md

詳細

Open Computer Use

概要

Open Computer Use は、Computer Use をローカル CLI および stdio MCP サーバーとして提供します。Codex.app 専用ではありません。操作するエージェントのランタイムに合わせて、コマンドと MCP 設定を調整してください。

macOS ランタイムには macOS 14.0 以降が必要です。Windows と Linux はそれぞれ独自のプラットフォームランタイムを使用するため、この macOS の最低要件は適用されません。

macOS、Linux、Windows で、次の主要なツールを共通して利用できます。 list_apps、get_app_state、click、perform_secondary_action、scroll、 drag、type_text、press_key、set_value。

基本的なワークフロー

  1. macOS では、CLI を実行する前に sw_vers -productVersion を実行し、macOS 14.0 以降であることを確認します。それより古いバージョンの場合、ランタイムを起動できないことを説明してください。バイナリの非互換性への対処として、doctor の実行や権限の変更を勧めないでください。
  2. open-computer-use -h または ocu -h を実行して、CLI がインストールされていることを確認します。インストールまたはセットアップが不足している場合は、references/installation.md を読んでください。
  3. 対応している macOS バージョンでは、初めて実際の GUI タスクを行う前に open-computer-use doctor を実行します。権限が不足している場合は、オンボーディング UI でアクセシビリティと画面収録を許可するようユーザーに依頼してください。
  4. 操作する前に、利用可能なアプリを確認します:open-computer-use call list_apps。
  5. open-computer-use call get_app_state --args '{"app":"TextEdit"}' で現在の UI 状態を取得します。通常、デフォルトの状態で UI 操作には十分です。
  6. チャット履歴、メール本文、文書のテキスト、長文コンテンツなど、意味的な情報を含む長いテキストが必要なタスクでは、text_limit: 1000 または text_limit: "max" を指定して get_app_state を呼び出します。
  7. スクロールしても表示中の長いページやリストが不完全な場合は、max_tree_nodes または max_tree_depth を大きくして get_app_state を呼び出します。
  8. 最新の get_app_state の結果に含まれる element_index を使った、要素を対象とするアクションを優先してください。
  9. 複数ステップの CLI 操作では、open-computer-use call --calls '<json-array>' を使用すると、1 つのプロセス内で最新の要素インデックスのマッピングを再利用できます。
  10. ローカル MCP サーバーに対応するエージェントランタイムでは、open-computer-use mcp または ocu mcp を設定し、公開されている Computer Use ツールを直接呼び出します。references/usage.md を読んでください。
  11. コード中心の直接的なオーケストレーションでは、ocu capabilities を実行し、その後、ワンショットの ocu js または永続的な ocu repl を使用します。references/usage.md を読んでください。
  12. 通信、権限、デスクトップセッションへのアクセスに失敗した場合は、references/troubleshooting.md を読んでください。

操作ルール

  • 対象のデスクトップはユーザーの実際のセッションとして扱ってください。ユーザーが明示的に依頼した場合を除き、パスワードマネージャー、無関係な個人情報、機密性の高いアプリを調べないでください。
  • 送信、削除、購入、承認、アップロード、またはその他の外部から見える変更を行う前に、ユーザーに確認してください。
  • Codex.app のプラグインヘルパーが利用できると想定しないでください。インストール済みの open-computer-use / ocu CLI または明示的な MCP 設定を使用してください。
  • element_index を使用する前に、必ず get_app_state を実行してください。セッションをまたいだり、UI に大きな変更があった後に、インデックスを推測しないでください。
  • 編集可能なコントロールでは、意味に基づくアクションと set_value を優先してください。要素ツリーに、より安全な対象が公開されていない場合に限り、座標を指定する click、scroll、drag を使用してください。
  • macOS では、ユーザーが明示的に click_method: "global" を要求した場合、ウィンドウサーバーのドラッグセッションを必要とする drag(ウィンドウの移動、ドラッグによるテキスト選択、Finder のドラッグ&ドロップ)、または実際のポインターを動かす可能性があるその他の診断動作を行う場合を除き、OPEN_COMPUTER_USE_ALLOW_GLOBAL_POINTER_FALLBACKS=1 を有効にしないでください。この設定がない場合、drag は Drag delivered via app_post と報告され、それらの操作は効果がありません。代替手段については references/usage.md を参照してください。
  • Windows と Linux では、GUI オートメーションが利用可能だと判断する前に、コマンドがログイン済みのデスクトップセッション内で実行されていることを確認してください。

一般的な CLI アクション

open-computer-use -h
ocu -h
ocu capabilities --json
ocu js 'nodeRepl.write(6 * 7)'
ocu repl
open-computer-use doctor
open-computer-use call list_apps
ocu call list_apps
open-computer-use call get_app_state --args '{"app":"TextEdit"}'
open-computer-use call get_app_state --args '{"app":"TextEdit","text_limit":1000}'
open-computer-use call get_app_state --args '{"app":"TextEdit","text_limit":"max"}'
open-computer-use call get_app_state --args '{"app":"Google Chrome","max_tree_nodes":3000,"max_tree_depth":96}'
open-computer-use call click --args '{"app":"TextEdit","element_index":"0"}'
open-computer-use call type_text --args '{"app":"TextEdit","text":"Hello from Open Computer Use"}'

1 つのプロセス内で状態を再利用する短い手順の場合:

open-computer-use call --calls '[
  {"tool":"get_app_state","args":{"app":"TextEdit"}},
  {"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}
]'

MCP の使用方法

stdio 経由でローカル MCP サーバーを起動できるランタイムでは、次を使用します。

[mcp_servers.open_computer_use]
command = "open-computer-use"
args = ["mcp"]

JSON 設定の例、ツールを直接呼び出すパターン、プラットフォームに関する注意事項については、references/usage.mdを参照してください。

参考資料

  • references/installation.md:CLI の初回インストール、エージェントへの MCP インストールコマンド、macOS の権限について説明しています。
  • references/usage.md:MCP 設定、CLI の直接呼び出し、実行順序、プラットフォームの動作について説明しています。
  • references/troubleshooting.md:権限、デスクトップセッション、アプリの検出、アクションの失敗について説明しています。

コメント