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

Selector Cache

Local selector cache model, namespace partitioning, and cloud cache import behavior.

Selectors are stored under:

.opensteer/selectors/<namespace>

Each namespace contains:

  • index.json: selector registry metadata
  • <descriptor-id>.json: persisted descriptor records

Each descriptor stores:

  • action/extraction method
  • description
  • persisted DOM path (stable attributes + fallback hints)
  • metadata (createdAt, updatedAt, optional sourceUrl)

During replay, Opensteer resolves in this order:

  1. Persisted path by description
  2. Live DOM element counter
  3. Explicit CSS selector
  4. Built-in LLM resolution

When resolution succeeds through steps 2-4 and description is present, the resolved path is persisted for future runs.

Control API Contract

  • POST /v1/sessions
  • GET /v1/sessions/:sessionId
  • DELETE /v1/sessions/:sessionId
  • POST /v1/sessions/:sessionId/access
  • POST /selector-cache/import

POST /v1/sessions returns a semantic session descriptor: { sessionId, status, baseUrl }. Attach-only browser grants are issued later with POST /v1/sessions/:sessionId/access.

Covered Features

  • api:POST /selector-cache/import
  • sdk:extract
  • sdk:extractFromPlan