Repository navigation
Expand file tree
/
Copy pathagent-browser.schema.json
More file actions
280 lines (280 loc) · 9.88 KB
/
Copy pathagent-browser.schema.json
File metadata and controls
280 lines (280 loc) · 9.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Agent Browser Configuration",
"description": "Configuration for agent-browser. All fields are supported in ~/.agent-browser/config.json or a file explicitly selected with --config or AGENT_BROWSER_CONFIG. Automatically discovered ./agent-browser.json accepts only headed, json, debug, userAgent, hideScrollbars, annotate, colorScheme, maxOutput, screenshotQuality, screenshotFormat, and idleTimeout; other fields are ignored with a warning.",
"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. Set these in user config or an explicitly selected config; automatically discovered project config ignores them."
},
"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."
},
"webgpu": {
"type": "boolean",
"description": "Enable WebGPU (SwiftShader software Vulkan on Linux; no GPU required). Defaults to false."
},
"noWebmcp": {
"type": "boolean",
"description": "Disable experimental WebMCP support, which is enabled by default for locally launched Chrome. Can also be set with AGENT_BROWSER_NO_WEBMCP."
},
"ignoreHttpsErrors": {
"type": "boolean",
"description": "Ignore HTTPS errors during navigation."
},
"caCert": {
"type": "string",
"description": "Path to a CA certificate or PEM bundle. Trusted by the CLI's own HTTPS requests (read, install, upgrade, doctor), and by locally launched Chromium on Linux. Trust remains active for later commands in the same running session."
},
"useSystemCa": {
"type": "boolean",
"description": "Use the operating system trust store instead of the built-in roots for the CLI's own HTTPS requests. Does not affect the browser. Can also be set with AGENT_BROWSER_USE_SYSTEM_CA."
},
"clearCaCert": {
"type": "boolean",
"description": "Explicitly clear CA trust retained by the running browser session."
},
"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."
},
"pinTab": {
"type": "boolean",
"description": "Pin the session to its bound tab and fail if that tab is gone."
},
"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'])."
},
"capture": {
"type": "array",
"items": {
"type": "string",
"enum": ["flow"]
},
"description": "Record the session so `flow save` can turn it into a replayable flow. Applies when the session opens."
},
"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", "obscura"],
"default": "chrome",
"description": "Browser engine to use. Obscura is experimental and does not support proxy bypass rules."
},
"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'). Defaults to '1h'; '0' disables idle shutdown. Dashboard input resets the timer. The default never closes headed browsers, including Safari and iOS WebDriver sessions, or attached browsers; an explicit value applies to all browsers."
},
"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. Set this in user config or an explicitly selected config; automatically discovered project config ignores it. 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
}