Verified during the 2026-08 architecture audit (empirical: ~205ms per CLI invocation; a click = 3 spawns, fill = 5, paced scroll up to 20; includeRects snapshots do an N+1 get box @ref per node at concurrency 8).
The web provider (src/platforms/web/agent-browser-provider.ts) is process-per-command against the pinned agent-browser CLI. The browser itself stays warm (socket dir), but the control plane pays Node boot + reconnect per call.
Ask: upstream agent-browser capability, one of:
- A serve/stdio mode: one long-lived child per web session speaking line-delimited JSON (the CLI already tracks sessions via
--session).
- Composite gesture commands (
click = move+down+up in one call) and a batched box fetch (get box --all or rects embedded in snapshot JSON refs).
Either removes 5–20x per-action overhead for web automation. Until then agent-device keeps the CLI-per-call shape; no local workaround exists because refs aren't resolvable from page eval.
Verified during the 2026-08 architecture audit (empirical: ~205ms per CLI invocation; a click = 3 spawns, fill = 5, paced scroll up to 20;
includeRectssnapshots do an N+1get box @refper node at concurrency 8).The web provider (
src/platforms/web/agent-browser-provider.ts) is process-per-command against the pinned agent-browser CLI. The browser itself stays warm (socket dir), but the control plane pays Node boot + reconnect per call.Ask: upstream agent-browser capability, one of:
--session).click= move+down+up in one call) and a batched box fetch (get box --allor rects embedded in snapshot JSON refs).Either removes 5–20x per-action overhead for web automation. Until then agent-device keeps the CLI-per-call shape; no local workaround exists because refs aren't resolvable from page eval.