← 返回
未分类 Key

Cloudsway ScaleBox Sandbox

Create and manage isolated cloud sandboxes for secure, remote code execution, browser automation, and temporary development environments via CLI, API, or Pyt...
通过 CLI、API 或 Python SDK 创建并管理隔离的云沙箱,实现安全远程代码执行、浏览器自动化和临时开发环境。
gloriathepenguin
未分类 clawhub v1.0.5 1 版本 100000 Key: 需要
★ 0
Stars
📥 377
下载
💾 0
安装
1
版本
#cloud#cloudsway#code-execution#latest#sandbox

概述

ScaleBox Sandbox Skill

Create and manage isolated cloud sandboxes for secure code execution.

When to Use

  • Running untrusted code in an isolated environment
  • Browser automation (browser-use, computer-use templates)
  • Testing scripts that may have side effects
  • Remote code execution without local resource impact
  • Creating temporary development environments

Prerequisites

1. Get API Key

Register at ScaleBox Dashboard to get your API key.

Set environment variable:

export SCALEBOX_API_KEY="your-api-key-here"

2. Install CLI

Download the official CLI from ScaleBox Documentation:

# Visit official docs for platform-specific downloads
# https://www.scalebox.dev/docs/en/cli/installation

# After installation, authenticate:
scalebox-cli auth login --api-key $SCALEBOX_API_KEY --server-url https://api.scalebox.dev

Security Note: Always download CLI from official sources. Verify checksums when available.

3. Server URL

https://api.scalebox.dev

Port Access URL Format

Important: ScaleBox uses port prefixes, not port suffixes.

Method 1: Specify ports at creation time (Recommended)

Use API to specify custom_ports when creating the sandbox:

curl -X POST "https://api.scalebox.dev/v1/sandboxes" \
  -H "X-API-Key: $SCALEBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "base",
    "name": "my-sandbox",
    "timeout": 3600,
    "custom_ports": [
      {"port": 8080, "name": "web-server", "protocol": "TCP"}
    ]
  }'

Method 2: Add port to running sandbox

If you need to add a port after creation:

# CLI
scalebox-cli sandbox port add <sandbox-id> --port 8080 --name web-server --protocol TCP

# API
curl -X POST "https://api.scalebox.dev/v1/sandboxes/{sandbox_id}/ports" \
  -H "X-API-Key: $SCALEBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"port": 8080, "name": "web-server", "protocol": "TCP"}'

Access URL Format

Format: https://{port}-{sandbox_domain}/path

Example:

  • Sandbox domain: sbx-abc123.k27xn5o3lnw5dan3x.scalebox.dev
  • Port: 8080
  • Correct URL: https://8080-sbx-abc123.k27xn5o3lnw5dan3x.scalebox.dev/
  • Wrong: https://sbx-abc123.k27xn5o3lnw5dan3x.scalebox.dev:8080/

Available Templates

TemplateCPUMemoryUse Case
---------------------------------
base2512MBBasic sandbox
code-interpreter21GBJupyter environment
browser-use22GBBrowser automation (VNC)
browser-use-headless44GBBrowser automation (headless)
desktop88GBDesktop environment (VNC)
computer-use-preview22GBGoogle Computer Use

Three Ways to Use ScaleBox

MethodBest ForNotes
-------------------------
CLIFile operations, command executionMost powerful, cross-platform
REST APILifecycle managementAuth via X-API-Key header
Python SDKProgrammatic accesspip install scalebox-sdk

Method 1: CLI Commands

1.1 Sandbox Lifecycle

# Create sandbox
scalebox-cli sandbox create --template <name> --name <name> --timeout <seconds>

# List sandboxes
scalebox-cli sandbox list

# Get sandbox details
scalebox-cli sandbox get <sandbox-id>

# Pause sandbox (preserves state)
scalebox-cli sandbox pause <sandbox-id>

# Resume paused sandbox
scalebox-cli sandbox resume <sandbox-id>

# Terminate sandbox immediately
scalebox-cli sandbox terminate <sandbox-id>

# Delete sandbox and resources
scalebox-cli sandbox delete <sandbox-id>

Create parameters:

  • --template: Template name or ID (default: base)
  • --name: Sandbox name (optional, auto-generated)
  • --timeout: Timeout in seconds (default: 300)
  • --cpu: CPU count (minimum: 2)
  • --memory: Memory in MB
  • --storage: Storage in GB
  • --async: Fire-and-forget mode - returns immediately, sandbox may still be starting. You must poll status yourself.
  • --auto-pause: Pause on timeout instead of terminate

Important: async vs sync:

  • Sync mode (default, no --async): Waits for sandbox to be fully running before returning. The returned sandbox is ready to use.
  • Async mode (--async): Returns immediately after creating the request. The sandbox may still be starting. You must poll sandbox get until status: running before using it.
# Sync mode (recommended) - sandbox is ready when command returns
scalebox-cli sandbox create --template base --timeout 600
# Output includes sandbox ID, ready to use

# Async mode - need to wait
scalebox-cli sandbox create --template base --timeout 600 --async
# Returns immediately, sandbox may still be starting
# Must poll: scalebox-cli sandbox get <id> until status is "running"

1.2 File Operations

# Upload file
scalebox-cli sandbox upload <sandbox-id> <local-path> <remote-path>

# Upload directory recursively
scalebox-cli sandbox upload <sandbox-id> ./project /workspace/project --recursive

# Download file
scalebox-cli sandbox download <sandbox-id> <remote-path> <local-path>

# List files
scalebox-cli sandbox ls <sandbox-id> <remote-path>

Note: Remote path must be absolute (e.g., /workspace/file.py).

1.3 Command Execution

# Execute command
scalebox-cli sandbox exec <sandbox-id> "<command>"

# With working directory
scalebox-cli sandbox exec <sandbox-id> "python3 script.py" --cwd /workspace

# With timeout
scalebox-cli sandbox exec <sandbox-id> "npm install" --timeout 120

Method 2: REST API

2.1 Authentication

All requests require X-API-Key header:

curl -H "X-API-Key: $SCALEBOX_API_KEY" https://api.scalebox.dev/v1/sandboxes

2.2 Sandbox Endpoints

OperationMethodEndpoint
-----------------------------
Create sandboxPOST/v1/sandboxes
List sandboxesGET/v1/sandboxes
Get sandboxGET/v1/sandboxes/{id}
Delete sandboxDELETE/v1/sandboxes/{id}
Pause sandboxPOST/v1/sandboxes/{id}/pause
Resume sandboxPOST/v1/sandboxes/{id}/resume

Note: File operations (upload/download/exec) are only available via CLI or SDK.

2.3 API Example

# Create sandbox
curl -X POST "https://api.scalebox.dev/v1/sandboxes" \
  -H "X-API-Key: $SCALEBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"template": "base", "name": "my-sandbox", "timeout": 600}'

Method 3: Python SDK

3.1 Installation

pip install scalebox-sdk

Module name: scalebox (not scalebox_sdk)

3.2 Basic Usage

import scalebox
import os

# Create sandbox
sandbox = scalebox.Sandbox.create(
    template="base",
    timeout=600,
    api_key=os.environ.get("SCALEBOX_API_KEY")
)

print(f"Sandbox ID: {sandbox.sandbox_id}")

# Get signed URLs for file operations
upload_url = sandbox.upload_url(path="/workspace/test.py")
download_url = sandbox.download_url(path="/workspace/output.json")

# Kill sandbox
sandbox.kill()

Typical Workflow

# 1. Create sandbox
sandbox_id=$(scalebox-cli sandbox create --template code-interpreter --name my-task --async | grep "Sandbox ID:" | awk '{print $3}')

# 2. Upload code
scalebox-cli sandbox upload $sandbox_id ./script.py /workspace/script.py

# 3. Execute
scalebox-cli sandbox exec $sandbox_id "python3 /workspace/script.py"

# 4. Download results
scalebox-cli sandbox download $sandbox_id /workspace/output.json ./output.json

# 5. Cleanup
scalebox-cli sandbox delete $sandbox_id

Security Notes

  • Sandboxes are completely isolated from local machine
  • All file paths must be absolute (no .. traversal)
  • Internet access enabled by default (disable with --internet=false)
  • Credentials never stored in database
  • Minimum CPU: 2 cores
  • Always download CLI from official sources

Error Handling

ErrorSolution
-----------------
CPU count must be at least 2Use --cpu 2 or higher
health check timeoutCheck status with sandbox get
Sandbox not foundVerify sandbox ID
Timeout exceededCreate new sandbox

Links

  • Official Website: https://www.scalebox.dev
  • Documentation: https://www.scalebox.dev/docs
  • CLI Installation: https://www.scalebox.dev/docs/en/cli/installation
  • API Reference: https://www.scalebox.dev/docs/en/api

Version

  • Skill: 1.0.5
  • CLI: v1.3.4
  • SDK: v0.1.9
  • API: v1

Last updated: 2026-03-21

版本历史

共 1 个版本

  • v1.0.5 当前
    2026-05-07 05:35 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,212 📥 266,319
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,353 📥 317,902
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 668 📥 323,939