Agent Runtime
Status: Connected
Parsing documentation...
Extracted api references
Generating type definitions...
opensteeropensteer
Y Combinator logoBacked by Y Combinator.

The most comprehensive browser automation framework for AI

Enterprise-grade automation at scale.

Custom plans, unlimited concurrent sessions, dedicated proxies, and advanced support for teams that need more.

+ self-service sso
+ unlimited concurrent sessions
+ custom audit logs
+ advanced captcha bypass
+ dedicated support
view pricing

Simple, transparent pricing.

Start for free, upgrade when you need to scale. Everything you need to build robust AI agents.

Core Concepts

Sessions

Runtime session routing and selector namespaces.

Runtime sessions vs selector namespaces

Two distinct concepts share the word "session":

  • Runtime session — which browser instance you connect to.
  • Selector namespace — where cached selectors are stored on disk.

They are configured independently.

Session routing

The runtime session is resolved in priority order:

PrioritySourceExample
1--session flagopensteer click --session abc123
2OPENSTEER_SESSION envOPENSTEER_SESSION=abc123
3OPENSTEER_CLIENT_ID bindingNon-interactive routing
4Interactive TTY bindingDefault for terminal usage

Namespace

Set the namespace with --name (CLI) or the name constructor option (SDK). Selectors are stored in .opensteer/selectors/<namespace>/.

The namespace is the link between CLI and SDK. Use the same value in both to share a selector cache:

opensteer open --name my-project
const opensteer = new Opensteer({ name: 'my-project' })

Both read from and write to .opensteer/selectors/my-project/.

getNamespace() returns the resolved namespace string.

Workflow

  1. Explore with CLI (opensteer open --name my-project).
  2. Cache selectors — descriptions persist automatically on resolution.
  3. Cache extractions — extract schemas persist alongside selectors.
  4. Generate script — the SDK reads from the same namespace, replaying cached paths without LLM calls.

Session persistence

Local sessions persist until you call close. Cloud sessions have a server-managed lifecycle.