urlstring
Source URL to probe
intentstring
Natural-language description of what the user wants extracted. Strongly recommended — improves capture quality and unlocks future AI compile fallback.
sitestring
Required for save (e.g. "github"); also enables re-capture when url is omitted
namestring
Required for save (e.g. "trending")
liveboolean
true + url: begin a LIVE session — bind a tab and return live_session for real-time single-op dispatch (every op recorded). Combine with attach to bind the user's open tab without reloading it.
attachany
Live begin only: nav attach directive, e.g. {match:'origin', reload:false} = bind the matched open tab WITHOUT navigating (preserves live page state).
live_sessionstring
Live-session id from the begin call. Combine with `op` or `freeze`.
opobject
Live: ONE plan-v1 Op to dispatch now on the session's tab (~1s feedback). Same lint rules as authored plans. Result returns directly; the op is appended to the session recording.
opsobject[]
Live: a SHORT op sequence dispatched in one call — sequential, FAIL-FAST (stops at the first failure; tail not attempted). All ops lint up front. Each op is recorded individually. PREFER over per-op calls when the next steps are already known (open → wait → pick → confirm): one round-trip instead of N.
digestany
Live: survey the bound page in ONE call — every visible interactive element as {i, role, name, selector, inViewport, x/y/w/h} (i = document scan order; viewport-first, capped 120). Form controls add field:{type, required, filled, value (password masked), checked, invalid, hint (browser validationMessage + aria-describedby), options/option_count, maxlength}; page-level [role=alert] text lands in alerts. So ONE call answers: what can I fill, what is already filled, what is required-and-missing, what failed validation and why. Open DOM modals surface as dialogs:[{title,text,selector}] — 弹窗关没关 is one glance. Items are ready-made input targets: {role, name} works directly as `target`. START HERE instead of eval-probing. Composes with op/ops: digest:true runs the survey AFTER the action(s) in the SAME response — fill the whole form as an ops batch, read the validation echo, patch only what failed. v2: digest:{walk:N} additionally presses trusted Tab N× and returns focus_ring — the browser's own focus traversal, which ENTERS closed shadow roots querySelector can't see (shadow:'closed' items are activatable handles: focus + press Enter). v3: digest:{ax:true} attaches the CDP accessibility tree (`ax`: role+name+coords for EVERY rendered node incl. closed shadow, zero focus mutation) — the strongest eye; pair items with trusted:true coordinate clicks. op:ax is also plan-callable directly.
freezeobject
Live: materialize the session's successful ops into a saved Plan {site, name, key?, description?, ops?, return?}. `key` required when the selection mutates. Archives the session.