feat(stealth): silent operation — never steal the user's foreground tab

Driving the user's real Chrome should not yank their view around. Now the agent
operates entirely in the background:
- New tabs are created with `background: true` (CreateTargetParams) so opening
  one never foregrounds it (the ab-connect extension already used active:false;
  this covers the raw-CDP path too).
- Dropped the two AUTO `Page.bringToFront` calls (auto-connect fresh tab, and the
  internal active-page switch). The explicit `bringToFront` command is untouched —
  surfacing a tab stays opt-in.
- enable_domains now sets `Emulation.setFocusEmulationEnabled(true)` so a
  backgrounded agent tab still renders (screenshots work), isn't render-throttled,
  and reports document.hasFocus()/visibilityState='visible' — which also removes
  the "tab is hidden the whole session" bot tell.

Verified headless: hasFocus=true/visible while backgrounded; click + screenshot
still work. Default behaviour, no flag.
This commit is contained in:
leeguooooo
2026-06-11 20:11:22 +09:00
parent 1c2e594003
commit 5a61a64559
4 changed files with 31 additions and 9 deletions
+1
View File
@@ -121,6 +121,7 @@ async fn collect_storage_via_temp_target(
url: "about:blank".to_string(),
// Transient internal target (storage collection) — never grouped.
agent_group: None,
background: None,
},
None,
)