設定
毎回のコマンドでフラグを繰り返し指定する代わりに、永続的なデフォルト値を設定するために agent-browser.json ファイルを作成してください。
設定ファイルの場所
agent-browser は2つの場所をチェックし、優先度順にマージします:
| 優先度 | 場所 | スコープ |
|---|---|---|
| 1(最低) | ~/.agent-browser/config.json | ユーザー単位のデフォルト値 |
| 2 | ./agent-browser.json | プロジェクト単位の上書き設定 |
| 3 | AGENT_BROWSER_* 環境変数 | 設定値の上書き |
| 4(最高) | CLIフラグ | すべてを上書き |
プロジェクト単位の値がユーザー単位の値を上書きします。環境変数が両方を上書きします。CLIフラグは常に優先されます。
デフォルトの場所ではなく、特定の設定ファイルを読み込むには --config <path> オプションまたは AGENT_BROWSER_CONFIG 環境変数を使用してください:
agent-browser --config ./ci-config.json open example.com
AGENT_BROWSER_CONFIG=./ci-config.json agent-browser open example.com例:設定ファイル
{
"headed": true,
"proxy": "http://localhost:8080",
"profile": "./browser-data",
"userAgent": "my-agent/1.0",
"ignoreHttpsErrors": true
}全てのオプション
すべての CLI フラグは、そのケメルケース形式を使って設定ファイルで指定できます:
| 設定キー | CLIフラグ | 型 |
|---|---|---|
headed | --headed | boolean |
json | --json | boolean |
full | --full, -f | boolean |
debug | --debug | boolean |
session | --session | string |
sessionName | --session-name | string |
executablePath | --executable-path | string |
extensions | --extension | string[] |
profile | --profile | string |
state | --state | string |
proxy | --proxy | string |
proxyBypass | --proxy-bypass | string |
args | --args | string |
userAgent | --user-agent | string |
provider | -p, --provider | string |
device | --device | string |
ignoreHttpsErrors | --ignore-https-errors | boolean |
allowFileAccess | --allow-file-access | boolean |
cdp | --cdp | string |
autoConnect | --auto-connect | boolean |
colorScheme | --color-scheme | string (dark, light, no-preference) |
downloadPath | --download-path | string |
contentBoundaries | --content-boundaries | boolean |
maxOutput | --max-output | number |
allowedDomains | --allowed-domains | string[] |
actionPolicy | --action-policy | string |
confirmActions | --confirm-actions | string |
confirmInteractive | --confirm-interactive | boolean |
engine | --engine | string (chrome, lightpanda) |
native | --native | boolean (実験的) |
headers | --headers | string (JSON) |
一般的な設定例
ローカル開発
{
"headed": true,
"profile": "./browser-data"
}プロキシの背後にある状況
{
"proxy": "http://proxy.corp.example.com:8080",
"proxyBypass": "localhost,*.internal.com",
"ignoreHttpsErrors": true
}CI / Devcontainer
{
"args": "--no-sandbox,--disable-gpu",
"ignoreHttpsErrors": true
}iOSテスト
{
"provider": "ios",
"device": "iPhone 16 Pro"
}AIエージェントのセキュリティ
{
"contentBoundaries": true,
"maxOutput": 50000,
"allowedDomains": ["your-app.com", "*.your-app.com"],
"actionPolicy": "./policy.json"
}ブール型オプションの上書き
ブール型のフラグは、オプションで true/false 値を指定することで設定値を上書きできます:
agent-browser --headed false open example.comフラグをそのまま使用した場合(裸のフラグ)は、true を指定したのと同じです:
agent-browser --headed open example.com # --headed true と同じ
agent-browser --headed true open example.com # 明示的このルールはすべてのブール型フラグに適用されます:--headed, --debug, --json, --ignore-https-errors, --allow-file-access, --auto-connect, --content-boundaries, --confirm-interactive, --native。
拡張機能のマージ
ユーザーレベルとプロジェクトレベルの設定から得られる拡張機能は、置換ではなく連結されます。たとえば、~/.agent-browser/config.json が ["/ext1"] と指定し、./agent-browser.json が ["/ext2"] と指定している場合、結果は ["/ext1", "/ext2"] になります。
AGENT_BROWSER_EXTENSIONS 環境変数および CLI の --extension フラグは、標準の優先度ルールに従います(環境変数が設定を上書きし、CLI は末尾に追加)。
環境変数
これらの環境変数は、追加のデーモンおよびランタイム動作を構成します:
| 変数 | 説明 | デフォルト |
|---|---|---|
AGENT_BROWSER_AUTO_CONNECT | 実行中の Chrome インスタンスを自動検出・接続します。 | (無効) |
AGENT_BROWSER_ALLOW_FILE_ACCESS | file:// URL がローカルファイルにアクセスすることを許可します。 | (無効) |
AGENT_BROWSER_COLOR_SCHEME | 色テーマの好み (dark, light, no-preference)。 | (なし) |
AGENT_BROWSER_DOWNLOAD_PATH | ブラウザのダウンロード用のデフォルトディレクトリ。 | (一時ディレクトリ) |
AGENT_BROWSER_DEFAULT_TIMEOUT | Playwright のデフォルトタイムアウト(ミリ秒)。IPCタイムアウトを避けるため、30000未満に保ってください。 | 25000 |
AGENT_BROWSER_SESSION_NAME | 自動保存/読み込みの状態保持名。 | (なし) |
AGENT_BROWSER_STATE_EXPIRE_DAYS | N日以上前に保存されたセッション状態を自動削除します。 | 30 |
AGENT_BROWSER_ENCRYPTION_KEY | AES-256-GCM によるセッション暗号化用の64文字のハッシュキー。 | (なし) |
AGENT_BROWSER_EXTENSIONS | コンマ区切りのブラウザ拡張機能パス。拡張機能はヘッド付きおよびヘッドレスモードの両方で動作します。 | (なし) |
AGENT_BROWSER_HEADED | ヘッドレスで実行する代わりにブラウザウィンドウを表示する (1で有効化)。 | (無効) |
AGENT_BROWSER_STREAM_PORT | 指定されたポート(例:9223)でWebSocketストリーミングを有効化。 | (無効) |
AGENT_BROWSER_IOS_DEVICE | iosプロバイダ用のデフォルトのiOSデバイス名。 | (なし) |
AGENT_BROWSER_IOS_UDID | iosプロバイダ用のデフォルトのiOSデバイスUDID。 | (なし) |
AGENT_BROWSER_DEBUG | デバッグ出力を有効化 (1で有効化)。 | (無効) |
AGENT_BROWSER_CONTENT_BOUNDARIES | LLMの安全性のためにページ出力を境界マークで囲みます。 | (無効) |
AGENT_BROWSER_MAX_OUTPUT | ページ出力の最大文字数(上限を超える部分は切り詰められます)。 | (制限なし) |
AGENT_BROWSER_ALLOWED_DOMAINS | コンマ区切りの許可ドメインパターン(例:example.com,*.example.com)。 | (制限なし) |
AGENT_BROWSER_ACTION_POLICY | アクションポリシーのJSONファイルへのパス。 | (なし) |
AGENT_BROWSER_CONFIRM_ACTIONS | 確認が必要なアクションカテゴリのコンマ区切りリスト。 | (なし) |
AGENT_BROWSER_CONFIRM_INTERACTIVE | インタラクティブな確認プロンプトを有効化(stdinがTTYでない場合は自動的に拒否)。 | (無効) |
AGENT_BROWSER_ENGINE | 使用するブラウザエンジン:chrome(デフォルト)、lightpanda。--native を意味します。 | chrome |
AGENT_BROWSER_NATIVE | Node.js/Playwrightではなく、実験的なネイティブRustデーモンを使用。 | (無効) |
エラー処理
- 自動検出された設定ファイル(
~/.agent-browser/config.json、./agent-browser.json)が存在しない場合、静かに無視されます。 --config <path>でファイルが存在しないか不正な形式の場合、エラーで終了します。- 自動検出されたファイル内の不正なJSON は標準エラー出力に警告を出力し、そのファイルは無視して継続します。
- 不明なキー は前向き互換性のために静かに無視されます。
ヒント: プロジェクトレベルの
agent-browser.jsonに環境依存の値(パス、プロキシなど)が含まれている場合、.gitignoreに追加することを検討してください。