MarinaBox is a toolkit for creating and managing secure, isolated environments for AI agents. It provides:
-
Secure Sandboxed Environments
- Run isolated browser and desktop sessions locally or cloud
- Perfect for AI agent tasks(Computer Use) and browser automation
-
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)
-
Interactive UI Dashboard
- Live session viewing and control
- Session recording and playback
- Session management interface
- 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
Full documentation is available at https://marinabox.mintlify.app/get-started/introduction
- Docker
- Python 3.12 or higher
- pip (Python package installer)
-
First, ensure you have Docker installed on your system. If not, install Docker for your operating system.
-
Pull the required Docker images:
docker pull marinabox/marinabox-browser:latest
docker pull marinabox/marinabox-desktop:latest
- Install the Marinabox package:
pip install marinabox
The provided Docker images are built for Mac ARM64 architecture (Apple Silicon). For other architectures:
- Clone the sandbox repository:
git clone https://github.com/marinabox/marinabox-sandbox
- 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 .
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")
MarinaBox is released under the MIT License. See the LICENSE file for details.
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.