Skip to content

Latest commit

 

History

History
100 lines (84 loc) · 3.89 KB

File metadata and controls

100 lines (84 loc) · 3.89 KB
title StacyVM
description Self-hosted sandbox infrastructure for running agent code in isolated, disposable environments.

StacyVM

StacyVM gives your applications disposable execution environments for AI agents, code runners, browser previews, and automation workflows. You keep control of the runtime, network, credentials, and audit trail while developers get a simple API and SDK.

Understand the product, use cases, advantages, and where it fits. Run one command, verify the server, execute code, and clean up. Check the host, runtime, CLI, SDK, and production requirements before you start. Start a local server, create a sandbox, run code, and destroy it. See the control plane, scheduler, workers, providers, store, and sandbox lifecycle. Build Python and TypeScript services that run code inside StacyVM. Use StacyVM from Python services, jobs, and agent frameworks. Use StacyVM from Node.js, web backends, and TypeScript agents.

What You Can Build

  • Run untrusted or generated code in short-lived sandboxes.
  • Give coding agents a filesystem, shell, and live preview URL without exposing your host.
  • Route sandbox work across Docker, Firecracker, PRoot, local providers, or remote workers.
  • Track quotas, audit events, runtime health, and production readiness evidence.
  • Integrate through REST, Python, or TypeScript.

First Sandbox

```bash cURL curl -sS -X POST http://localhost:7423/api/v1/sandboxes \ -H "Content-Type: application/json" \ -H "X-API-Key: sk_test_YOUR_API_KEY" \ -d '{"image":"python:3.12","ttl":"10m"}' ```
from stacyvm import Client

client = Client(
    base_url="http://localhost:7423",
    api_key="sk_test_YOUR_API_KEY",
)

with client.spawn(image="python:3.12", ttl="10m") as sandbox:
    result = sandbox.exec("python3 -c 'print(40 + 2)'")
    print(result.stdout)
import { Client } from "stacyvm";

const client = new Client({
  baseUrl: "http://localhost:7423",
  apiKey: "sk_test_YOUR_API_KEY",
});

await client.withSandbox({ image: "node:20", ttl: "10m" }, async (sandbox) => {
  const result = await sandbox.exec("node -e 'console.log(40 + 2)'");
  console.log(result.stdout);
});

Recommended Path

Start with [developer onboarding](/docs/getting-started/developer-onboarding), or review [prerequisites](/docs/getting-started/prerequisites) if your host needs setup. Use the [quickstart](/docs/getting-started/quickstart) to validate spawn, exec, files, and cleanup. Choose the [Python SDK](/docs/sdks/python), [TypeScript SDK](/docs/sdks/typescript), or [REST API](/docs/rest/sandboxes). Use the [deployment guide](/docs/deployment), [support matrix](/docs/public-support-matrix), and [runtime certification](/docs/runtime-certification) before making public runtime claims.

For public deployments, only claim support for runtimes you have certified on the target host.