OpenSteer provides a unified API that works seamlessly in both local and cloud execution modes. By default, OpenSteer runs in local mode, executing browser automation directly on your machine. Cloud mode allows you to offload execution to remote infrastructure.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/steerlabs/opensteer/llms.txt
Use this file to discover all available pages before exploring further.
Default: Local Mode
Without any configuration, OpenSteer runs in local mode:- Browser runs on your machine
- Full access to filesystem (cookies, file uploads)
- Uses local Playwright browser binaries
- No network latency for browser commands
- Free (no cloud API costs)
Enabling Cloud Mode
Enable cloud mode using environment variables or constructor options.Environment Variables
Set these environment variables to enable cloud mode:Constructor Configuration
You can also configure cloud mode directly in code:Constructor
cloud options override the OPENSTEER_MODE environment variable.Configuration Options
Environment Variables
Execution mode:
local or cloudYour OpenSteer API key (required for cloud mode)
Override the default cloud host URL
Authentication scheme:
api-key or bearerCloud announcement policy:
always, off, or ttyalways: Always announce cloud session URLsoff: Never announcetty: Only announce when running in a TTY
Disable automatic
.env file loadingConstructor Options
Enable cloud mode or provide detailed cloud configurationCloudOptions:
apiKey(string): API key for authenticationbaseUrl(string): Custom cloud host URLauthScheme(‘api-key’ | ‘bearer’): Authentication schemeannounce(‘always’ | ‘off’ | ‘tty’): Announcement policy
Environment File Loading
OpenSteer automatically loads.env files in the following order:
.env.<NODE_ENV>.local(e.g.,.env.production.local).env.local(skipped whenNODE_ENV=test).env.<NODE_ENV>(e.g.,.env.production).env
storage.rootDir (default: process.cwd()). Existing process.env values are not overwritten.
Key Differences
Local-Only Features
These features are only available in local mode:Opensteer.from(page)
Wrap an existing Playwright page instance
uploadFile()
Upload files from local filesystem
exportCookies()
Export cookies to local JSON file
importCookies()
Import cookies from local JSON file
Cloud Session Management
In cloud mode, OpenSteer manages remote browser sessions:Cloud sessions include
cloudSessionUrl for deep linking to remote browser instances.CUA Agent Support
Computer Use Agent (CUA) mode is supported in both local and cloud execution:Cloud API Contract
Cloud mode uses a strict v3 contract with the following endpoints:Control API
Session Creation
POST /sessions requires:
WebSocket Endpoints
Fail-Fast Behavior
If cloud mode is configured but unavailable:Best Practices
Use environment variables for mode selection
Use environment variables for mode selection
Keep your code mode-agnostic by using environment variables:This allows switching between local and cloud without code changes.
Avoid local-only features in shared code
Avoid local-only features in shared code
Commit .env.example but not .env
Commit .env.example but not .env
Provide an example file for team members:Add
.env.example
.env to .gitignore to protect secrets.Use cloud mode for CI/CD pipelines
Use cloud mode for CI/CD pipelines
Cloud mode is ideal for continuous integration:
GitHub Actions
Related
Launch Options
Complete API reference for launch() configuration
CUA Agents
Learn about Computer Use Agent mode