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

एजेंट्स को सैंडबॉक्स करने का कोई सही तरीका (अभी तक) नहीं है, लेकिन कंटेनर एक व्यावहारिक शुरुआत हैं।
Agentbox एक Docker-आधारित कोडिंग एजेंट सैंडबॉक्स है, जो मूल रूप से Batrachian Toad से प्रेरित था, और अब अधिक टूल्स के लिए सामान्यीकृत किया गया है।
यह एक पृथक वातावरण प्रदान करता है जो कई एजेंट सत्रों को चलाने के लिए webterm के साथ अच्छी तरह काम करता है।
डिफ़ॉल्ट कंटेनर प्रदान करता है:
lazygit, killalluv और Bun; कंटेनर बिल्ड सटीक संस्करण पिन के बिना नवीनतम उपलब्ध पैकेज इंस्टॉल करते हैंmake -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