Deterministic and interpreted steps
Keep known routes in browser code and use SDK act when a page instruction needs interpretation. A changed label need not force the entire workflow into an autonomous loop.
Stagehand combines explicit browser code with model-assisted actions and extraction. Start with browse for an existing coding agent, use the SDK for an application you maintain, or connect hosted MCP when local browser setup is unsuitable.
Separate stable navigation from changing controls before investing in an SDK implementation. The first deliverable is a version-matched implementation proposal, not an automatically tested application.
Test portal URL, fixed navigation, changing action, expected state, installed version, and SDK language; specify that no form may be submitted.
Copy the request into a new Floatboat conversation and provide the required material.
Download FloatboatPreview and copy the request. It is not sent automatically from this page.
Reference: Stagehand https://github.com/browserbase/stagehand Read the original documentation and check the current environment and dependencies. Propose any new installation or tool connection before proceeding. My task: Use Stagehand browse to inspect the approved test portal. Identify fixed navigation and the changing action, capture the resulting state, and propose a version-matched SDK flow. Do not submit the form. Expected deliverable: A version-matched SDK implementation proposal with observed page states and unresolved assumptions.
Stagehand is Browserbase’s browser automation project. The SDK combines ordinary navigation with language-driven act and extract operations. This lets application code keep a stable URL or control flow explicit while using a model where page wording or structure needs interpretation. Structured extraction is useful when downstream code expects named fields rather than a prose summary.
For coding agents, the current README recommends the browse CLI and official browse Skill. Its local mode controls installed Chrome or Chromium without a Browserbase account or LLM key. This is not a claim that SDK AI calls are keyless. Hosted Browserbase MCP is another route: it exposes browser tools through a service account without installing a local browser.
Browse sessions retain their browser target and mode. A named session makes repeated commands refer to the same work, while distinct sessions separate independent jobs; an existing BROWSE_SESSION setting already selects one. Floatboat can follow the external-agent CLI or MCP path documented for Cursor and Codex. The source is MIT; hosted browser access, plan-specific options, and model usage have separate conditions.
A stable navigation step, a changing button label, and a typed extraction result do not need the same mechanism. Stagehand gives them different entry points; browse adds a command interface for a host that already supplies the reasoning.
Keep known routes in browser code and use SDK act when a page instruction needs interpretation. A changed label need not force the entire workflow into an autonomous loop.
SDK extract can target a declared structure, such as product name, price, and availability. A valid object still needs a check that values came from the intended product and region.
Keep open, snapshot, click, and text reads on one session. Local, remote, and headed modes are chosen when that session starts, not changed silently by later commands.
Use browse to discover a page, the SDK to preserve a repeatable application workflow, and hosted MCP when infrastructure belongs outside the coding environment. The task’s future owner matters as much as whether one browser action succeeds.
Provide a development URL and a filter that should return a known number of rows. Open it in a local named session, inspect the current ref, apply the filter, and read the changed text. Deliver the selected option and row count; a stale ref is a reason to take another snapshot, not a reason to change the assertion.
For a public catalogue, declare fields such as name, displayedPrice, and availability in the SDK extraction structure. Decide how the application represents absent prices and unsupported variants. Compare several returned records with the source before connecting the object to a pricing report.
For a recurring test-account task, keep the destination URL and known navigation in code. Isolate the step that depends on a changing label or layout into an interpreted action. Record the failing step and page state so a maintainer can adjust that part without rewriting the whole routine.
If a coding environment has no Chrome installation, choose a documented remote browse session or hosted MCP with Browserbase credentials. Use a public page first and record its service session identity. Cloud execution will not reach a private localhost service merely because the local command could reach it.
The walkthrough below uses an installed CLI, local Chrome, and a supplied test URL. SDK AI calls and hosted sessions are alternative paths with their own configuration; do not add their credentials to an otherwise local page check.
The official Skill documents npm install -g browse, followed by browse --help and browse skills install. Local mode needs Chrome or Chromium on the machine.
Use an existing BROWSE_SESSION if supplied by the host; otherwise choose a name for the task. A running session keeps its mode, so stop it before deliberately changing that mode.
Provide the test URL, exact filter option or control label, and expected result. Remote sessions require Browserbase authentication and access to the target site.
This local sequence uses commands from the official browse Skill. Replace the test URL and control reference with the supplied page and its current snapshot values; retain one session target through the observation and cleanup steps.
Run browse open <test-url> --session filter-check --local unless the host has already set BROWSE_SESSION; in that case omit --session and use its target. Read browse status for that same session. If Chrome is missing, fix the local prerequisite or deliberately choose an authenticated remote path.
Run browse snapshot for the selected session and find the supplied label. The output contains refs such as @0-5; these are examples of shape, not stable IDs. Choose the ref actually returned for the filter and inspect its current value before changing it.
Use browse click or browse fill as appropriate for the control, keeping the same session. Take a new snapshot after the page changes and read browse get text body or a narrower relevant target. Compare the selected option and displayed records with the expected result.
Return the URL, option, observed rows, and any page error. If an action failed, refresh the snapshot before reusing a ref; repeated identical initialization failures call for browse doctor --json. Finish with browse stop for the selected session when the browser is no longer needed.
Compare the workflows, operating requirements, and source licenses of these projects.