
صندوق رمل قائم على Docker لوكلاء البرمجة مع بيئات معزولة، وأدوات وكيل مثبتة مسبقًا، والتحكم في الخدمات، وإعداد مساحة العمل لتطوير آمن متعدد الجلسات.

لا توجد طريقة مثالية حتى الآن لعزل العوامل البرمجية (agents)، لكن الحاويات (containers) تعتبر بداية عملية.
Agentbox هو صندوق حماية للعوامل البرمجية يعتمد على Docker، مستوحى أصلاً من Batrachian Toad، وأصبح الآن معمماً لأدوات أكثر. يوفر بيئة معزولة تعمل بشكل جيد مع webterm لتشغيل جلسات متعددة للعوامل.
توفر الحاوية الافتراضية ما يلي:
lazygit، killalluv و Buntoad و opencode و gemini و vibe عبر make -C ~ ...ENABLE_DOCKER و ENABLE_SSH و ENABLE_RDPENABLE_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 لصور سطح المكتب)السلوك الافتراضي: جميع الخدمات معطلة ما لم يتم تفعيلها صراحةً.
# الافتراضي - جميع الخدمات معطلة
docker run -d agentbox
# تفعيل خادم Docker فقط
docker run -d -e ENABLE_DOCKER=true agentbox
# تفعيل Docker و SSH للتطوير
docker run -d -e ENABLE_DOCKER=true -e ENABLE_SSH=true -p 22:22 agentbox
# تجربة سطح المكتب الكاملة مع جميع الخدمات (صورة GUI)
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 يمكنه تثبيت أدوات إضافية.
العوامل البرمجية/واجهات سطر الأوامر التي يمكنك تثبيتها عبر make -C ~ …:
toad — تثبيت Batrachian Toad (عبر uv tool)opencode — تثبيت OpenCode (عبر Bun)gemini — تثبيت Gemini CLI (عبر Homebrew)vibe — تثبيت mistral-vibe (عبر uv tool)أهداف مساعدة:
tools — تثبيت node و go و gemini و vibenode و go — تثبيت سلاسل أدوات اللغة (متطلبات مسبقة لبعض العوامل)يحتوي Agentbox على هيكل مشروع مدمج في /home/agent/workspace-skel.
لنسخه إلى مجلد /workspace الحالي دون الكتابة فوق الملفات الموجودة:
make init-workspace
انظر docs/workspace-skeleton.md للتفاصيل.
يتم نشر بناء واجهة المستخدم الرسومية تحت الوسم :gui (أيضاً <release>-gui) ويتضمن XFCE و XRDP و VS Code.
سير العمل الموصى به:
make up
make enter-toad # أو: 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
# بناء الصورة بدون واجهة رسومية
docker build -t agentbox .
# بناء صورة واجهة المستخدم الرسومية
docker build -t agentbox:gui --target gui .
# تشغيل الحاوية مع خدمات محددة (صورة GUI)
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