Explore once with AI.
Replay deterministically.
Heal with AI.

Write web tests in plain language. A System 1 decision model drives the browser the first time. Every later run replays the learned steps with no model calls, and only a step that broke goes back to the model.

Get started Watch the demo npm install -g s1pilot && s1pilot ui

See it run

Testing the sign-in on PlayLab with a real System 1 model: one plain-language sentence, the password stored as an encrypted secret the model never sees, one AI exploration, then a replay with no model calls.

How it works

A System 1 model answers like a classifier: a choice and a probability. That makes every step inspectable and lets s1pilot ask for help instead of guessing.

01 · Explore

The model picks each action

For every plain-language step, s1pilot reads the page, lists the candidate elements and asks System 1 which to act on.

Add to cart0.93
Save for later0.05
02 · Replay

Passing runs become scripts

The resolved locators and actions are saved as a learned script. Reruns are fast and deterministic, with zero model calls.

03 · Heal

Only what broke is fixed

When the page changes, the one broken step goes back to System 1 and the fix is proposed for your approval.

Tests anyone can read

Each step is an action and an expected result. Add deterministic assertions where they matter. Tests live as YAML in your repository and sync both ways with the web app.

Run them from CI with s1pilot run. You get JUnit, JSON and HTML reports, exit codes for passed, failed and needs-review, and a pull request summary comment.

key: SHOP-TC-42
title: Guest can check out a single item
parameters:
  - { size: M, colour: Blue }
steps:
  - action: Search for "t-shirt" and open
      the "Classic Tee" product
    expected: The product page is shown
  - action: Choose colour {colour} and
      size {size}, then add to cart
    expected: Cart badge shows 1 item
    assert:
      - { type: elementText, role: status,
          contains: "1" }

Everything a test team needs

Not just a runner. s1pilot is a local-first test management app.

Test management

Projects, environments, suites, cases, plans, runs, defects and analytics in one web app.

Human in the loop

Attended runs pause for approval. Unsure verdicts go to a review queue instead of being guessed.

Secrets stay secret

Values are referenced, never sent to a model or written to traces. Production environments are read-only by default.

Bring your model

Use System 1 endpoints, OpenAI-compatible log-probability models, or a chat model for escalation. Run them locally or in the cloud.

Scale out

Docker images for a team server and remote workers, with Postgres and S3 artifact storage.

Measured quality

An eval harness with seeded-bug fixture sites, and calibration from human review outcomes.