mcpField
O
opencli-browser

opencli-browser

github.com/jackwenerエージェントワークフロー30.7k20.3k 回インストール3 日前に更新
リポジトリ

opencli-browser について

OpenCLIでブラウザーを操作するエージェント向けスキルです。ページの確認や操作、データ抽出、ネットワーク情報の調査、Chromeタブ管理をセッション単位で行い、結果を構造化して返します。

主な機能

  1. 01ページ状態と要素の確認
  2. 02セマンティックな対象の操作
  3. 03テキスト・値・HTMLの抽出
  4. 04ネットワーク要求とスクリプトの確認
  5. 05タブとChrome APIの管理

活用シーン

  1. 01ブラウザー検索やフォーム操作の自動化
  2. 02ページ内容の確認とスクリーンショット取得
  3. 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 を使って作成、名前変更、色変更、移動、解除できます。

コメント