Skip to main content
isoldex
v3.9.0 · 351 tests passing · MIT

AI Browser Automation.
40× Cheaper.

Drop-in Playwright companion. Describe what you want in natural language — Sentinel figures out the clicks. Gemini Flash instead of GPT-4o. Open source.

import { Sentinel } from '@isoldex/sentinel';

const sentinel = new Sentinel({ apiKey: process.env.GEMINI_API_KEY });
await sentinel.init();
await sentinel.goto('https://amazon.de');

const result = await sentinel.run(
  'Search for laptop, find the cheapest one, extract name and price'
);

console.log(result.data);
// { name: 'Acer Aspire 3', price: '€349' }

await sentinel.close();
Cost per run
$0.002
Sentinel
vs
$0.08
Stagehand
Latency
~2.8s
Sentinel
vs
~4.2s
Stagehand
Self-healing
Sentinel
vs
Stagehand

Features

Everything you need

Built for production. Every feature ships with tests.

40× Cheaper

Gemini Flash at $0.002/run vs. GPT-4o at $0.08/run. Same results, fraction of the cost.

🔁

Self-Healing Locators

Successful selectors are cached and reused. LLM only called when the element moves or changes.

⚙️

Parallel Execution

Sentinel.parallel() runs N browser sessions concurrently with a built-in worker pool and error isolation.

📡

OpenTelemetry

Every act(), extract(), and agent step emits spans and metrics. Drop into Datadog, Grafana, or Jaeger.

🌑

Shadow DOM & iframes

Full support for Salesforce, ServiceNow, and any component built with Lit, Polymer, or Stencil.

🔌

Multi-LLM

Gemini, OpenAI, Claude, Ollama — swap providers with one line. Bring your own LLMProvider.

🤖

Autonomous Agent

sentinel.run(goal) plans, executes, verifies, and reflects autonomously until the goal is achieved.

🖥️

MCP Server

Use Sentinel from inside Cursor, Windsurf, or Claude Desktop without writing a single line of code.

🧪

Playwright Test

import { test } from '@isoldex/sentinel/test' — drop-in ai fixture for existing Playwright suites.

Parallel execution

Parallelise in one line

Run N browser sessions concurrently with a worker pool. Errors in one session never affect the others. Built-in progress callbacks for real-time dashboards.

parallel-scrape.ts
const results = await Sentinel.parallel(
  [
    { url: 'https://amazon.de', goal: 'Find cheapest laptop' },
    { url: 'https://ebay.de',   goal: 'Find cheapest laptop' },
    { url: 'https://otto.de',   goal: 'Find cheapest laptop' },
  ],
  { apiKey: process.env.GEMINI_API_KEY, concurrency: 3 }
);

Comparison

Sentinel vs. the alternatives

How Sentinel stacks up against Stagehand, BrowserUse, AutoGPT, and plain Playwright.

FeatureSentinelStagehandBrowserUseAutoGPTPlaywright
LanguageTypeScriptTypeScriptPythonPythonTS / Py / Java
Default LLMGemini FlashGPT-4oanyGPT-4o
Cost / run (ref. task)~$0.002~$0.08~$0.05 est.~$0.10 est.
Autonomous agent looppartial
Self-healing locators
Prompt caching
Parallel sessionspartial
MCP server
CLI tool
Playwright Test fixture
Custom LLMpartialpartial
Vision grounding
Shadow DOM / iframespartialpartial
OpenTelemetry
Selector export
Open source

Cost estimates based on official API pricing as of 2026-04-08. BrowserUse and AutoGPT costs are estimates using GPT-4o-mini defaults.

Philosophy

Why not just use Playwright?

Playwright is one of the best browser automation libraries ever built. Sentinel doesn't replace it — it sits on top of it.

🔁

Selectors break, Sentinel heals

Playwright requires you to know the exact selector. When the site redesigns, every selector breaks. Sentinel describes what to find in natural language, caches the selector it discovers, and automatically re-discovers it if it ever changes.

🔌

Extend existing page objects

You don't have to migrate your tests. Call sentinel.extend(page) on any existing Playwright Page object and it gains act(), extract(), and observe() alongside all its existing methods. Adopt AI incrementally — one test at a time.

🤖

Zero-shot automation

sentinel.run('goal') plans, executes, verifies, and reflects — no step-by-step scripting required. Use it to explore unknown sites, automate workflows you can't fully predict, or build agents that adapt to what they find.

🧪

Playwright Test drop-in

import { test } from '@isoldex/sentinel/test' gives you an ai fixture that works alongside the standard page and browser fixtures. Mix AI actions with expect() assertions — no test restructuring needed.

Pricing

Start free

Upgrade when you need managed infrastructure.

Open Source

Free
Forever
  • Full library — no feature locks
  • Self-hosted, your API keys
  • MIT License
  • Community support
Get started
Recommended

Pro

Coming soon
Hosted API + Dashboard
  • REST API — no Playwright required
  • Managed cloud browsers
  • Usage dashboard + token analytics
  • Priority support
Join waitlist

Enterprise

Custom
On-premise or cloud
  • Everything in Pro
  • SLA + dedicated support
  • On-premise deployment
  • Custom integrations
Contact us

How it works

Three layers. Zero guessing.

Every act() call runs through a layered fallback pipeline — so it succeeds even when the DOM changes.

Action fallback pipeline

1
AOM Parser

Accessibility tree snapshot → interactive elements ranked by relevance

2
Locator Cache

If this instruction ran before, reuse the cached CSS selector — LLM skipped

3
Vision Grounding

If AOM fails (Canvas / Shadow DOM), screenshot → coordinate-based click

Agent loop — sentinel.run(goal)

🧠
Plan

LLM decides next action from goal + page state

Execute

Action runs through the 3-layer pipeline

Verify

Page state checked — goal achieved?

🔁
Reflect

If not done, update context and loop again

Loop continues until goalAchieved = true or maxSteps is reached. Built-in loop detection prevents infinite cycles.

Community

What developers are saying

Early adopters on the Sentinel journey.

Migrated from Stagehand in 20 minutes. Cost dropped from $80/day to $2. Self-healing locators alone are worth it.

E
Early adopter
Senior Engineer

Finally a browser automation library that actually works with Shadow DOM. We were stuck on a Salesforce integration for weeks.

E
Early adopter
QA Lead

The MCP server is insane. I just describe what I want in Cursor and it automates the browser. No code written.

E
Early adopter
Indie Developer

Using Sentinel in production? We'd love to hear from you.

Share your experience on GitHub Discussions →

FAQ

Frequently asked questions

Everything you need to decide if Sentinel is right for your project.

Plain Playwright is great — but it requires you to know exactly which CSS selectors or roles to target. When a site redesigns, every selector breaks. Sentinel lets you describe what you want in natural language and finds the element itself. Self-healing locators mean your script survives UI changes without edits. For well-understood, stable pages you control, plain Playwright is still the right choice — Sentinel is for everything else.
Both automate browsers with AI. The key differences: Sentinel defaults to Gemini Flash (~$0.002/run) vs Stagehand's GPT-4o (~$0.08/run) — a 40× cost difference. Sentinel also adds self-healing locators, parallel execution, an MCP server, CLI, Playwright Test fixture, prompt caching, and OpenTelemetry — none of which Stagehand has. The API is intentionally similar, so migration takes under 10 minutes.
BrowserUse is Python-first and great for Python-native AI pipelines. Sentinel is TypeScript-first — built to slot into existing Node.js and Playwright projects. Sentinel also adds production features BrowserUse lacks: self-healing locators, prompt caching, parallel() with a worker pool, Playwright Test integration, MCP server, and OpenTelemetry tracing.
AutoGPT is a general-purpose AI agent where browsing is one of many tools. Sentinel is purpose-built for browser automation — it knows about accessibility trees, Shadow DOM, iframes, form semantics, and Playwright's locator API. You get a specialized, production-grade tool instead of a general agent with a browser plugin bolted on.
No — Gemini is just the default. You can use OpenAI, Claude, Ollama (local), or implement your own LLMProvider. Only Gemini requires a GEMINI_API_KEY. The free Gemini tier covers thousands of runs per month.
Yes, two ways. sentinel.extend(page) adds act(), extract(), and observe() to any existing Playwright Page object. Or use the @isoldex/sentinel/test package which provides an ai fixture that works alongside the standard page and browser fixtures — no test restructuring needed.
Yes. The StateParser recursively pierces all shadow roots via queryShadowAll() and collects interactive elements from same-origin iframes with coordinate offsets. This covers Salesforce Lightning, ServiceNow, and any component built with Lit, Polymer, or Stencil.
The MCP server exposes all 8 Sentinel tools to any MCP-compatible AI assistant like Cursor, Windsurf, or Claude Desktop. Configure it in 5 lines — then your AI assistant can automate any website without you writing a single line of code.
Sentinel itself is free and open source (MIT). You pay only for the LLM API calls: ~$0.002/run with Gemini Flash (free tier: thousands of runs/month). With self-healing locators and prompt caching enabled, repeated tasks cost effectively zero after the first run.
Yes. v3.9.0 ships with 351 passing tests, OpenTelemetry tracing, structured error classes, automatic LLM retry with exponential backoff, a 3-layer action fallback, and loop detection in the agent. Multiple features have been running in production automation workflows.
Not directly — Sentinel is a Node.js library. For zero-infrastructure use, the Pro tier (coming soon) will expose a REST API: POST a goal + URL, get structured data back. Join the waitlist below.
Set verbose: 3 in SentinelOptions to see full LLM reasoning and decision JSON per act() call. The onStep callback on run() gives step-by-step progress in real time. For distributed tracing, wire up OpenTelemetry — every span includes the instruction, action, selector, success flag, and LLM token cost.

Start in 30 seconds

No account. No credit card. Just your Gemini API key — free tier covers thousands of runs.

Coming soon

Hosted API — no Playwright required

Send a goal + URL, get structured data back. Managed cloud browsers, usage dashboard, zero infrastructure. Join the waitlist for early access.