Deepseek ArtifactsDeepseek Artifacts
من العرض الرسمي لصندوق الحماية من GitHub

وضع الحماية في Copilot: دليل مصوّر خطوة بخطوة

تُبقي الحماية المحلية أوامر shell وأدوات الملفات واتصالات الشبكة الخاصة بـ GitHub Copilot داخل عزلة على مستوى نظام التشغيل. يستعرض هذا الدليل العرض الرسمي من GitHub: التفعيل عبر /sandbox، ثم تشكيل السياسة، ثم الإيقاف، ثم تسليم جلسات كاملة للسحابة.

الخلاصة

  • يشغّل وضع الحماية أوامر shell وأدوات الملفات وخوادم MCP وLSP الخاصة بـ Copilot داخل صندوق حماية نظام التشغيل — مع تقييد الملفات والشبكة وبيانات الاعتماد دون آلة افتراضية أو حاوية (Seatbelt على macOS، وbubblewrap على Linux، وProcessContainer على Windows).
  • في تطبيق Copilot تكون الحماية متوقفة افتراضيًا: افتح إعدادات التطبيق، واختر المشروع، ثم فعّل "Sandbox new sessions". في الواجهة النصية نفّذ /sandbox enable (ميزة تجريبية).
  • نفّذ /sandbox لتشكيل السياسة — تبويبات General وFilesystem وNetwork في الواجهة النصية؛ ومسارات قراءة/كتابة إضافية ومسارات للقراءة فقط ومسارات مرفوضة مع مفاتيح الشبكة وبيانات الاعتماد في التطبيق. تُطبَّق التغييرات على الجلسات الجديدة أو عبر /restart-session.
  • ينقل الأمر copilot --cloud الجلسة بأكملها إلى صندوق حماية سحابي تستضيفه GitHub؛ وتعود إليها عبر رابط github.com/copilot/tasks أو تبويب Agents في المستودع. إعدادات الحماية المحلية لا تنطبق على الجلسات السحابية.

How to run GitHub Copilot in local and cloud sandboxes | demo

القناة:GitHub (official channel)1:31

مشاهدة

GitHub Copilot Sandboxes are SO COOL

القناة:Gwyneth Peña-Siguenza1:50

مشاهدة

Local sandboxing in the GitHub Copilot app (public preview)

الوثائق:github.blog/changelog

مشاهدة

Configuring local sandboxing in the GitHub Copilot app

الوثائق:docs.github.com

مشاهدة

About cloud and local sandboxes for GitHub Copilot

الوثائق:docs.github.com

مشاهدة

إطارات هذا الدليل مأخوذة من العرض الرسمي لصندوق الحماية من GitHub — تسجيل طرفية نظيف. كُتب النص اعتمادًا على الفيديو ووثائق GitHub، وأسماء الإعدادات مقتبسة حرفيًا.

تبقى لقطات الشاشة ملكًا لأصحابها وتُستخدم بالإسناد كمراجع بصرية. الحماية المحلية في معاينة عامة — قد تتغير الأسماء والسلوك.

الاستعراض: 12 خطوة

1 · تفعيل الحماية المحلية

  1. 1

    شغّل Copilot في مستودعك

    شغّل Copilot CLI في مشروعك. الحماية ميزة تجريبية في الواجهة النصية — يظهر شعار /experimental في اللافتة، ويحمل شريط الحالة مؤشر صندوق الحماية الذي ستتعلم قراءته.

    Copilot CLI v1.0.56 session start in a repo showing the yellow /experimental badge with the sandbox enabled indicator lit in the status bar
    بدء تشغيل Copilot CLI مع شعار /experimental ومؤشر الحماية في شريط الحالة.شاهد عند 0:08
  2. 2

    نفّذ /sandbox enable

    اكتب /sandbox وستعرض لوحة الأوامر مفتاحين اثنين فقط: enable وdisable. اختر enable — تنطبق الحماية على جلسة Copilot هذه وعلى كل أمر shell ينفّذها.

    Copilot CLI slash-command menu listing /sandbox enable and /sandbox disable above the /sandbox [enable|disable] prompt hint
    الإكمال التلقائي لـ /sandbox يعرض enable وdisable.شاهد عند 0:24
  3. 3

    تأكد من أن الجلسة داخل الحماية

    يطبع Copilot رسالة "Sandboxing has been enabled." ويعرض شريط الحالة "sandbox enabled" بجوار AI Credits. من هنا فصاعدًا، تُنفَّذ أوامر الوكيل داخل صندوق الحماية.

    Copilot CLI printing Sandboxing has been enabled with the status bar reading sandbox enabled next to AI Credits 0
    "Sandboxing has been enabled." — التأكيد الذي تريد رؤيته.شاهد عند 0:12

2 · تحديد ما يمكن أن يصل إليه صندوق الحماية

  1. 4

    افتح /sandbox لتشكيل السياسة

    يفتح الأمر /sandbox وحده لوحة Configure sandbox المحفوظة في settings.json تحت `sandbox`. يقرر تبويب General ما الذي يعمل بالداخل: أوامر shell، وخوادم MCP، وخوادم LSP، والوصول إلى Keychain في macOS لمساعدي بيانات اعتماد git وgh.

    Copilot CLI Configure sandbox panel on the General tab with Sandboxing enabled, Sandbox MCP servers, Sandbox LSP servers and Allow keychain access checkboxes
    تبويب General: أوامر shell وخوادم MCP وLSP والوصول إلى Keychain.شاهد عند 0:30
  2. 5

    حدّد نطاق نظام الملفات

    يضيف تبويب Filesystem مجلد عملك تلقائيًا إلى مسارات القراءة/الكتابة ويمكنه تصفير الأذونات عند خروج صندوق الحماية. مسارات الأدوات مثل ~/.nvm و~/.npm تُركَّب للقراءة فقط — وسّع القائمة إذا احتاجت أدواتك إلى المزيد.

    Copilot CLI sandbox Filesystem tab showing Include working directory, Clear policy on exit and the read-only ~/.nvm and ~/.npm path list
    مسارات القراءة فقط لـ nvm وnpm، مع إدراج مجلد العمل تلقائيًا.شاهد عند 0:32
  3. 6

    حدّد نطاق الشبكة

    يعرض تبويب Network ثلاثة مقابض: السماح بالاتصال الصادر بالإنترنت، والسماح بالشبكة المحلية، وقائمة Access لكل مضيف. شدّد هذه المقابض أولًا إن كانت المهمة لا تحتاج تنزيلات.

    Copilot CLI sandbox Network tab with the Allow outbound connections and Allow local network checkboxes plus an empty Access Host list
    سياسة الشبكة: الصادر، والشبكة المحلية، وقائمة سماح لكل مضيف.شاهد عند 0:36
  4. 7

    اكتب الكود كالمعتاد — تبقى الأوامر داخل الحماية

    اعمل كعادتك. يخطط الوكيل ويحرر وينفّذ الأوامر بينما يواصل شريط الحالة عرض "sandbox enabled". وإذا احتاج أمر ما شيئًا ترفضه السياسة، يفشل Copilot بصوت عالٍ بدلًا من التسلل خارج الصندوق بصمت.

    Copilot CLI agent planning a SQLAlchemy 2.0 migration while the status bar reads sandbox enabled at 61.8 AI Credits
    ترحيل SQLAlchemy مخطط ومنفَّذ مع "sandbox enabled" في شريط الحالة.شاهد عند 0:20

3 · اعمل، أو أوقفه، أو انتقل إلى السحابة

  1. 8

    عُد بالأمسيات مع /sandbox disable

    تحتاج خطوة خارج الصندوق؟ يوقف /sandbox disable الحماية — تظهر "Sandboxing has been disabled." ويختفي شعار الحماية من شريط الحالة. ويمكنك التبديل ذهابًا وإيابًا كما تتطلب المهمة.

    Copilot CLI printing Sandboxing has been disabled after the /sandbox disable command with AI Credits 133 and no sandbox badge left in the status bar
    "Sandboxing has been disabled." — لاحظ اختفاء شعار الحماية من شريط الحالة.شاهد عند 0:38
  2. 9

    أطلق صندوق حماية سحابيًا عبر copilot --cloud

    للأعمال الأثقل، شغّل Copilot بخيار --cloud (يقترنه العرض الرسمي بـ --yolo، وتُظهر وثائق GitHub مثال --cloud --experimental). تعمل الجلسة في بيئة مؤقتة تستضيفها GitHub بدلًا من جهازك.

    Terminal launching a Copilot cloud sandbox with the copilot --cloud --yolo command typed at the tailspin-toys git prompt
    copilot --cloud --yolo — الجلسة بأكملها على وشك مغادرة حاسوبك.شاهد عند 0:50
  3. 10

    احصل على رابط التحكم عن بُعد

    بعد تجهيز الجلسة البعيدة، يصل Copilot بالتحكم عن بُعد ويطبع رابط github.com/copilot/tasks/... — ويعرض ctrl+e رمز QR. توجد شجرة العمل في /workspaces/<repo> داخل صندوق الحماية السحابي.

    Copilot cloud session showing Remote control connected as GeekTrainer with the github.com/copilot/tasks session URL and the ctrl+e QR code hint
    التحكم عن بُعد متصل، مع رابط الجلسة واختصار رمز QR.شاهد عند 1:00
  4. 11

    اتركه يبني ويختبر في السحابة

    ينشئ الوكيل الملفات ويثبّت الاعتماديات ويشغّل نصوص الاختبار داخل صندوق الحماية السحابي — هنا يُنشئ test_auth.py ويشغّل حزمة اختبارات الواجهة الخلفية. يبقى جهازك خاملًا بينما تتقدم الأرصدة في شريط الحالة.

    Copilot cloud sandbox creating test_auth.py and running backend unit tests through the test-runner skill inside /workspaces/tailspin-toys
    الاختبارات تعمل في صندوق الحماية السحابي، وقد أُنفقت 80.4 من AI Credits حتى الآن.شاهد عند 1:10
  5. 12

    راقِب وعُد للانضمام من GitHub.com

    تظهر الجلسة في تبويب Agents الخاص بالمستودع كـ Remote CLI session — تابع التقدم وأرسل الرسائل من المتصفح، ثم استأنف لاحقًا عبر copilot --resume الذي يسرد الجلسات المحلية والبعيدة معًا.

    GitHub.com Agents tab listing Remote CLI sessions for the tailspin-toys repo while Copilot recommends Flask auth libraries in the session panel
    تبويب Agents لمستودع tailspin-toys يتتبع الجلسة السحابية مباشرة.شاهد عند 1:14

أين تعيش الإعدادات: تطبيق Copilot مقابل Copilot CLI

توجد الحماية المحلية على سطحين، وتُضبط إعداداتهما كلٌّ على حدة — تغيير أحدهما لا يغيّر الآخر أبدًا.

  • 1تطبيق Copilot: متوقف افتراضيًا. افتح إعدادات التطبيق، واختر المشروع، ثم فعّل "Sandbox new sessions" تحت "Sandbox". تصف سياسة المشروع ما يمكن أن تطلبه الجلسة المحمية.
  • 2سياسة التطبيق: يبدأ الوصول إلى نظام الملفات بالقراءة/الكتابة لمساحة العمل ومجلد العمل، مع قوائم قراءة/كتابة إضافية وقراءة فقط ومسارات مرفوضة؛ ويغطي الوصول إلى الشبكة الإنترنت الصادر والشبكة المحلية؛ وتغطي بيانات الاعتماد git وGitHub CLI.
  • 3Copilot CLI: الحماية تجريبية — شغّل بخيار --experimental (أو نفّذ /experimental on)، ثم استخدم /sandbox enable أو /sandbox disable أو /sandbox وحدها لفتح لوحة الإعداد. تُحفظ الإعدادات في settings.json تحت `sandbox`.
  • 4الأوامر المائلة حساسة للتوقيت: كتابة /sandbox on أو /sandbox off أثناء جلسة نشطة تعني تجاوزًا لتلك الجلسة فقط، أما قبل بدء الجلسة فتغيّر الافتراضي للمشروع. واستخدم /restart-session لتطبيق تغييرات السياسة دون فقدان السجل.
  • 5الجلسات السحابية عالم آخر: إعدادات الحماية المحلية لا تنطبق على صناديق الحماية السحابية ولا على جلسات المضيف البعيد، كما يجب أن يفعّل مالك المؤسسة سياسة وصول Cloud Sandbox قبل ظهورها.

عرض CLI في هذا الدليل هو المسار الأسرع؛ ومفتاح المشروع في التطبيق هو الافتراضي الدائم بعد أن تحسم السياسة التي تريدها.

حين يقول صندوق الحماية لا: فشل مغلق بالتصميم

صُمم صندوق الحماية ليفشل مغلقًا — إذا لم يستطع نظام التشغيل فرض السياسة المطلوبة، يتعطل الأمر بخطأ بدلًا من العمل بلا حماية.

  1. 1منصة أو سياسة غير مدعومة: إذا تعذّر فرض السياسة المطلوبة، تفشل الصدفة المحمية بخطأ — ولا يتراجع أبدًا بصمت إلى العمل دون صندوق حماية.
  2. 2"Sandbox unavailable": يُشير التطبيق إلى المشكلة ويوفر زر Retry sandbox بعد إصلاح السبب.
  3. 3المخرج الطارئ: قد يعرض تنبيه "Run outside the sandbox?" الإلغاء أو التشغيل مرة واحدة خارج الحماية أو إيقاف الحماية لتلك الجلسة — ويعيدها "Re-enable sandbox". ينتهي ذلك عند إعادة التشغيل ولا يغيّر افتراضيات المشروع أبدًا.
  4. 4يمكن لمالكي المؤسسة حسم الكلمة الأخيرة: يمكن للإعدادات المُدارة سد مخرج التشغيل خارج الحماية، والفرض هناك فاشل مغلق أيضًا.

ملاحظات الأنظمة: يُوصى بـ macOS 15 فأحدث (Seatbelt)؛ ويحتاج Linux إلى bubblewrap 0.5.0 فأحدث في PATH مع slirp4netns وutil-linux 2.35 فأحدث وiptables و/dev/net/tun؛ وتستخدم Windows مستوى BaseContainer من ProcessContainer — والمسار المرفوض الذي لا يمكن ضمانه يُفشل الأمر برسالة unsupported-policy.

الأسئلة الشائعة عن صندوق حماية Copilot

أدلة ذات صلة