browseros について
browseros スキルは、browseros-cli で実際の Chromium ブラウザーを操作する方法をまとめています。ページの確認、操作、情報抽出、エクスポートを扱い、ブラウザー自動化や Web アプリのテストを行うエージェント向けです。
主な機能
- 01タブの起動、移動、管理
- 02ページのテキスト、リンク、要素の確認
- 03要素 ID を使った操作
- 04PDF の出力とファイルのダウンロード
- 05複数タブの調査とテスト手順
活用シーン
- 01Web フォームへの入力と送信
- 02ページからテキストや表を抽出
- 03複数のサイトを並行して確認
- 04ローカル Web アプリの画面検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ browseros-ai/ skills --skill browserosインストール後、Claude Code で/browserosを入力して読み込まれたか確認します。
同梱ファイルreferences/cli-commands.md
詳細
BrowserOS によるブラウザー自動化
browseros-cli を使って、実際の Chromium ブラウザーを操作します。Bash 経由でコマンドを実行します。構造化出力には --json を使い、特定のタブを対象にするには -p <pageId> を使います。
使用しない場合
- 表示画面のない CI/CD でのヘッドレススクレイピング — 代わりに Playwright または Puppeteer を使います。
curl/wgetで十分な静的ページの取得。
安全なデフォルト設定
- まずは読み取り専用の操作を優先します:
snap、text、links、pages、ss。 - より簡単なコマンドで実行できない場合を除き、
evalは避けます。 - スクリーンショットや PDF は、ユーザー指定のパスまたはワークスペースのパスにのみ保存します。
- 作業が終わったらタブを閉じます:
browseros-cli close <pageId>。
セットアップ
# Check if CLI is available
browseros-cli --version
# If not installed:
npm install -g browseros-cli
# If BrowserOS app is not installed:
browseros-cli install
# If BrowserOS is not running:
browseros-cli launch
# Configure connection:
browseros-cli init --auto
# Verify:
browseros-cli health
基本的なワークフロー:snap → act → re-snap
すべての操作は、次のループに従います。
- ページを開く → ページ ID を取得します。
- スナップショットを取得する →
[10] textbox "Email"、[15] button "Submit"のような要素 ID を取得します。 - 要素 ID を指定して操作する(
fill 10 "text"、click 15)。 - クリック、ページ移動、フォーム送信の後は必ずスナップショットを再取得します — DOM の更新後に ID が変わるためです。
重要なルール:
open <url>= 新しいタブを開きます。nav <url>= 現在のタブを移動します。- ページ移動後は要素 ID を絶対に再利用せず、必ずもう一度
snapを実行してください。 - コンテンツの抽出には
text、操作にはsnap、視覚的な確認にはssを使います。
browseros-cli open https://example.com/login # → Page ID: 5
browseros-cli snap -p 5 # → [10] textbox "Email", [11] textbox "Password", [15] button "Sign In"
browseros-cli fill 10 "[email protected]"
browseros-cli fill 11 "password123"
browseros-cli click 15
browseros-cli snap -p 5 # Re-snap! IDs have changed after submit
browseros-cli text -p 5 # Read result page
browseros-cli close 5 # Clean up
コマンド早見表
| カテゴリ | 主なコマンド |
|---|---|
| 移動 | open <url>、open --hidden、nav <url>、back、forward、reload、pages、active、close [id] |
| 確認 | snap、snap -e、text、text --selector <css>、text --links、text --viewport、links、ss -o <path>、ss --full、eval "<js>"、dom、dom-search "<q>"、wait --text "<txt>" |
| 入力 | click <id>、click --double、fill <id> "text"、clear <id>、key Enter、hover <id>、focus <id>、check <id>、uncheck <id>、select <id> "val"、scroll down [amt]、drag <id> --to <id>、upload <id> <file>、dialog accept/dismiss |
| エクスポート | pdf <path>、download <id> <dir> |
| リソース | window list/create/close/activate、bookmark list/search/create/remove/update/move、history recent/search/delete、group list/create/update/ungroup/close |
フラグとオプションの全一覧については、references/cli-commands.md を参照するか、browseros-cli <command> --help を実行してください。
よく使うパターン
データの抽出
browseros-cli open https://example.com/data
browseros-cli text # full page as markdown
browseros-cli text --selector "table" # scoped to element
browseros-cli text --links # include hyperlinks
複数タブを使った調査
browseros-cli open https://site-a.com # → Page ID: 1
browseros-cli open https://site-b.com # → Page ID: 2
browseros-cli text -p 1 # extract from first
browseros-cli text -p 2 # extract from second
browseros-cli close 1 && browseros-cli close 2
Web アプリのテスト
browseros-cli open http://localhost:3000
browseros-cli snap # get interactive elements
browseros-cli ss -o test-state.png # visual snapshot
browseros-cli eval "document.querySelectorAll('.error').length"
よくある間違い
| 間違い | 修正方法 |
|---|---|
CSS セレクターを使う(fill --selector "input[type=email]") | 必ず先に snap を実行し、その後で要素 ID を使います(fill 10 "text") |
| クリックまたはページ移動後に要素 ID を再利用する | DOM の変更によって ID は無効になります — もう一度 snap を実行します |
テキストの抽出に eval を使う | 代わりに text または text --selector を使います — トークン数が少なく、構造化された出力が得られます |
| タブを閉じ忘れる | リソースのリークを防ぐため、作業が終わったら必ず close <pageId> を実行します |
新しいタブを開きたいときに nav を使う | nav は現在のタブを置き換えます。新しいタブを開くには open を使います |
同じタブに留まりたいときに open を使う | open は新しいタブを作成します。現在のタブ内で移動するには nav を使います |
| コンテンツの抽出にスクリーンショットを撮る | コンテンツには text を使います — スクリーンショットはトークンを消費し、ビジョン機能が必要になります |
dialog --accept(フラグ構文)を使う | 正しい構文は dialog accept または dialog dismiss です(位置引数) |
詳細ドキュメント
| リファレンス | 説明 |
|---|---|
| references/cli-commands.md | すべてのフラグを含むコマンドの完全なリファレンス |
リンク
コメント
Markdown 対応