Vibeleaderboard
Index / tool
Visit github.com
Category
AI Agents
Rank
Pricing
Open Source
Type
TOOL
Use case
Agent Building · Workflow Automation
Interfaces
CLI · API · Client SDK
Builder
@tomascupr
GitHub
448 stars
Latest release
v0.9.2
Date

About

An open-source runtime for running Claude AI agents in secure, isolated cloud sandboxes. Provides CLI, API, Python client, and Slack integration for executing agent workflows that can crawl the web, process files, and generate artifacts like PDFs and reports.

What it does

Sandstorm turns each conversation thread into a resumable agent workspace. It streams model output, carries uploaded and generated files across messages, records run cost and timing, and can repeat a prior session with another model. Scheduled jobs, signed inbound webhooks, Slack reactions, and configurable MCP servers can start work without a person at the command line.

Why it's ranked here

The project combines deployment, conversation continuity, model choice, tracing, and operational checks into one coherent system. Its strongest case is team automation where Slack is the front door and infrastructure control matters. The verdict is tempered by an E2B-only runtime configuration, optional security controls that require explicit setup, and a TypeScript client that is source-only.

What's good

Thread sessions retain files, installed packages, model context, and sandbox identity across messages and server restarts. Replay preserves the original prompt and selected safe configuration while allowing a different model and budget. Preflight checks cover provider credentials, E2B access, optional Slack configuration, and telemetry reachability. OpenTelemetry export, streamed responses, starter workflows, and custom MCP configuration make the runtime practical to operate and extend.

Tradeoffs

E2B is the only accepted runtime provider in configuration, so the abstraction does not currently offer backend choice. API authentication is disabled when no server key is configured, and E2B webhook signature verification is disabled without its secret. Generated-file extraction stops after ten files, limits each file to 25 MB, and caps total extraction at 50 MB. The TypeScript client is not published to npm.

How to use it well

Use Sandstorm for internal agent workflows that need Slack threads, recurring or webhook-driven tasks, persistent working state, and traces sent to your own observability system. Start with a bundled workflow, run the credential checks, enable API and webhook secrets, then add only trusted MCP packages. It is less suitable when you need a choice of sandbox backends or a separately distributed TypeScript SDK.

Technical notes+

pyproject.toml defines a Python 3.11+ Hatch package with FastAPI, E2B, Click, SSE, optional Slack, client, and telemetry extras, plus ds and duvo-sandstorm console entries. src/sandstorm/main.py builds the FastAPI service, mounts SSE, health, run, trigger, Slack, and E2B webhook behavior, and initializes telemetry and authentication during lifespan. src/sandstorm/auth.py uses optional bearer authentication with constant-time comparison and previous-key rollover. src/sandstorm/files.py rejects parent traversal, uploads skills and inputs, and extracts bounded, non-hidden outputs as base64 events. src/sandstorm/store.py persists run transitions in JSONL, keeps a bounded in-memory index, compacts stale history, and whitelists replay configuration fields to avoid storing MCP or environment secrets. src/sandstorm/client.py provides the optional asynchronous SSE client.

Observed

License
MIT
Primary language
Python
Python support
Python 3.11 or newer
Packaging
Published as the duvo-sandstorm Python package with optional client, Slack, and telemetry extras
Interfaces
Command-line interface, FastAPI HTTP service with SSE, asynchronous Python client, Slack bot, and repo-local TypeScript client source
Runtime support
Configuration accepts E2B as the runtime provider
Deployment surfaces
Railway template, Docker, Docker Compose, pipx self-hosting, and Kubernetes or Fly deployment are documented

Read from README.md, pyproject.toml, src/sandstorm/cli.py, src/sandstorm/main.py, src/sandstorm/auth.py, src/sandstorm/files.py, src/sandstorm/slack.py, src/sandstorm/store.py, src/sandstorm/client.py, src/sandstorm/config.py, src/sandstorm/doctor.py.

What it can do

  • Execute AI agent workflows in isolated cloud sandboxes

    Agent workflow configuration and requests → Workflow execution results in secure environment

  • Crawl and extract data from websites

    URLs and crawling parameters → Extracted web content and data

  • Process and analyze uploaded files

    Files of various formats → Processed file content and analysis results

  • Generate PDF documents and reports

    Content data and formatting requirements → Generated PDF files and reports

  • Stream real-time API responses

    API requests and streaming parameters → Real-time streamed data responses

  • Execute commands via CLI interface

    Command-line arguments and parameters → Command execution results and status

  • Integrate with Slack for agent interactions

    Slack messages and bot commands → Agent responses and workflow results in Slack

  • Configure agent behavior through JSON files

    sandstorm.json configuration files → Configured agent runtime with specified behavior

Tags

ai-agentsclaudesandboxapiclipythonslack-botautomation

Tech Stack

PythonDocker

Media

Sandstorm

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.