Skip to content

snapflowio/snapflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Caution

Snapflow is very much in early development, and things may change or break without notice!


Logo

Snapflow

Isolated and fast sandbox environments for AI agents, code execution, automation and more.
Explore the docs »

Mothership · Report Bug · Request Feature

Table of Contents
  1. About
  2. Quick Start
  3. Self Hosting
  4. Roadmap
  5. Contributing
  6. License

About The Project

Snapflow provides on-demand sandbox environments that are isolated, fast, and disposable. Each sandbox runs in its own container with full filesystem, process, git, and network access through a simple SDK.

Use cases include:

  • Environments for AI Agents - give LLMs full access to a computer safely
  • Code execution - run untrusted or user-submitted code without risk to your infrastructure
  • Automation - spin up environments on the fly for CI tasks, testing, or data processing
  • Scraping - automate browsers in order to scrape the web
  • Development - create reproducible, throwaway environments for prototyping

Tech Stack

  • Rust
  • TypeScript & Bun
  • Docker
  • React
  • PostgreSQL
  • Redis
  • Cloudflare R2

Quick Start

Install the SDK:

npm install @snapflow/sdk

Create a sandbox and run code in it:

import { Snapflow } from "@snapflow/sdk";

const snapflow = new Snapflow();

const sandbox = await snapflow.sandbox().create();

// Run a command
const result = await sandbox.exec("echo 'Hello from Snapflow!'");
console.log(result.output);

// Write and read files
await sandbox.fs.uploadFile("/home/user/hello.txt", "Hello, world!");
const content = await sandbox.fs.downloadFile("/home/user/hello.txt");

// Clean up
await sandbox.destroy();

Set your API key as an environment variable:

export snapflow_API_KEY="your-api-key"

Or pass it directly:

const snapflow = new Snapflow({ apiKey: "your-api-key" });

For more examples and full API reference, check the documentation.

Self Hosting

Coming Soon

Roadmap

  • Beta Release
  • Self hosting guides and setup

See the open issues for a full list of proposed features (and known issues).

Contributing

Snapflow is open source software licensed under AGPLv3. Contributions are welcome.

See CONTRIBUTING.md for development processes and how to propose changes, and CODE_OF_CONDUCT.md for community guidelines.

Top contributors:

contrib.rocks image

Stargazers

Star History Chart

License

Distributed under the AGPLv3. See LICENSE for more information.

About

Instant, ephemeral sandboxes. Perfect for unsafe code execution, AI agents, workflow automations, and more. All with full access, just like a regular computer.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors