opencli-browser について
OpenCLIでブラウザーを操作するエージェント向けスキルです。ページの確認や操作、データ抽出、ネットワーク情報の調査、Chromeタブ管理をセッション単位で行い、結果を構造化して返します。
主な機能
- 01ページ状態と要素の確認
- 02セマンティックな対象の操作
- 03テキスト・値・HTMLの抽出
- 04ネットワーク要求とスクリプトの確認
- 05タブとChrome APIの管理
活用シーン
- 01ブラウザー検索やフォーム操作の自動化
- 02ページ内容の確認とスクリーンショット取得
- 03サイト要求と応答データの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackwener/ opencli --skill opencli-browserインストール後、Claude Code で/opencli-browserを入力して読み込まれたか確認します。
詳細
エージェント向けブラウザツール
タスクに合った機能を使ってください。opencli list <query> でコマンドを確認し、
opencli browser <command> --help -f json で正確な引数を確認してください。
接続の問題を診断する場合は、opencli doctor を実行してください。
適用範囲と結果
ページコマンドには --session <name> が必要です。タスク全体で同じ名前を再利用してください。セッションが異なると、ページの操作は分離されます。必要に応じて、--profile <name> で Chrome プロファイルを選択します。
オプションはコマンド引数の後に指定できます。
opencli browser open https://example.com --session research
opencli browser state --session research
opencli browser click --role button --name Search --session research
opencli browser close --session research
デフォルトの出力は 1 つの JSON 値です:{ "ok": true, "data": ... }。
失敗時は { "ok": false, "error": { "code": "...", "message": "...", "hint": "..." } }
が返され、終了コードは 0 以外になります。診断ログは stderr に出力されます。network --follow と
console --follow は、1 行につき 1 つのエンベロープをストリーミングします。ヘルプ、バージョン、シェル補完は、確認/エクスポート用の機能です。構造化されたヘルプには --help -f json を使います。
返されたデータフィールドとエラーフィールドを確認してください。error.outcome が unknown の場合は、書き込みを再試行する前に、影響を受ける状態を確認してください。
ページの対象と操作
stateは URL と操作可能な要素の参照を返します。--diagnosticsを指定すると、ページタイトルと利用可能な初期状態のグローバル変数も報告されます。--source axは AX ツリーを選択します。findは要素を検索します。操作対象には、参照、CSS セレクター、または--role、--name、--label、--text、--testidなどのセマンティックフラグを指定できます。- 意図的に複数の要素が一致する場合は、
--nthを使って対象を特定します。参照が古くなっている場合は、状態を再取得するか、要素をもう一度検索してください。参照は、観測されたページを表します。 fillはフィールドの値を置き換えて検証します。typeはテキストを入力します。そのほかの操作には、click、select、check、upload、drag、keys、dialogがあります。get text|value|attributes|html、extract、screenshot、evalはページデータを取得します。evalはページ内で JavaScript を実行し、状態を変更できます。wait xhr|selector|text|downloadは、想定される条件を監視します。タイムアウトと一致ルールについては、ヘルプを確認してください。tab list|new|select|closeは、セッションのタブを管理します。--tabには、これらのコマンドが返すページ ID を指定します。これは、数値のネイティブ Chrome ID とは異なります。framesはフレームの対象を一覧表示します。eval --frameは、選択したフレーム内で評価します。
bind --session research は、現在のユーザータブに接続します。バインドされたセッションでは、ページの移動はできますが、タブの作成、選択、終了はできません。unbind はユーザータブを閉じずにバインドを解除します。所有するセッションは、close またはアイドル状態の有効期限まで、リースされたタブを保持します。--window foreground|background は、所有するウィンドウを制御します。
ネットワークとスクリプト
opencli browser network --session research
opencli browser network --detail RequestKey --session research
opencli browser network --static --session research
network は、キャプチャしたリクエストキーとレスポンスの形状を返します。キャッシュされたリクエストを読み取るには --detail を、形状を選択するには --filter を、レスポンス本文を表示するには --raw を使います。
--static を指定すると、読み込まれたスクリプトから Acorn AST の候補が追加されます。候補には、ソース位置、メソッド、クエリ/本文のパラメーター名、観測されたリクエストの証拠が含まれます。EXPR は未解決の式を意味します。静的候補は実行されておらず、API として検証されていません。
analysisComplete、スクリプトエラー、省略されたスクリプト、networkSource を確認してください。
ライブキャプチャが空の場合、最近のキャッシュが再利用されることがあります。報告される来歴情報で区別できます。
ネイティブ Chrome の管理
ネイティブ呼び出しにはセッションが不要で、ページには接続しません。
opencli browser chrome describe
opencli browser chrome describe tabs.group
opencli browser chrome call tabs.query '[{}]'
opencli browser chrome call tabs.group '[{"tabIds":[123,456],"createProperties":{"windowId":10}}]'
opencli browser chrome call tabGroups.update '[789,{"title":"Research","color":"blue"}]'
Chrome が返す数値 ID を使用し、例の ID を置き換えてください。describe は、対応するメソッド、シグネチャ、現在の権限、公式ドキュメントを一覧表示します。
ネイティブに作成されたタブ/ウィンドウは保持されます。アクティブな OpenCLI セッションタブまたは管理対象グループに影響する変更は、managed_resource_conflict を返します。通常のグループは、tabs.ungroup を使って作成、名前変更、色変更、移動、解除できます。