شغّل OpenCode بأمان جوه الكرتونة (Docker Sandbox)
OpenCode هو AI agent مجاني بيكتب كود. الشرح ده بيحطه في كرتونة مقفولة (Docker Sandbox)، فما يشوفش غير فولدر واحد. مش محتاج تكون مبرمج: انسخ الأمر، الصقه، ودوس Enter.
ليه الكرتونة؟
- الـAI agent بيشغّل أوامر على جهازك بنفس صلاحياتك. أي حاجة إنت تقدر تفتحها، هو كمان يقدر: ملفات، باسوردات، مفاتيح.
- الـsandbox كرتونة مقفولة: كمبيوتر صغير لوحده جوه جهازك. الـagent ما بيشوفش غير فولدر المشروع اللي إنت اديته له. وجوه الفولدر ده يقدر يقرا ويغيّر ويمسح الملفات، فما تحطش فيه باسوردات أو ملفات
.env. - مفاتيح الـAPI اللي بتديها لـsbx بتفضل برة الكرتونة. Docker بيحطها في الطلب وهو خارج، فالـagent عمره ما بيشوفها.
- الكرتونة بتمنع المواقع الغريبة. أي موقع جديد بيفضل ممنوع لحد ما إنت توافق.
برنامج sbx والتشغيل على جهازك مجانيين، حتى للشغل التجاري.
محتاج إيه؟
ماك (macOS)
- macOS Sonoma 14 أو أحدث.
- ماك بمعالج Apple silicon (M1 أو أحدث).
ويندوز (Windows)
- Windows 11، 64-bit، بمعالج Intel أو AMD.
- خاصية Windows Hypervisor Platform شغالة (الخطوة تحت).
لينكس (Linux)
- Ubuntu 24.04 أو أحدث، 64-bit (Intel أو AMD أو Arm). Docker ما بيدعمش التوزيعات المبنية على Ubuntu زي Linux Mint وPop!_OS.
- الـKVM شغال، واليوزر بتاعك في جروب
kvm(الخطوة تحت).
للكل
- حساب Docker عشان تعمل login. عمل الحساب مجاني.
- إنترنت.
افتح الـTerminal
الـTerminal شباك بتكتب فيه أوامر. كل الخطوات اللي تحت بتتعمل فيه.
- ماك: دوس
Cmd + Space، اكتب Terminal، ودوس Enter. - ويندوز: كليك يمين على زرار Start واختار Terminal. وللخطوات اللي محتاجة admin اختار Terminal (Admin).
- Ubuntu: دوس
Ctrl + Alt + T.
عشان تلصق أمر: Cmd + V على الماك، Ctrl + V على ويندوز، Ctrl + Shift + V على Ubuntu.
سطّب sbx
sbx هو برنامج Docker Sandboxes المجاني. مش محتاج Docker Desktop.
ماك (macOS)
اتأكد إن عندك Homebrew، ده برنامج مجاني بيسطّب برامج الـTerminal على الماك. لو قالك
command not found، سطّبه الأول من brew.sh (بيفتح في تاب جديد).brew --versionسطّب sbx. الجزء الأول بيقول لـHomebrew: أنا واثق في الكتالوج بتاع Docker، والتاني بيسطّب البرنامج منه.
brew trust docker/tap && brew install docker/tap/sbx
ويندوز (Windows)
افتح Terminal (Admin) ودوس Yes. اتأكد إن التاب مكتوب عليه PowerShell (لو لأ، اختار Windows PowerShell من السهم اللي جنب +). شغّل Windows Hypervisor Platform، ولو ويندوز طلب restart اعمله.
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -Allافتح Terminal عادي وسطّب sbx بـwinget، ده المسطّب اللي جاي مع Windows 11.
winget install -h Docker.sbxلو الخطوات اللي بعد كده قالت إن
sbxمش موجود، اقفل الـTerminal وافتح واحد جديد.
لينكس (Ubuntu)
اتأكد إن الـKVM شغال. المفروض تشوف
kvm_intelأوkvm_amdأوkvm_arm64أوkvm. لو ما ظهرش حاجة، شوف "لو حاجة باظت" تحت.lsmod | grep kvmضيف نفسك لجروب
kvm. الـsudoهيطلب باسورد Ubuntu بتاعك: اكتبه ودوس Enter. مش هيظهر أي حاجة وإنت بتكتب، وده طبيعي.sudo usermod -aG kvm $USERاعمل sign out من Ubuntu وادخل تاني (أو اعمل restart)، عشان الجروب الجديد يشتغل في أي Terminal.
سطّب Docker Engine وsbx:
curl -fsSL https://get.docker.com | sudo SBX=1 sh
ادخل بحساب Docker
sbx loginالمتصفح هيفتح. ادخل بحسابك، أو اعمل حساب Docker مجاني، وارجع للـTerminal.
شغّل OpenCode جوه الكرتونة
اعمل فولدر جديد وفاضي لأول تجربة. الفولدر ده بس هو اللي هيدخل الكرتونة، والـagent يقدر يغيّر أي حاجة فيه.
افتح Terminal جوه الفولدر ده. على الماك: اكتب
cdوبعدها مسافة، اسحب الفولدر جوه شباك الـTerminal، ودوس Enter. على ويندوز وUbuntu: كليك يمين جوه الفولدر واختار Open in Terminal.شغّل OpenCode جوه الكرتونة:
sbx run opencodeأول مرة بس: sbx هيسألك عن الـnetwork policy. اختار Balanced (اللي Docker بينصح تبدأ بيه): المواقع الغريبة ممنوعة، ومواقع البرمجة المعروفة مسموحة.
استنى شوية. أول مرة بيحمّل OpenCode جوه الكرتونة (حوالي 800 MB في تجربتنا).
OpenCode هيفتح. اكتب
/modelsودوس Enter عشان تشوف ليستة الموديلات.اكتب free عشان تفلتر، واختار موديل مجاني، مثلًا موديل DeepSeek Free (اشتغل معانا بسياسة Balanced في تجربتنا). الموديلات المجانية مجانية لفترة محدودة والليستة بتتغير، شوف موديلات OpenCode (بيفتح في تاب جديد).
اتأكد إنه جوه الكرتونة
اسأله. المفروض يقولك إنه شغال جوه Linux environment معزولة.
Are you sandboxed?
اختبار حقيقي (اختياري). اطلب منه يدوّر على أسرارك:
دوّر على الجهاز كله على أي باسوردات أو مفاتيح SSH أو ملفات .env، وقولّي لقيت إيه.
هيدوّر بجد ومش هيلاقي حاجة برة الكرتونة. مش عشان مؤدب، عشان أصلًا مش شايف غير فولدر المشروع. بس لو فيه ملف
.envجوه الفولدر ده، هيقدر يقراه، فخلّي الأسرار برّه.لو لقى login، بص على القيمة. في تجربتنا كانت
proxy-managed، يعني قيمة بديلة مش مفتاح حقيقي. المفاتيح اللي sbx شايلها عمرها ما بتدخل الكرتونة.اطلب منه يفتح http://example.com. في تجربتنا (بسياسة Balanced) اتمنع واحتاج موافقة. لو عايز تسمح لموقع إنت واثق فيه، شغّل ده في Terminal تاني:
sbx policy allow network example.comعشان تخرج من OpenCode، دوس
Ctrl + C.
شوف الكرتونة، وقّفها أو امسحها
شوف الكراتين اللي عندك وأساميها:
sbx lsوقّف كرتونة. كل اللي جواها بيفضل للمرة الجاية. حط مكان <name> الاسم اللي ظهر في sbx ls.
sbx stop <name>امسح كرتونة بكل اللي جواها. ملفات فولدر المشروع على جهازك ما بتتلمسش.
sbx rm <name>عشان تستخدمه تاني بعدين، افتح Terminal في نفس الفولدر وشغّل sbx run opencode.
لو حاجة باظت
- حاجة مش شغالة: شغّل
sbx diagnose. بيفحص التسطيب ويقولك تصلّح إزاي. - أوامر sbx بتعلّق أو بتطلّع daemon errors: شغّل
sbx daemon restartوجرّب تاني. الكراتين بتاعتك مش هتتمسح. - الموديل المجاني مش بيرد: اسمح لسيرفرات OpenCode بـ
sbx policy allow network opencode.ai:443وجرّب تاني. - في تجربتنا ظهر مرة "agent binary opencode not found": امسح الكرتونة بـ
sbx rm <name>، وشغّلsbx run opencodeتاني، وسيبه يخلّص أول مرة من غير ما تدوسCtrl + C. - موقع أو package ممنوع: شغّل
sbx policy logعشان تعرف الدومين اللي اتمنع. لو واثق فيه، شغّلsbx policy allow network example.comوحط الدومين مكان example.com (من غيرhttps://ومن غير مسار صفحة). - لينكس، و
lsmod | grep kvmما طلّعش حاجة: شغّل الـvirtualization (Intel VT-x أو AMD-V) من إعدادات الـBIOS أو UEFI. ولو Ubuntu نفسه شغال جوه virtual machine، الـmachine دي لازم تبقى فيها nested virtualization.
المصادر الرسمية (بالإنجليزي)
اتراجع على المصادر الرسمية في أكتوبر 2026.