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.

CLI

Sessions & Scripting

Session management, non-interactive usage, and CI patterns.

Session Management

# Open a session
opensteer open --name my-project --url https://example.com

# List active sessions
opensteer sessions

# Check session state
opensteer status

# Close session
opensteer close

Session Resolution

Commands resolve the target session in this order:

PrioritySourceExample
1--session flagopensteer click --session abc123 --element 3
2OPENSTEER_SESSION envOPENSTEER_SESSION=abc123 opensteer click --element 3
3OPENSTEER_CLIENT_IDBinds non-interactive processes to sessions
4Interactive TTYDefault for terminal usage

Non-interactive commands must provide an explicit session identifier (--session or OPENSTEER_SESSION).

Non-Interactive Usage

For CI runners, agents, and scripts:

# Set explicit session and namespace
export OPENSTEER_SESSION=my-session-id
export OPENSTEER_NAME=my-project

# Run commands
opensteer open --url https://example.com
opensteer snapshot action
opensteer click --description "submit-button"
opensteer snapshot extraction
opensteer extract --description "result" --schema '{"status": "string"}'
opensteer close

Guidelines:

  • Set OPENSTEER_SESSION explicitly for deterministic routing
  • Use opensteer status before long command sequences to verify session health
  • Prefer extract with stable descriptions for replayable data collection
  • Keep --name consistent between exploration and scripted runs

CI Patterns

#!/bin/bash
set -euo pipefail

export OPENSTEER_SESSION="ci-${CI_JOB_ID}"
export OPENSTEER_NAME="my-scraper"

opensteer open --url "$TARGET_URL"
opensteer snapshot action
opensteer click --description "accept-cookies"
opensteer snapshot extraction
opensteer extract --description "page-data" --schema "$SCHEMA"
opensteer close

Separation of concerns:

  • --session / OPENSTEER_SESSION -- runtime routing (which browser)
  • --name / OPENSTEER_NAME -- selector namespace (which cache)