{ "$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." }, "sessionName": { "type": "string", "description": "Auto-save/load state persistence name." }, "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." }, "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')." }, "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." } }, "additionalProperties": true }