Skip to content

madarco/agentbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

882 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AgentBoxΒ 

Run multiple agents in parallel, with a single command, on your PC, self-hosted, or in the cloud

Works with iterm2 - cmux - tmux - Herdr

AgentBox

How it works

agentbox claude # launch a new VM with claude and your project inside
  • πŸ“¦ Teleport - Move your project to a dedicated VM, local or in the cloud, with a single command.
  • πŸ€– Automatic - Bring all your skills, plugins, and settings for Claude Code, Codex, Open Code
  • 🌐 A full Computer β€” Dedicated browser, screen sharing, persistent shells and warmed up VS Code / Cursor IDE, with each box.
  • πŸ’Ύ Checkpoints β€” Sub <1s startup of new boxes from a previous checkpoint, auto pause to save cost/resources when not in use.
  • πŸ”’ Safe - Your git credentials are kept on your local machine, with permission requests to push to the remote repository.

Full Documentation

Complete setup:

npm -g install @madarco/agentbox
agentbox install

# Launch a new VM with claude, copy all your settings and workspace
agentbox claude

# Also install required project libraries and launch your dev server
> Run setup wizard? -> Yes

# Also use a cloud:
agentbox hetzner claude # or vercel, daytona

# Ctrl+aΒ d to detach, claude keep going, to reconnect later:
agentbox attach 1

# To open a persistent shell inside the box:
agentbox shell 1

# Create a second box:
agentbox claude
agentbox attach 2
agentbox shell 2

# Open your web project on a .local url tunnel on your pc
agentbox url 2
# Or the in-box browser via webVNC:
agentbox screen 2
# Or connect to vscode/cursor inside the box:
agentbox code 2

# See status and quickly switch between agents:
agentbox dashboard

Demo

AgentBox demo

Install

npm -g install @madarco/agentbox

Requirements: macOS (arm64 or Intel) or Linux, Docker (Docker Desktop or OrbStack), Node >=20.10. The first agentbox create / agentbox claude builds the agentbox/box:dev image (~1 GB, one-time). Uses portless to give box web apps the same URL from inside the box and on the host.

Cloud Providers

local docker hetzner daytona vercel e2b
Support βœ… βœ… ⚠️ Partial βœ… βœ…
Base image Dockerfile Setup script (Ubuntu) Dockerfile Setup script Dockerfile (Template.build)
Live snapshots βœ… βœ… πŸ§ͺ Experimental βœ… βœ…
Private preview URLs βœ… (portless or OrbStack) βœ… (portless) βœ… (native) βœ… (native) βœ… (native)

Cloud setup (optional β€” skip for local Docker)

  • agentbox install β€” interactive setup wizard to choose which providers to use and configure them.
  • agentbox vercel login β€” interactive Vercel Sandbox token setup, saved to ~/.agentbox/secrets.env
  • agentbox hetzner login β€” interactive Hetzner Cloud token setup, saved to ~/.agentbox/secrets.env
  • agentbox daytona login β€” interactive Daytona API key setup, saved to ~/.agentbox/secrets.env
  • agentbox e2b login β€” interactive E2B API key setup, saved to ~/.agentbox/secrets.env
  • agentbox prepare [--provider daytona|hetzner|vercel|e2b] β€” build the image and initial snapshot (e2b builds from a Dockerfile via Template.build())
  • agentbox hetzner claude, agentbox hetzner codex, agentbox hetzner create, etc.

How to use

<box> is optional almost everywhere β€” it defaults to the box for the current project, or use its short index (1, 2, …), name, or id prefix.

Create & run

  • agentbox create β€” Create and start a new agent box (Docker container with FUSE overlay)
  • agentbox claude β€” Create a sandboxed box and launch Claude Code in a detachable tmux session

Access

  • agentbox url β€” Open a box's web app URL in the browser (even with no expose: service)
  • agentbox screen β€” Open a box's VNC (noVNC) viewer in the browser
  • agentbox code β€” Open a box in VS Code or Cursor via the Dev Containers extension
  • agentbox shell β€” Open an interactive bash shell in a box
  • agentbox open β€” Open a box's merged workspace in Finder
  • agentbox logs β€” Print recent log lines from a box service; -f to stream
  • agentbox dashboard β€” Box list + the selected box's live agent session

Inspect

  • agentbox list (ls) β€” List boxes in current project or -g for all
  • agentbox status β€” Show service + task status from a box's agentbox-ctl daemon
  • agentbox top β€” Live resource monitor (cpu/mem/pids/disk) for a box, project, or all boxes

Lifecycle

  • agentbox start β€” Start a stopped box (docker start + re-mount the FUSE overlay)
  • agentbox stop β€” Stop a box (preserves the upper volume, node_modules included)
  • agentbox destroy (rm) β€” Destroy a box and discard its upper volume
  • agentbox pause / agentbox unpause β€” Freeze / resume a box (sub-second)

Sync & state

  • agentbox download β€” Download a box's /workspace back into your host workspace (gitignore-aware)
  • agentbox cp <src> [dst] β€” Copy individual files between host and box (like docker cp; direction picked by name: prefix)
  • agentbox checkpoint (alias checkpoints) β€” List and manage project checkpoints (warm box state to start new boxes from); bare command lists, checkpoint create captures

Advanced

  • agentbox wait β€” Block until the box reports all autostart units ready
  • agentbox prune β€” Clean up orphan state records (and with --all, orphan docker resources)
  • agentbox self-update β€” Update agentbox, wipe the box image so it rebuilds, reload the relay
  • agentbox config β€” Read / write layered config (global, per-project, workspace defaults:)
  • agentbox relay β€” Manage the host relay process (status / stop / start / restart)
  • agentbox app β€” Control the macOS menu-bar app process (status / start / stop / restart); install it with agentbox install tray

Run agentbox <command> --help for command-specific options.

Documentation

Full documentation lives at agent-box.sh/docs:

Development

git clone https://github.com/madarco/agentbox && cd agentbox
pnpm install && pnpm build
node apps/cli/dist/index.js --help

The full development workflow, stack, end-to-end smoke tests, and teardown live in docs/development.md.

Menu-bar tray app (dev)

The macOS tray app lives in the sibling repo ../agentbox-tray. When you have it checked out next to this repo, these scripts build and run your local dev build (ad-hoc signed, at ../agentbox-tray/AgentBoxTray.app) β€” separate from the notarized copy agentbox install tray puts in /Applications:

pnpm tray:dev        # rebuild the dev .app and relaunch it (the one you'll use most)
pnpm tray:build      # just rebuild (scripts/make-app.sh)
pnpm tray:start      # launch the dev build
pnpm tray:stop       # quit any running instance
pnpm tray:restart    # quit + relaunch the dev build

Note: agentbox app start|restart targets the installed /Applications copy, not this dev build. Use the pnpm tray:* scripts while iterating on the tray here; run agentbox install tray to refresh /Applications from the current CLI build.

Author

Marco D'Alia - @madarco - Linkedin

License

MIT. See LICENSE.

About

Run multiple agents in parallel sandboxed VMs, with a single command, on your PC or in the cloud

Topics

Resources

License

Stars

216 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors