Files
wehub-resource-sync cb15c5e0d8
CI / Rust (windows-latest - x86_64-pc-windows-msvc) (push) Waiting to run
CI / Native E2E Tests (push) Blocked by required conditions
CI / Windows Integration Test (push) Blocked by required conditions
CI / Version Sync Check (push) Waiting to run
CI / Rust (push) Waiting to run
CI / Dashboard (push) Waiting to run
CI / Sandbox Package (push) Waiting to run
CI / Rust (macos-latest - aarch64-apple-darwin) (push) Waiting to run
CI / Rust (macos-latest - x86_64-apple-darwin) (push) Waiting to run
CI / Global Install (macos-latest) (push) Blocked by required conditions
CI / Global Install (ubuntu-latest) (push) Blocked by required conditions
CI / Global Install (windows-latest) (push) Blocked by required conditions
Release / Check for new version (push) Has been cancelled
Release / Build macOS ARM64 (push) Has been cancelled
Release / Build macOS x64 (push) Has been cancelled
Release / Build Linux ARM64 (push) Has been cancelled
Release / Build Linux musl ARM64 (push) Has been cancelled
Release / Build Linux musl x64 (push) Has been cancelled
Release / Build Linux x64 (push) Has been cancelled
Release / Build Windows x64 (push) Has been cancelled
Release / Publish to npm (push) Has been cancelled
Release / Publish sandbox package to npm (push) Has been cancelled
Release / Create GitHub Release (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:35:58 +08:00

249 lines
7.8 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Agent Browser Configuration",
"description": "Configuration file for agent-browser (e.g., agent-browser.json or ~/.agent-browser/config.json)",
"type": "object",
"properties": {
"headed": {
"type": "boolean",
"description": "Show browser window instead of running headless."
},
"json": {
"type": "boolean",
"description": "Output in JSON format."
},
"debug": {
"type": "boolean",
"description": "Enable debug output."
},
"session": {
"type": "string",
"description": "Session identifier."
},
"restore": {
"type": "string",
"description": "Auto-save/restore persistence key. A bare CLI --restore uses the current session; config values use this explicit key."
},
"restoreSave": {
"type": "string",
"enum": ["auto", "always", "never"],
"default": "auto",
"description": "Auto-save policy for restored state."
},
"restoreCheckUrl": {
"type": "string",
"description": "URL glob that restored state must match before auto-save."
},
"restoreCheckText": {
"type": "string",
"description": "Visible page text that restored state must expose before auto-save."
},
"restoreCheckFn": {
"type": "string",
"description": "JavaScript expression that must evaluate truthy before restored state is auto-saved."
},
"namespace": {
"type": "string",
"description": "Namespace that isolates daemon sockets and restore-state directories."
},
"sessionName": {
"type": "string",
"description": "Legacy alias for restore persistence key."
},
"executablePath": {
"type": "string",
"description": "Path to a custom browser executable."
},
"extensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Paths to browser extensions. Extensions from user-level and project-level configs are concatenated."
},
"initScripts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Page init script paths registered before navigation."
},
"enable": {
"type": "array",
"items": {
"type": "string",
"enum": ["react-devtools"]
},
"description": "Built-in launch features to enable."
},
"profile": {
"type": "string",
"description": "Path to the browser profile data directory."
},
"state": {
"type": "string",
"description": "Path to load/save browser state."
},
"proxy": {
"type": "string",
"description": "Proxy server URL (e.g., http://localhost:8080)."
},
"proxyBypass": {
"type": "string",
"description": "Comma-separated domains to bypass the proxy (e.g., localhost,*.internal.com)."
},
"args": {
"type": "string",
"description": "Additional comma-separated launch arguments for the browser."
},
"userAgent": {
"type": "string",
"description": "Custom User-Agent string."
},
"provider": {
"type": "string",
"description": "Provider to use, such as 'ios'."
},
"device": {
"type": "string",
"description": "Device name or identifier for emulation or providers (e.g., 'iPhone 16 Pro')."
},
"hideScrollbars": {
"type": "boolean",
"description": "Hide native scrollbars in headless Chromium screenshots. Defaults to true."
},
"ignoreHttpsErrors": {
"type": "boolean",
"description": "Ignore HTTPS errors during navigation."
},
"allowFileAccess": {
"type": "boolean",
"description": "Allow file:// URLs to access local files."
},
"cdp": {
"type": "string",
"description": "Chrome DevTools Protocol endpoint URL."
},
"autoConnect": {
"type": "boolean",
"description": "Auto-discover and connect to a running Chrome instance."
},
"annotate": {
"type": "boolean",
"description": "Annotated screenshot with numbered element labels."
},
"colorScheme": {
"type": "string",
"enum": ["dark", "light", "no-preference"],
"description": "Color scheme preference."
},
"downloadPath": {
"type": "string",
"description": "Default directory for browser downloads."
},
"contentBoundaries": {
"type": "boolean",
"description": "Wrap page output in boundary markers for LLM safety."
},
"maxOutput": {
"type": "integer",
"minimum": 0,
"description": "Max characters for page output (truncates beyond limit)."
},
"allowedDomains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed domain patterns (e.g., ['example.com', '*.example.com'])."
},
"actionPolicy": {
"type": "string",
"description": "Path to action policy JSON file."
},
"confirmActions": {
"type": "string",
"description": "Comma-separated action categories requiring confirmation."
},
"confirmInteractive": {
"type": "boolean",
"description": "Enable interactive confirmation prompts (auto-denies if stdin is not a TTY)."
},
"engine": {
"type": "string",
"enum": ["chrome", "lightpanda"],
"default": "chrome",
"description": "Browser engine to use."
},
"screenshotDir": {
"type": "string",
"description": "Default screenshot output directory."
},
"screenshotQuality": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "JPEG quality for screenshots (0-100)."
},
"screenshotFormat": {
"type": "string",
"enum": ["png", "jpeg"],
"description": "Screenshot format."
},
"idleTimeout": {
"type": "string",
"description": "Auto-shutdown the daemon after inactivity (e.g., '30s', '5m', '1h', or raw milliseconds like '60000')."
},
"model": {
"type": "string",
"description": "AI model for chat command (e.g., 'openai/gpt-4o')."
},
"noAutoDialog": {
"type": "boolean",
"description": "Disable automatic dismissal of alert/beforeunload dialogs."
},
"headers": {
"type": "string",
"description": "Custom HTTP headers supplied as a JSON-formatted string."
},
"plugins": {
"type": "array",
"description": "External plugin registry. Project-level entries are appended after user-level entries, and duplicate names resolve to the later entry.",
"items": {
"type": "object",
"required": ["name", "command"],
"properties": {
"name": {
"type": "string",
"description": "Plugin name used by commands such as auth login --credential-provider."
},
"command": {
"type": "string",
"description": "Executable path or command name for the plugin process."
},
"args": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional arguments passed to the plugin process. Do not store secrets here."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Capabilities declared by the plugin. Built-in capability names include credential.read, browser.provider, launch.mutate, and command.run; plugins may also declare custom names such as captcha.solve."
},
"source": {
"type": "string",
"description": "Optional source recorded by agent-browser plugin add, such as npm:agent-browser-plugin-example or github:owner/repo."
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}