انتقل إلى المحتوى الرئيسي

تشغيل الأوامر المحلية بأمان

في تطبيق سطح المكتب يمكن للمساعد تشغيل أوامر واختبارات في مجلد العمل الخاص بمحادثتك. تجد شرح طريقة عمل ذلك في المحادثة في الوصول إلى الملفات المحلية. في هذه الصفحة تحدّد متى يُسمح بذلك دون سؤالك، ومدى عزل الأوامر عند تشغيلها.

فتح إعدادات الأوامر​

افتح في المحادثة لوحة الأوامر واختر إعدادات الأوامر لهذا المجلد. تنطبق الإعدادات على كل مجلد على حدة.

متى يمكن للمساعد تشغيل أمر؟​

اختر أحد الأوضاع الثلاثة التالية:

  • اسأل دائمًا: توافق أنت على كل أمر.
  • الأوامر الموثوقة تلقائيًا: الأوامر التي حفظتها تبدأ دون سؤال. أما الأوامر الأخرى فتظل تطلب الإذن.
  • تلقائيًا داخل بيئة معزولة: يبدأ كل شيء دون سؤال، لكن داخل بيئة معزولة.

تنطبق هذه القواعد أيضًا في كل وضع:

  • الأوامر غير الضارة تبدأ دون بطاقة: mkdir, ls, cat, head, tail, wc, grep, find (دون -exec أو -delete)، وtouch, pwd, tree وفحوص الإصدار (--version أو -v أو -V لـ node وnpm وnpx وpython وpip وaischool-python). فهي لا تفعل أكثر مما تفعله أدوات الملفات المدمجة دون سؤال أصلًا. وتعمل داخل البيئة المعزولة دون شبكة، وبمسارات داخل مجلد العمل فقط، حتى بعد تتبّع الروابط (دون مسارات مطلقة أو ~ أو ..). وإذا أشار رابط إلى خارج المجلد، فستظهر بطاقة. يتطلب ذلك بيئة معزولة (macOS وLinux) وتفعيل الأوامر المحلية، لكنه لا يتطلب خيار السماح بالتشغيل التلقائي لدى المسؤول. وتظهر عندها في لوحة الأوامر التسمية تلقائي (أمر غير ضار). كذلك تبدأ قائمة بين أقواس معقوصة، مثل mkdir -p src/{components,utils}، دون بطاقة: يحوّلها التطبيق إلى مسارات منفصلة ويتحقق من كل منها.
  • تعرض كل بطاقة الأمر بالضبط، وفي الإجراءات عبر الإنترنت العنوان الدقيق أيضًا. وتحته يظهر شرح المساعد بخط أصغر.
  • إذا كانت البيئة المعزولة متاحة وسمح المسؤول بالتشغيل التلقائي، فستحتوي بطاقة الأمر الذي يعمل داخل البيئة المعزولة أيضًا على الزر تلقائيًا من الآن في البيئة المعزولة في هذا المجلد. يحوّل هذا الزر المجلد إلى تلقائيًا داخل بيئة معزولة، فتبدأ الأوامر التالية دون بطاقة. أما الأوامر التي تحتاج إلى الشبكة فتسأل مرة واحدة، ما لم يُسمح بتثبيت الحزم.
  • تعرض أول بطاقة في مجلد تعمل داخل بيئة العزل ولا تطلب الشبكة زر الوثوق بهذا المشروع مرة واحدة. ينفّذ الزر الأمر، ويحوّل المجلد إلى تلقائيًا داخل بيئة معزولة، ويفعّل السماح بتثبيت الحزم دون سؤال. بعد ذلك تبدأ الاختبارات وعمليات البناء مثل npm test وnpm run build وnode --test دون بطاقة، داخل بيئة العزل ودون شبكة. أما الأوامر التي تحتاج إلى الشبكة لغرض آخر أو تعمل خارج بيئة العزل فتظل تسأل. بعد تشغيل أو رفض لا يعود السؤال في هذا المجلد؛ ويمكنك تغيير الوضع من إعدادات الأوامر. وإذا كان التشغيل التلقائي معطّلًا، فإن كل بطاقة توضح هل السبب هو المسؤول أم سياسة إدارة هذا الكمبيوتر.

حفظ الأوامر الموثوقة​

عند أي أمر، اختر السماح دائمًا في هذا المجلد ثم هذا الأمر تحديدًا أو كل ما يبدأ بـ. بعد ذلك تبدأ الأوامر المحفوظة دون سؤال. أما الأوامر التي تحتوي على رموز خاصة (مثل ; | > $) فتطلب الإذن دائمًا.

تظهر القواعد المحفوظة في إعدادات الأوامر ضمن مسموح دائمًا في هذا المجلد. ويمكنك حذفها من هناك أيضًا.

البيئة المعزولة والشبكة​

  • استخدام البيئة المعزولة: لا يمكن للأوامر الكتابة إلا في هذا المجلد. هذا الخيار مفعّل افتراضيًا على macOS وLinux.
  • السماح بالشبكة: يحدّد ما إذا كان للأوامر وصول إلى الإنترنت. هذا الخيار معطّل افتراضيًا. ومن دون بيئة معزولة يكون للأوامر وصول إلى الشبكة دائمًا.

تُظهر كل بطاقة أمر ما إذا كانت البيئة المعزولة والشبكة مفعّلتين.

إذا كان السماح بالشبكة معطّلًا وأراد المساعد تنزيل شيء ما، مثلًا باستخدام npm install، فستسألك بطاقة الأمر عمّا إذا كنت تريد تشغيل هذا الأمر تحديدًا مع الشبكة. لذلك لا تحتاج إلى تفعيل الشبكة للمجلد بأكمله.

Windows

لا تتوفر بيئة معزولة على Windows حتى الآن.

تثبيت الحزم​

يأتي التطبيق مزوّدًا بنسخته الخاصة من Node.js مع npm. لذلك تعمل أوامر مثل node وnpm وnpx حتى إن لم يكن Node.js مثبّتًا على جهازك. وإذا كنت قد ثبّتّ Node.js بنفسك، فسيستخدم التطبيق تلك النسخة. استثناء: المشروع الذي يشغّل Electron بنفسه (electron .) يحتاج إلى Node.js ثبّتّه بنفسك.

السماح بتثبيت الحزم دون سؤال​

في إعدادات الأوامر لهذا المجلد فعّل مفتاح السماح بتثبيت الحزم دون سؤال. عندها تبدأ عمليات تثبيت الحزم المحددة بالاسم دون بطاقة: npm install <name> وnpm install من package.json، وpnpm أو yarn أو bun مع install أو add، وpip install <name> (وكذلك عبر uv). وهي تعمل دائمًا داخل البيئة المعزولة مع الشبكة. أما الأوامر الأخرى فتتبع الوضع الذي اخترته للمجلد.

أما عمليات التثبيت التالية فتظل تعرض بطاقة:

  • أدوات بدء المشاريع مثل npm create vite@latest وnpx create-…، لأنها تشغّل شيفرتها الخاصة؛
  • pip install . وpip install -r requirements.txt وعمليات التثبيت من سجل آخر (--registry و-i و--index-url) والحزم من عنوان git أو URL أو مسار.

لا يعمل هذا المفتاح إلا مع بيئة معزولة (macOS وLinux) وإذا كان المسؤول يسمح بالتشغيل التلقائي. وإلا فلا يمكنك تفعيله.

دون نصوص تثبيت

الحزم التي تُثبَّت بهذه الطريقة لا تشغّل أبدًا نصوص التثبيت الخاصة بها (يعمل npm مع --ignore-scripts). ولا تُثبَّت حزم Python إلا كحزم wheel جاهزة.

الخوادم المحلية والمتصفح المدمج​

يمكن للمساعد أيضًا تشغيل خادم تطوير يبقى قيد التشغيل، مثل npm run dev لمشروع React صغير باستخدام Vite. تنطبق القواعد نفسها المطبقة على الأوامر الأخرى: توافق على الأمر بالضبط، أو يبدأ عبر قاعدة محفوظة أو تلقائيًا داخل البيئة المعزولة. بدلًا من الحد الأقصى للمدة، تعرض البطاقة «يبقى قيد التشغيل كخادم محلي حتى توقفه.»

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

في البيئة المعزولة بلا شبكة، لا يمكن للخادم أن يستمع إلا على هذا الحاسوب (localhost). تجد طريقة تثبيت المساعد للحزم في تثبيت الحزم.

عرض صفحة ويب بسيطة​

لا حاجة إلى أمر لصفحة ويب عادية (ملف index.html مع CSS وJavaScript، من دون خطوة بناء). عندها يستخدم المساعد خادم الويب المدمج في التطبيق:

  • لا يظهر المجلد إلا على هذا الحاسوب، على http://127.0.0.1 بمنفذ عشوائي.
  • لا تُعرض الملفات المخفية، مثل .git و.env، أبدًا.
  • عندما يتغيّر ملف، يُعاد تحميل الصفحة تلقائيًا.

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

تشاهد النتيجة في المتصفح المدمج: الزر المتصفح (أيقونة الكرة الأرضية) في طرف الشريط العلوي. تُفتح اللوحة بجانب المحادثة، وفيها رجوع وتقدّم وإعادة تحميل (إيقاف أثناء التحميل) وشريط عنوان وفتح في متصفحك الافتراضي.

  • يفتح المساعد المتصفح بنفسه لعرض نتيجة خادم محلي. يعمل ذلك فقط مع العناوين المحلية، مثل http://localhost:5173.
  • إذا نقرت على رابط localhost في إجابة، فإنه يُفتح في المتصفح المدمج. أما الروابط الأخرى فتُفتح في متصفحك الافتراضي.
  • يمكنك أيضًا كتابة أي عنوان ويب بنفسك.
  • للمتصفح جلسة خاصة منفصلة: لست مسجلًا الدخول فيه إلى AI-Public، ولا تحصل المواقع على أذونات مثل الكاميرا أو الميكروفون، ولا يمكن التنزيل.
  • ما دامت قائمة أو نافذة حوار في التطبيق مفتوحة، تُخفى الصفحة مؤقتًا.

مثال:

أنشئ في هذا المجلد تطبيق React صغيرًا باستخدام Vite فيه عدّاد. ثبّت الاعتماديات، وشغّل خادم التطوير، واعرض النتيجة في المتصفح.

السماح للمساعد بالاطلاع على الصفحة​

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

  • يطّلع المساعد على صفحة على هذا الحاسوب (localhost أو 127.0.0.1) دون أن يسأل.
  • في أي موقع آخر، مثل صفحة سجّلت الدخول إليها، يعرض المساعد أولًا بطاقة: "يريد المساعد الاطلاع على onedrive.live.com." انقر السماح بالاطلاع أو رفض. ويسأل في كل مرة.
  • إذا انتقلت الصفحة إلى موقع آخر بعد موافقتك، فلا يقرأ المساعد شيئًا.
  • لا ينقر المساعد ولا يكتب بنفسه إلا في صفحة على هذا الحاسوب، ليختبر ما صنعه. وفي المواقع الأخرى لا ينقر ولا يكتب ولا يتنقل، ولا يحصل على ملفات تعريف الارتباط أو كلمات المرور.
  • في وضع عدم الاتصال، يطّلع المساعد على صفحات هذا الحاسوب فقط.

الإصدارات وGitHub​

لدى المساعد git مدمج. لذلك لا تحتاج إلى تثبيت git، حتى على Windows. يمكن للمساعد حفظ الإصدارات، وعرض ما تغيّر، وإنشاء فروع، ونشر مشروع على الإنترنت.

  • تبدأ الإجراءات في هذا المجلد، مثل حفظ إصدار، دون سؤال. الملفات التي تبدو كأسرار (مثل ملفات .env أو المفاتيح أو الرموز المميزة في الشيفرة، ومنها مفاتيح Google API التي تبدأ بـ AIza) لا تدخل أبدًا في أي إصدار. ويُبلغك المساعد إذا تخطّى شيئًا.
  • الإجراءات عبر الإنترنت (تنزيل مشروع، وجلب أحدث إصدار، والنشر على الإنترنت، وإنشاء مستودع GitHub) تعرض أولًا بطاقة فيها العنوان الدقيق والوسمان مدمج في التطبيق والشبكة مفعّلة. إذا لم يكن العنوان github.com أو كان مستودع جديد سيصبح عامًا، فستعرض البطاقة تحذيرًا. وعند النشر تعرض البطاقة الملفات التي ستُرسل. اختر تشغيل أو رفض.
  • ربط مستودع خارج github.com يطلب الإذن أولًا أيضًا.

تجد طريقة ربط GitHub ونشر مشروع على الإنترنت في Vibe coding.

وضع عدم الاتصال

في وضع عدم الاتصال تعمل الأوامر دائمًا داخل البيئة المعزولة دون شبكة. ولا تعمل عندها عمليات تثبيت الحزم التي تحتاج إلى الشبكة ولا الإجراءات عبر الإنترنت في git المدمج (التنزيل والجلب والرفع وGitHub). أما حفظ الإصدارات وعرض صفحة ويب بسيطة فيستمران في العمل.

إعدادات المسؤولين​

يمكن للمسؤولين تعطيل الأوامر المحلية أو التشغيل التلقائي لجميع المستخدمين في البيئة. ويتم ذلك في بيئة الإدارة ضمن الميزات (على مستوى البيئة)، في بطاقة تطبيق سطح المكتب:

  • السماح بالأوامر المحلية: إذا كان معطّلًا، فلا يمكن للمساعد تشغيل أي أوامر. ولا تعمل حينها أيضًا الإجراءات عبر الإنترنت في git المدمج. لكن حفظ الإصدارات والفروع يظل يعمل: فهي لا تغيّر إلا الملفات في المجلد، مثل أدوات الملفات.
  • السماح بالتشغيل التلقائي: إذا كان معطّلًا، فإن كل أمر يطلب الإذن، ولا يمكنك تفعيل السماح بتثبيت الحزم دون سؤال.
  • السماح بـ Python الخاص بالتطبيق لملفات Office: للقوالب والمخططات والتحليلات. يعمل Python هذا من دون إنترنت، ولا يكتب إلا في مجلد العمل، ولا يمكنه تشغيل برامج أخرى. إذا لم يُضبط أي شيء، فإنه يتبع السماح بالأوامر المحلية. ومن دون البيئة المعزولة (Windows) لا يكون متاحًا إلا إذا كانت الأوامر المحلية مفعّلة، ويطلب الإذن في كل مرة.