open-computer-use について
Open Computer Use は、デスクトップアプリを操作するエージェント向けに、ローカルコマンドラインと stdio MCP サーバーを提供します。macOS、Linux、Windows で共通のアプリ確認・入力操作を利用でき、プラットフォーム別の設定手順もあります。
主な機能
- 01ローカルコマンドラインと stdio MCP サーバー
- 02アプリ検出と UI 状態の確認
- 03マウス、キーボード、値の設定操作
- 043つのプラットフォーム共通のツール群
- 05連続コマンド実行とコードによる制御
活用シーン
- 01デスクトップアプリの状態確認と操作
- 02GUI 操作手順の自動化
- 03エージェントランタイムとデスクトップ操作の接続
- 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.yamlreferences/installation.mdtroubleshooting.mdusage.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。
基本的なワークフロー
- macOS では、CLI を実行する前に
sw_vers -productVersionを実行し、macOS 14.0 以降であることを確認します。それより古いバージョンの場合、ランタイムを起動できないことを説明してください。バイナリの非互換性への対処として、doctorの実行や権限の変更を勧めないでください。 open-computer-use -hまたはocu -hを実行して、CLI がインストールされていることを確認します。インストールまたはセットアップが不足している場合は、references/installation.md を読んでください。- 対応している macOS バージョンでは、初めて実際の GUI タスクを行う前に
open-computer-use doctorを実行します。権限が不足している場合は、オンボーディング UI でアクセシビリティと画面収録を許可するようユーザーに依頼してください。 - 操作する前に、利用可能なアプリを確認します:
open-computer-use call list_apps。 open-computer-use call get_app_state --args '{"app":"TextEdit"}'で現在の UI 状態を取得します。通常、デフォルトの状態で UI 操作には十分です。- チャット履歴、メール本文、文書のテキスト、長文コンテンツなど、意味的な情報を含む長いテキストが必要なタスクでは、
text_limit: 1000またはtext_limit: "max"を指定してget_app_stateを呼び出します。 - スクロールしても表示中の長いページやリストが不完全な場合は、
max_tree_nodesまたはmax_tree_depthを大きくしてget_app_stateを呼び出します。 - 最新の
get_app_stateの結果に含まれるelement_indexを使った、要素を対象とするアクションを優先してください。 - 複数ステップの CLI 操作では、
open-computer-use call --calls '<json-array>'を使用すると、1 つのプロセス内で最新の要素インデックスのマッピングを再利用できます。 - ローカル MCP サーバーに対応するエージェントランタイムでは、
open-computer-use mcpまたはocu mcpを設定し、公開されている Computer Use ツールを直接呼び出します。references/usage.md を読んでください。 - コード中心の直接的なオーケストレーションでは、
ocu capabilitiesを実行し、その後、ワンショットのocu jsまたは永続的なocu replを使用します。references/usage.md を読んでください。 - 通信、権限、デスクトップセッションへのアクセスに失敗した場合は、references/troubleshooting.md を読んでください。
操作ルール
- 対象のデスクトップはユーザーの実際のセッションとして扱ってください。ユーザーが明示的に依頼した場合を除き、パスワードマネージャー、無関係な個人情報、機密性の高いアプリを調べないでください。
- 送信、削除、購入、承認、アップロード、またはその他の外部から見える変更を行う前に、ユーザーに確認してください。
- Codex.app のプラグインヘルパーが利用できると想定しないでください。インストール済みの
open-computer-use/ocuCLI または明示的な 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:権限、デスクトップセッション、アプリの検出、アクションの失敗について説明しています。