Skip to main content

An open-source toolkit for deploying containerized desktops and browsers tailored for AI agents

Project description

MarinaBox Logo

MarinaBox

GitHub Repo stars GitHub forks GitHub issues GitHub license

MarinaBox is a toolkit for creating and managing secure, isolated environments for AI agents. It provides:

Core Features

  1. Secure Sandboxed Environments

    • Run isolated browser and desktop sessions locally or cloud
    • Perfect for AI agent tasks(Computer Use) and browser automation
  2. Comprehensive SDK & CLI

    • Python SDK for programmatic control
    • Command-line interface for session management
    • Real-time monitoring and control capabilities
    • Integration with popular automation tools (Playwright, Selenium)
  3. Interactive UI Dashboard

    • Live session viewing and control
    • Session recording and playback
    • Session management interface

Additional Features

  • Cloud Integration: Deploy sandboxes to major cloud providers(coming soon)
  • Multi-session Management: Run multiple isolated environments simultaneously
  • Session Tagging: Organize and track sessions with custom tags

Documentation

Full documentation is available at https://marinabox.mintlify.app/get-started/introduction

Prerequisites

  • Docker
  • Python 3.12 or higher
  • pip (Python package installer)

Installation

MarinaBox Installation Tutorial
  1. First, ensure you have Docker installed on your system. If not, install Docker for your operating system.

  2. Pull the required Docker images:

docker pull marinabox/marinabox-browser:latest
docker pull marinabox/marinabox-desktop:latest
  1. Install the Marinabox package:
pip install marinabox

Important Note

The provided Docker images are built for Mac ARM64 architecture (Apple Silicon). For other architectures:

  1. Clone the sandbox repository:
git clone https://github.com/marinabox/marinabox-sandbox
  1. Build the images with your target platform:
docker build --platform <your-platform> -f Dockerfile.chromium -t marinabox/marinabox-browser .
docker build --platform <your-platform> -f Dockerfile.desktop -t marinabox/marinabox-desktop .

Usage Example

Here's a basic example of how to use the Marinabox SDK:

from marinabox import MarinaboxSDK

# Initialize the SDK
mb = MarinaboxSDK()

# Set Anthropic API key
mb.set_anthropic_key(ANTHROPIC_API_KEY)

# Create a new session
session = mb.create_session(env_type="browser", tag="my-session")
print(f"Created session: {session.session_id}")

# List active sessions
sessions = mb.list_sessions()
for s in sessions:
    print(f"Active session: {s.session_id} (Tag: {s.tag})")

# Execute a computer use command
mb.computer_use_command("my-session", "Navigate to https://x.ai")

License

MarinaBox is released under the MIT License. See the LICENSE file for details.

Acknowledgments

This project makes significant use of:

  • noVNC, an open source VNC client using HTML5 (WebSockets, Canvas). noVNC is licensed under the MPL-2.0 License.
  • Anthropic Quickstarts, specifically the Computer Use Demo which provided inspiration for the sandbox implementation. Licensed under the MIT License.

Specify a custom video directory when initializing the SDK: ) Specify a custom video filename when stopping a session via SDK: ) 3. Use the CLI with custom video directory and filename:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marinabox-0.1.6.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marinabox-0.1.6-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file marinabox-0.1.6.tar.gz.

File metadata

  • Download URL: marinabox-0.1.6.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for marinabox-0.1.6.tar.gz
Algorithm Hash digest
SHA256 5dc6899fe95a858679439a2b948aad2eb483454bc7b5841e7c2d7f0bf5300856
MD5 654286b19d56bc1587c84ab4abe1e370
BLAKE2b-256 f9c50d0082200b19551069fb70f945c9dc067c1816c369517a3c8382c8e30785

See more details on using hashes here.

File details

Details for the file marinabox-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: marinabox-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for marinabox-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b07d5aaf75942410c524d1b2febab29d04568980cd9ba91ef72e6dcb30c40f97
MD5 54940abe2c48e8f1837309fb9717e105
BLAKE2b-256 4b3a76a688c70748d3d6112ed47352f5fdae4925e12412026312a57244c74440

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page