تشغيل الأوامر المحلية بأمان
في تطبيق سطح المكتب، يمكن للمساعد تنفيذ الأوامر والاختبارات داخل مجلد العمل الخاص بمحادثتك. لمعرفة كيف يعمل ذلك داخل الدردشة، راجع الوصول المحلي إلى الملفات. في هذه الصفحة تضبط متى يُسمح بذلك دون سؤال وكيف تُشغَّل الأوامر بشكل معزول.
فتح إعدادات الأوامر
افتح في الدردشة لوحة الأوامر واختر إعدادات الأوامر لهذا المجلد. تسري الإعدادات على مستوى المجلد.
متى يُسمح للمساعد بتنفيذ أمر؟
اختر أحد الأوضاع الثلاثة التالية:
- اسأل دائمًا: توافق على كل أمر.
- الأوامر الموثوقة تلقائيًا: الأوامر التي حفظتها تبدأ دون سؤال. أما الأوامر الأخرى فستظل تطلب الإذن.
- تشغيل تلقائي في صندوق رمل: كل شيء يبدأ دون سؤال، ولكن داخل بيئة معزولة.
وفي كل وضع تنطبق أيضًا القواعد التالية:
- الأوامر غير الضارة تبدأ دون بطاقة:
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.
تثبيت الحزم
يأتي التطبيق مع Node.js مدمجًا ومعه npm. لذلك تعمل أوامر مثل node وnpm وnpx حتى لو لم يكن Node.js مثبتًا على جهازك. إذا كان لديك Node.js مثبتًا بنفسك، فسيستخدم التطبيق تلك النسخة. الاستثناء: المشروع الذي يشغّل Electron بنفسه (electron .) يحتاج إلى Node.js الذي قمت بتثبيته أنت.
السماح بتثبيت الحزم دون سؤال
فعّل في إعدادات الأوامر لهذا المجلد المفتاح السماح بتثبيت الحزم دون سؤال. عندها تبدأ عمليات تثبيت الحزم التي تحتوي على اسم دون بطاقة: npm install <naam> وnpm install من package.json، وpnpm وyarn أو bun مع install أو add، وpip install <naam> (وأيضًا عبر 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 فقط على هيئة wheels جاهزة.
الخوادم المحلية والمتصفح المدمج
يمكن للمساعد أيضًا تشغيل خادم تطوير يبقى يعمل، مثل 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.
في الوضع غير المتصل تعمل الأوامر دائمًا في الصندوق المعزول من دون شبكة. ولا تعمل حينها تثبيتات الحزم التي تحتاج إلى شبكة، ولا الإجراءات عبر الإنترنت الخاصة بـ git المدمج (التنزيل، الجلب، النشر، وGitHub). أما حفظ الإصدارات وعرض صفحة ويب بسيطة فهما يعملان.
إعدادات للمديرين
يمكن للمديرين إيقاف الأوامر المحلية أو التشغيل التلقائي للجميع في البيئة. ويتم ذلك في بيئة الإدارة ضمن الميزات (على مستوى البيئة)، في بطاقة تطبيق سطح المكتب:
- السماح بالأوامر المحلية: إذا كان هذا متوقفًا، فلن يتمكن المساعد من تنفيذ الأوامر. كما لن تعمل الإجراءات عبر الإنترنت الخاصة بـ git المدمج. أما حفظ الإصدارات والفروع فستظل تعمل: فهي تغيّر الملفات داخل المجلد فقط، مثل أدوات الملفات.
- السماح بالتشغيل التلقائي: إذا كان هذا متوقفًا، فسيطلب كل أمر الإذن، ولن يمكنك تفعيل السماح بتثبيت الحزم دون سؤال.
- السماح بـ Python الخاص بالتطبيق لملفات Office: للقوالب والمخططات والتحليلات. يعمل هذا Python من دون إنترنت، ويكتب فقط داخل مجلد العمل، ولا يمكنه تشغيل برامج أخرى. إذا لم يُضبط شيء، فسينطبق هذا على السماح بالأوامر المحلية. ومن دون صندوق معزول (Windows) لا يتوفر إلا إذا كانت الأوامر المحلية مفعّلة، ويطلب الإذن في كل مرة.