روح للمحتوى
MizanStack

شغّل 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)

  1. اتأكد إن عندك Homebrew، ده برنامج مجاني بيسطّب برامج الـTerminal على الماك. لو قالك command not found، سطّبه الأول من brew.sh (بيفتح في تاب جديد).

    brew --version
  2. سطّب sbx. الجزء الأول بيقول لـHomebrew: أنا واثق في الكتالوج بتاع Docker، والتاني بيسطّب البرنامج منه.

    brew trust docker/tap && brew install docker/tap/sbx

ويندوز (Windows)

  1. افتح Terminal (Admin) ودوس Yes. اتأكد إن التاب مكتوب عليه PowerShell (لو لأ، اختار Windows PowerShell من السهم اللي جنب +). شغّل Windows Hypervisor Platform، ولو ويندوز طلب restart اعمله.

    Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All
  2. افتح Terminal عادي وسطّب sbx بـwinget، ده المسطّب اللي جاي مع Windows 11.

    winget install -h Docker.sbx
  3. لو الخطوات اللي بعد كده قالت إن sbx مش موجود، اقفل الـTerminal وافتح واحد جديد.

لينكس (Ubuntu)

  1. اتأكد إن الـKVM شغال. المفروض تشوف kvm_intel أو kvm_amd أو kvm_arm64 أو kvm. لو ما ظهرش حاجة، شوف "لو حاجة باظت" تحت.

    lsmod | grep kvm
  2. ضيف نفسك لجروب kvm. الـsudo هيطلب باسورد Ubuntu بتاعك: اكتبه ودوس Enter. مش هيظهر أي حاجة وإنت بتكتب، وده طبيعي.

    sudo usermod -aG kvm $USER
  3. اعمل sign out من Ubuntu وادخل تاني (أو اعمل restart)، عشان الجروب الجديد يشتغل في أي Terminal.

  4. سطّب Docker Engine وsbx:

    curl -fsSL https://get.docker.com | sudo SBX=1 sh

ادخل بحساب Docker

sbx login

المتصفح هيفتح. ادخل بحسابك، أو اعمل حساب Docker مجاني، وارجع للـTerminal.

شغّل OpenCode جوه الكرتونة

  1. اعمل فولدر جديد وفاضي لأول تجربة. الفولدر ده بس هو اللي هيدخل الكرتونة، والـagent يقدر يغيّر أي حاجة فيه.

  2. افتح Terminal جوه الفولدر ده. على الماك: اكتب cd وبعدها مسافة، اسحب الفولدر جوه شباك الـTerminal، ودوس Enter. على ويندوز وUbuntu: كليك يمين جوه الفولدر واختار Open in Terminal.

  3. شغّل OpenCode جوه الكرتونة:

    sbx run opencode
  4. أول مرة بس: sbx هيسألك عن الـnetwork policy. اختار Balanced (اللي Docker بينصح تبدأ بيه): المواقع الغريبة ممنوعة، ومواقع البرمجة المعروفة مسموحة.

  5. استنى شوية. أول مرة بيحمّل OpenCode جوه الكرتونة (حوالي 800 MB في تجربتنا).

  6. OpenCode هيفتح. اكتب /models ودوس Enter عشان تشوف ليستة الموديلات.

  7. اكتب free عشان تفلتر، واختار موديل مجاني، مثلًا موديل DeepSeek Free (اشتغل معانا بسياسة Balanced في تجربتنا). الموديلات المجانية مجانية لفترة محدودة والليستة بتتغير، شوف موديلات OpenCode (بيفتح في تاب جديد).

اتأكد إنه جوه الكرتونة

  1. اسأله. المفروض يقولك إنه شغال جوه Linux environment معزولة.

    Are you sandboxed?

  2. اختبار حقيقي (اختياري). اطلب منه يدوّر على أسرارك:

    دوّر على الجهاز كله على أي باسوردات أو مفاتيح SSH أو ملفات .env، وقولّي لقيت إيه.

  3. هيدوّر بجد ومش هيلاقي حاجة برة الكرتونة. مش عشان مؤدب، عشان أصلًا مش شايف غير فولدر المشروع. بس لو فيه ملف .env جوه الفولدر ده، هيقدر يقراه، فخلّي الأسرار برّه.

  4. لو لقى login، بص على القيمة. في تجربتنا كانت proxy-managed، يعني قيمة بديلة مش مفتاح حقيقي. المفاتيح اللي sbx شايلها عمرها ما بتدخل الكرتونة.

  5. اطلب منه يفتح http://example.com. في تجربتنا (بسياسة Balanced) اتمنع واحتاج موافقة. لو عايز تسمح لموقع إنت واثق فيه، شغّل ده في Terminal تاني:

    sbx policy allow network example.com
  6. عشان تخرج من 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.