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.5.tar.gz (28.2 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.5-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: marinabox-0.1.5.tar.gz
  • Upload date:
  • Size: 28.2 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.5.tar.gz
Algorithm Hash digest
SHA256 e736ef15461d8a175f9f7a5e020eaaceb2cf218dcd15963455d047cecbcb334e
MD5 60b3696fa5174b7b3174dda3cdf54d4c
BLAKE2b-256 a7cbcada4afc87b3b43fc4a86cb8e8174efa8b0ada8833bc1d44f228c8b88715

See more details on using hashes here.

File details

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

File metadata

  • Download URL: marinabox-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 33.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ad69b769a4e7ed31ee7fa673d855f5453d35d53a97190cbe599d407efeb3ff64
MD5 6d61b9e6bda09a0324eb6ead328550d1
BLAKE2b-256 c7093d005254f406f2eff37ffb2070f9a52fe5a7b2bf7c948729cd1cd0d5bd1d

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