Open-source runtime for agentic development

Turn agent work into reviewable engineering work.

Sealant gives coding harnesses a self-hosted workspace to work in, then turns every run into a structured record you can replay and review: code changes, checks, terminal output, artifacts, browser evidence, and the source trail behind the result.

$ curl -fsSL https://get.sealant.dev | sh

Open source · Self-hosted · Bring your own harness · Replayable runs

Run artifactacme/billing-service · run_ws_8m2k

Create a workspace

workspaces.create
const workspace = await sealant.workspaces.create({  repository: "acme/billing-service",  harness: opencode(),})
ws_8m2kReady · running
Repository
acme/billing-service
Branch
main @ a9f3c20
Harness
opencode
Runtime
node 20 · ubuntu 24.04

Make a run

harness.run
const run = await workspace.harness.run(  "Round invoice totals once, after applying the discount.",)
run_ws_8m2kCompleted
00:00.000workspace.ready
00:14.628process.exitedpnpm install · exit 0
00:17.406file.modifiedsrc/checkout.ts
00:24.802process.exited14 tests passed

Audit the outcome

record.replay
const {   changes,  checks,  artifacts,  record,} = run const {   files,  processes,  logs,} = workspace await record.replay()
Completed
Changes
3 files · +41 / −22
Checks
14 passed
Artifacts
4 retained
Record184 events
00:00.000workspace.ready
00:14.628process.exitedpnpm install · exit 0
00:17.406file.modifiedsrc/checkout.ts
00:22.041net.requestapi.stripe.com
+ 180 more events
Illustrative run artifact
Create a workspaceRun a harnessReplay the recordReview the change

Each workspace is a container built from your repo — disposable, reproducible, and under your control. One runtime model for code agents, QA agents, CI repros, dependency updates, and custom harnesses.

The run is the product surface

Every run comes back with the evidence attached.

A Sealant run is more than a transcript. It keeps the change, the commands, the checks, the artifacts, the source trail, and the observations that explain how the result was produced.

Full diff
See exactly what changed, with file context and generated patches.
Run audit
Replay the ordered history of commands, output, processes, files, and artifacts.
Evidence trail
Link the result back to the sources, snapshots, browser traces, and commands used.
Review questions
Turn the ambiguous parts of a run into focused human review, not another wall of logs.
run ws_8m2k·184 events
ws_8m2k· 2026-06-25 · 14:02Completed · observed
0001
00:00.000workspace.readyObserved
0007
00:14.628process.exitedpnpm install · exit 0Observed
0012
00:17.406file.modifiedsrc/checkout.tsObserved
0019
00:22.041net.requestapi.stripe.comObserved
0024
00:24.802process.exited14 tests passedObserved
src/checkout.ts
  export async function checkout(cart) {
-   return charge(cart.total)
+   if (cart.isEmpty) throw new EmptyCartError()
    return charge(cart.total)
184 events · 3 file changes · 4 artifactsIllustrative record
Build on the SDK

Build your agent on a runtime, not container glue.

Create a live workspace around a real repository, run the harness you already use, stream progress while it works, and keep the record after the workspace is gone.

Bring OpenCode, a custom harness, a CI worker, or your own agent loop.

const workspace = await sealant.workspaces.create({  repository: "github.com/acme/billing-service",  harness: opencode(),}) const run = await workspace.harness.run(  "Round invoice totals once, after applying the discount.",) await run.record.replay()
What the record captures

A structured record, not a pile of logs.

One ordered, correlated, replayable stream — queried, not parsed. Every fact carries how it was captured.

Terminal I/O

Byte-exact command output, attached to the run that produced it.

File changes

Added, modified, deleted, and renamed files with reviewable patches.

Processes

Lifecycle, exit codes, signals, timeouts, and supervised child processes.

Artifacts

Reports, logs, screenshots, generated files, and other retained outputs.

Network activity

Outbound requests associated with the run that made them.

In development

Browser evidence

Screenshots, DOM snapshots, navigations, and browser-generated network traces.

ws_8m2kReady · running
Repository
acme/billing-service
Branch
main @ a9f3c20
Harness
opencode
Runtime
node 20 · ubuntu 24.04
Services
postgres · redis
Open over SSH · VS Code · Cursor
workspace.ws_8m2k — ssh
$ ssh workspace.ws_8m2k $ git diff --stat src/checkout.ts | 18 +++++--- $ pnpm test checkout✓ 14 tests passed
Real workspaces, under your control

The workspace is a real development environment.

Sealant builds a container around a repository — code, dependencies, harness, processes, runtime commands, and services — and keeps it live and disposable. Use the SDK for automation or the console to create, inspect, restart, and enter workspaces.

  • Create from a repo, a branch, or a commit
  • Choose harness, OS, runtime, packages, and launch commands
  • Stream lifecycle events and runtime status
  • Open the live workspace over SSH, VS Code, or Cursor
  • Stop, restart, expire, or garbage-collect when done

Open the live workspace whenever you want to inspect, guide, or extend the run.

Products by Sealant

One runtime. A family of products on top.

Each is its own open-source product on the public SDK — the same create → run → audit loop, focused on one job.

Mend

by Sealant
Building now

issue → reviewed change → PR

Give a coding harness an engineering task and get back the change, the checks, the artifacts, and the full record — ending in a pull request.

Follow on GitHub

Witness

by Sealant
On the roadmap

flow → evidence → test

Drive a real browser flow and keep the screenshots, DOM snapshots, and network evidence as a test you can actually trust.

Follow on GitHub

Rerun

by Sealant
On the roadmap

failing job → replayable repro

Recreate a failed CI job in a clean workspace and keep the commands, logs, and failure state as a case you can replay.

Follow on GitHub

Bump

by Sealant
On the roadmap

update → checks → reviewed patch

Let a harness update dependencies, run the checks, and present the exact diff for review.

Follow on GitHub
Open-source and self-hosted

Run it where your code already lives.

Sealant is open-source and self-hosted. Run the daemon inside your own infrastructure, connect the harnesses you already trust, and build products on top of the same public SDK.

$ curl -fsSL https://get.sealant.dev | sh

A running Docker daemon with Compose v2 is the whole prerequisite — web on :3000, API on :4000, SSH gateway on :2222.

Open source

Inspect it, fork it, self-host it, and build on it.

Harness-neutral

Use OpenCode, custom agents, CI workers, or your own loop.

Product-ready records

Expose the run record through your own UI, PR flow, QA tool, or internal platform.

Build on Sealant

Give your next agent run a real environment — and a record worth reviewing.

Create a workspace, run a harness, replay the record — in minutes.

TypeScript SDK · self-hosted · open-source

run_ws_8m2kCompleted · observed
run.completed · 00:25.110 · 184 events