/ agent-browser.schema.json
agent-browser.schema.json
1 { 2 "$schema": "http://json-schema.org/draft-07/schema#", 3 "title": "Agent Browser Configuration", 4 "description": "Configuration file for agent-browser (e.g., agent-browser.json or ~/.agent-browser/config.json)", 5 "type": "object", 6 "properties": { 7 "headed": { 8 "type": "boolean", 9 "description": "Show browser window instead of running headless." 10 }, 11 "json": { 12 "type": "boolean", 13 "description": "Output in JSON format." 14 }, 15 "debug": { 16 "type": "boolean", 17 "description": "Enable debug output." 18 }, 19 "session": { 20 "type": "string", 21 "description": "Session identifier." 22 }, 23 "sessionName": { 24 "type": "string", 25 "description": "Auto-save/load state persistence name." 26 }, 27 "executablePath": { 28 "type": "string", 29 "description": "Path to a custom browser executable." 30 }, 31 "extensions": { 32 "type": "array", 33 "items": { 34 "type": "string" 35 }, 36 "description": "Paths to browser extensions. Extensions from user-level and project-level configs are concatenated." 37 }, 38 "profile": { 39 "type": "string", 40 "description": "Path to the browser profile data directory." 41 }, 42 "state": { 43 "type": "string", 44 "description": "Path to load/save browser state." 45 }, 46 "proxy": { 47 "type": "string", 48 "description": "Proxy server URL (e.g., http://localhost:8080)." 49 }, 50 "proxyBypass": { 51 "type": "string", 52 "description": "Comma-separated domains to bypass the proxy (e.g., localhost,*.internal.com)." 53 }, 54 "args": { 55 "type": "string", 56 "description": "Additional comma-separated launch arguments for the browser." 57 }, 58 "userAgent": { 59 "type": "string", 60 "description": "Custom User-Agent string." 61 }, 62 "provider": { 63 "type": "string", 64 "description": "Provider to use, such as 'ios'." 65 }, 66 "device": { 67 "type": "string", 68 "description": "Device name or identifier for emulation or providers (e.g., 'iPhone 16 Pro')." 69 }, 70 "ignoreHttpsErrors": { 71 "type": "boolean", 72 "description": "Ignore HTTPS errors during navigation." 73 }, 74 "allowFileAccess": { 75 "type": "boolean", 76 "description": "Allow file:// URLs to access local files." 77 }, 78 "cdp": { 79 "type": "string", 80 "description": "Chrome DevTools Protocol endpoint URL." 81 }, 82 "autoConnect": { 83 "type": "boolean", 84 "description": "Auto-discover and connect to a running Chrome instance." 85 }, 86 "annotate": { 87 "type": "boolean", 88 "description": "Annotated screenshot with numbered element labels." 89 }, 90 "colorScheme": { 91 "type": "string", 92 "enum": ["dark", "light", "no-preference"], 93 "description": "Color scheme preference." 94 }, 95 "downloadPath": { 96 "type": "string", 97 "description": "Default directory for browser downloads." 98 }, 99 "contentBoundaries": { 100 "type": "boolean", 101 "description": "Wrap page output in boundary markers for LLM safety." 102 }, 103 "maxOutput": { 104 "type": "integer", 105 "minimum": 0, 106 "description": "Max characters for page output (truncates beyond limit)." 107 }, 108 "allowedDomains": { 109 "type": "array", 110 "items": { 111 "type": "string" 112 }, 113 "description": "Allowed domain patterns (e.g., ['example.com', '*.example.com'])." 114 }, 115 "actionPolicy": { 116 "type": "string", 117 "description": "Path to action policy JSON file." 118 }, 119 "confirmActions": { 120 "type": "string", 121 "description": "Comma-separated action categories requiring confirmation." 122 }, 123 "confirmInteractive": { 124 "type": "boolean", 125 "description": "Enable interactive confirmation prompts (auto-denies if stdin is not a TTY)." 126 }, 127 "engine": { 128 "type": "string", 129 "enum": ["chrome", "lightpanda"], 130 "default": "chrome", 131 "description": "Browser engine to use." 132 }, 133 "screenshotDir": { 134 "type": "string", 135 "description": "Default screenshot output directory." 136 }, 137 "screenshotQuality": { 138 "type": "integer", 139 "minimum": 0, 140 "maximum": 100, 141 "description": "JPEG quality for screenshots (0-100)." 142 }, 143 "screenshotFormat": { 144 "type": "string", 145 "enum": ["png", "jpeg"], 146 "description": "Screenshot format." 147 }, 148 "idleTimeout": { 149 "type": "string", 150 "description": "Auto-shutdown the daemon after inactivity (e.g., '30s', '5m', '1h', or raw milliseconds like '60000')." 151 }, 152 "model": { 153 "type": "string", 154 "description": "AI model for chat command (e.g., 'openai/gpt-4o')." 155 }, 156 "noAutoDialog": { 157 "type": "boolean", 158 "description": "Disable automatic dismissal of alert/beforeunload dialogs." 159 }, 160 "headers": { 161 "type": "string", 162 "description": "Custom HTTP headers supplied as a JSON-formatted string." 163 } 164 }, 165 "additionalProperties": true 166 }