Getting Started
What is OpenSteer
OpenSteer is a browser automation SDK and CLI for discovery-first web automation and replayable code.
What is OpenSteer
OpenSteer is an open-source SDK and CLI for exploring real websites in a real browser, then turning what you learn into plain TypeScript.
The core idea
OpenSteer is built for a discovery-first workflow:
- Open a real browser session.
- Snapshot the page and interact with it.
- Capture real network traffic from real user actions.
- Save stable
persistkeys for important elements and extraction schemas. - Ship final code with the SDK instead of keeping a human in the browser.
That makes OpenSteer useful in two different phases:
- Exploration: use the CLI or SDK to inspect a live site, click through flows, read state, and capture requests.
- Production code: use the same workspace data to run
opensteer.fetch(), inspect captured records, or reuse saved DOM targets and extraction descriptors.
What OpenSteer does well
- Browser exploration with cleaned HTML snapshots and element counters.
- DOM automation with
click,hover,input, andscroll. - Structured extraction with reusable schemas.
- Network capture, request inspection, transport probing, and session-aware
fetch(). - Browser state access through
state()plus SDK cookie and storage helpers. - Computer-use, recording, and local view for visual workflows.
- Local and cloud execution behind the same high-level API.
What persists
OpenSteer writes workspace state under .opensteer/workspaces/<workspace>/.
That workspace can hold:
- a persistent browser profile
- live session records for local and cloud lanes
- saved network traffic in
registry/saved-network.sqlitefor local and local-cloud runs - DOM persist keys and extraction descriptors in
registry/descriptors/ - durable request plans in
registry/request-plans/ - artifacts, traces, observations, and interaction traces
The goal is simple: explore once, keep the useful parts, reuse them later.
Local and cloud use the same mental model
Local mode is the default. It runs a browser on your machine.
Cloud mode runs a managed Playwright session through OpenSteer Cloud. The high-level methods stay the same, but cloud mode does not support browser attach mode or local browser admin helpers.
Minimal example
import { Opensteer } from "opensteer";
const opensteer = new Opensteer({
workspace: "demo",
rootDir: process.cwd(),
});
try {
await opensteer.open("https://example.com");
const actionHtml = await opensteer.snapshot("action");
console.log(actionHtml);
await opensteer.click({
element: 3,
persist: "primary call to action",
});
await opensteer.snapshot("extraction");
const data = await opensteer.extract({
persist: "page summary",
schema: {
title: { element: 2 },
url: { source: "current_url" },
},
});
console.log(data);
} finally {
await opensteer.close();
}
Next
- Start with Installation.
- Then work through Quick Start.
