Zeist
Request early access

Where agentsget to work.

Agent-first compute for AI agents and machine learning workloads.

Your agent provisions compute, runs the job, and returns the result.

Early access. Programmable through CLI and REST API.

Your stack.
Ready to run.

From training to evaluation. Follow a worker from setup to saved report.

Start clean.

A clean Ubuntu starting point. Bring the tools and code your task needs.

Add your tools. Run your code.

Start clean.

A clean Ubuntu starting point. Bring the tools and code your task needs.

zeist box create eval-worker --wait
About this starting point

The sample shell command creates workspace after the runtime is running. Your application and dependencies are added after creation.

A runtime for every next move.

Take the evaluation worker from a fresh environment to an independent experiment.

zeist box create eval-worker --wait
Illustrative runtime state. External mounts stay shared.

An environment comes to life.

Allocate compute and a root disk, ready for your code.

How this works

This illustrative sandbox is named eval-worker. The command waits for the environment to be ready.

Data stays.Compute moves.

The worker can stop. Its report doesn’t disappear. Keep results in a Volume or connect your own bucket.

Storage details

The runtime ends. report.json stays in run-results for the next run.

eval-worker writes through a writable /mnt/results mount; eval-next reads the same Volume at /mnt/data. Managed Volumes are persistent object storage and survive sandbox deletion. Use a writable prefix for each run, such as training-a/. Publish writes with fsync before sharing or forking, and use one writer per file or prefix.

  • report.jsonSaved report
  • eval.jsonlEvaluation input

Agent loops.
Training runs.

Give the same runtime a different job—from evaluating records to training a policy.

Evaluate. Save a report.

Runtime eval-worker
Complete
zeist box exec eval-worker -- python agent.py
Read
file.read/mnt/data/eval.jsonl
QueuedReadingDone
Execute
shell.executepython evaluate.py
QueuedExecutingDone
Save
file.write/mnt/results/report.json
QueuedSavingDone
Artifacts stay in /mnt/resultsIllustrative run · sample data
Inside this run

Your agent reads eval.jsonl, runs evaluate.py, and saves report.json to run-results.

The example assumes your script and its dependencies are available in eval-worker. Read mounted data at /mnt/data and write artifacts to a writable mount at /mnt/results.

The agent uses file.read, shell.execute, and file.write as illustrative tools for reading records, running the evaluation, and saving its report.

Build once.
Run it again.

Package the evaluation worker in a private VM template. Keep a version. Launch the same setup for the next run.

Select a stage to hold the view.

Ready
DockerfileApplication layers
WORKDIR /workspace
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY evaluate.py .
Build context
requirements.txtDependencies
evaluate.pyYour code

Application-layer example. Template builds use the supported Zeist Ubuntu base.

Application layers
Private VM templateAvailable
eval-worker:v1
  1. Ubuntu base
  2. Dependencies
  3. evaluate.py
  4. Private template
Runtime instance
eval-runReady
evaluate.py
Fromeval-worker:v1

The template stays. Each run starts fresh.

zeist box create eval-run --template eval-worker:v1 --wait

Start the next run from the same setup.

Launch eval-run from eval-worker:v1. The private template stays available.

Illustrative build and launch
Choose what connects

Set outbound domain and CIDR rules. Private CLI tunnels expose services through your local machine; public HTTPS endpoints allow unauthenticated access.

Before you
build.

A few things to know about Zeist today.

Can I try Zeist now?

Zeist is in early access. Join the waitlist to request access and tell us what you are building.

What can I run?

Run AI agents, reinforcement learning experiments, model evaluations, and data preparation workloads. Start from Ubuntu Base, Linux Desktop, a public Linux container image, a private template, or a saved checkpoint. Bring the tools and dependencies your work needs.

What stays between runs?

Managed Volumes preserve data beyond sandbox deletion. Pause and checkpoints save the root disk. A fork copies the running sandbox, while external Volume and Bucket mounts remain shared. Mounts are read only by default.

Can I bring my own storage?

Yes. Connect an existing bucket from AWS S3, Google Cloud Storage, Hetzner, Tigris, or Cloudflare R2 and mount it into your runtime. Your bucket stays with its provider. Removing the Zeist connection does not delete the upstream bucket or its data.

How long can a sandbox run?

The current timeout limit is 24 hours. Extend a sandbox within that limit, or restore a saved checkpoint into a new sandbox for the next session.

Are preview URLs private?

Public HTTPS endpoints are unauthenticated. For access through your local machine, use a private CLI tunnel instead. Outbound domain and CIDR rules let you control network access.

Can my agent control Zeist?

Yes. Use the CLI or REST API to create environments, execute code, and manage runtime resources programmatically. The dashboard lets you inspect and manage those same resources. Zeist is in early access.