
डॉकर-आधारित सैंडबॉक्स जो कोडिंग एजेंटों के लिए पृथक वातावरण, पूर्व-स्थापित एजेंट टूलिंग, सेवा नियंत्रण, और सुरक्षित बहु-सत्र विकास हेतु कार्यक्षेत्र बूटस्ट्रैप प्रदान करता है।

एजेंटों को सैंडबॉक्स करने का कोई सही तरीका अभी तक नहीं है, लेकिन कंटेनर एक व्यावहारिक शुरुआत हैं।
Agentbox एक Docker-आधारित कोडिंग एजेंट सैंडबॉक्स है, जो मूल रूप से Batrachian Toad से प्रेरित है, और अब अधिक टूल्स के लिए सामान्यीकृत किया गया है।
यह एक अलग वातावरण प्रदान करता है जो कई एजेंट सत्र चलाने के लिए webterm के साथ अच्छी तरह से काम करता है।
डिफ़ॉल्ट कंटेनर प्रदान करता है:
lazygit, killalluv और Bunmake -C ~ ... के माध्यम से toad, opencode, gemini, और vibe इंस्टॉल करेंENABLE_DOCKER, ENABLE_SSH, और ENABLE_RDP के साथ Docker/SSH/RDP को टॉगल करेंENABLE_SSH=true) और mosh समर्थन/home/agent/workspace-skel के अंतर्गत अंतर्निहित कार्यक्षेत्र स्केलेटन और एजेंट कौशलAgentbox यह नियंत्रित करने के लिए पर्यावरण चर का उपयोग करता है कि कंटेनर लॉन्च के समय कौन सी सेवाएँ शुरू हों:
ENABLE_DOCKER=true - Docker डेमॉन प्रारंभ करें (Docker-in-Docker समर्थन के लिए)ENABLE_SSH=true - SSH सर्वर प्रारंभ करें (पोर्ट 22)ENABLE_RDP=true - RDP सर्वर प्रारंभ करें (पोर्ट 3389)AGENTBOX_ENVIRONMENT=cli|gui - छवि-प्रदत्त पर्यावरण मार्कर (cli हेडलेस/CLI के लिए, gui डेस्कटॉप छवियों के लिए)डिफ़ॉल्ट व्यवहार: जब तक स्पष्ट रूप से सक्षम न किया जाए, सभी सेवाएँ अक्षम रहती हैं।
# Default - all services disabled
docker run -d agentbox
# Enable only Docker daemon
docker run -d -e ENABLE_DOCKER=true agentbox
# Enable Docker and SSH for development
docker run -d -e ENABLE_DOCKER=true -e ENABLE_SSH=true -p 22:22 agentbox
# Full desktop experience with all services (GUI image)
docker run -d -e ENABLE_DOCKER=true -e ENABLE_SSH=true -e ENABLE_RDP=true -p 22:22 -p 3389:3389 agentbox:gui
कंटेनर के अंदर, agent उपयोगकर्ता के पास एक ~/Makefile होता है जो अतिरिक्त उपकरण स्थापित कर सकता है।
कोडिंग एजेंट/CLI जिन्हें आप make -C ~ … के माध्यम से स्थापित कर सकते हैं:
toad — Batrachian Toad स्थापित करता है (uv tool के माध्यम से)opencode — OpenCode स्थापित करता है (Bun के माध्यम से)gemini — Gemini CLI स्थापित करता है (Homebrew के माध्यम से)vibe — mistral-vibe स्थापित करता है (uv tool के माध्यम से)सुविधा लक्ष्य:
tools — node, go, gemini, vibe स्थापित करता हैnode, go — भाषा टूलचेन स्थापित करें (कुछ एजेंटों के लिए पूर्वापेक्षाएँ)Agentbox /home/agent/workspace-skel पर एक अंतर्निहित प्रोजेक्ट स्केलेटन प्रदान करता है।
इसे अपने वर्तमान /workspace में मौजूदा फ़ाइलों को अधिलेखित किए बिना कॉपी करने के लिए:
make init-workspace
विवरण के लिए docs/workspace-skeleton.md देखें।
GUI बिल्ड को :gui टैग (साथ ही <release>-gui) के रूप में प्रकाशित किया गया है और इसमें XFCE, XRDP और VS Code शामिल हैं।
अनुशंसित कार्यप्रवाह:
make up
make enter-toad # or: make enter-copilot
make down
यदि आपको सेवा ओवरराइड की आवश्यकता है, तो docker-compose.override.yml बनाएं:
services:
toad:
environment:
ENABLE_DOCKER: "true"
ENABLE_SSH: "true"
copilot:
environment:
ENABLE_DOCKER: "true"
ENABLE_SSH: "true"
फिर चलाएं:
docker compose up -d
# Build the headless image
docker build -t agentbox .
# Build the GUI image
docker build -t agentbox:gui --target gui .
# Run the container with selected services (GUI image)
docker run -d \
--name agentbox \
--privileged \
-e ENABLE_DOCKER=true \
-e ENABLE_SSH=true \
-e ENABLE_RDP=true \
-p 22:22 \
-p 3389:3389 \
-v $(pwd):/workspace \
agentbox:gui
एक बार कंटेनर से कनेक्ट होने पर:
make -C ~ toad
toad
toad /workspace
toad -a open-hands
यह प्रोजेक्ट मोटे तौर पर मेरे प्राचीन rcarmo/docker-templates/desktop-chrome पर आधारित है, जिसमें एक अद्यतन उपयोगकर्ता स्थान है।
MIT