تشغيل الأوامر المحلية بأمان
في تطبيق سطح المكتب، يمكن للمساعد تنفيذ الأوامر والاختبارات داخل مجلد العمل الخاص بمحادثتك. لمعرفة كيف يعمل ذلك داخل الدردشة، راجع الوصول المحلي إلى الملفات. في هذه الصفحة تضبط متى يُسمح بذلك دون سؤال، وكيف تُشغَّل الأوامر في بيئة معزولة.
فتح إعدادات الأوامر
افتح لوحة الأوامر في الدردشة واختر إعدادات الأوامر لهذا المجلد. تسري الإعدادات لكل مجلد على حدة.
متى يُسمح للمساعد بتنفيذ أمر؟
اختر أحد هذه الأوضاع الثلاثة:
- اسأل دائمًا: توافق على كل أمر.
- الأوامر الموثوقة تلقائيًا: الأوامر التي حفظتها تبدأ دون سؤال. أما الأوامر الأخرى فما زالت تطلب الإذن.
- التشغيل التلقائي في sandbox: كل شيء يبدأ دون سؤال، لكن داخل بيئة معزولة.
وفي كل وضع تسري أيضًا هذه القواعد:
- الأوامر غير الضارة تبدأ دون بطاقة:
mkdir،ls،cat،head،tail،wc،grep،find(من دون-execأو-delete)،touch،pwd،treeوأوامر عرض الإصدار (--versionأو-vأو-Vلـnodeوnpmوnpxوpythonوpipوaischool-python). فهي لا تفعل أكثر مما تفعله أدوات الملفات المدمجة أصلًا دون سؤال. وتعمل داخل sandbox من دون شبكة وباستخدام المسارات داخل مجلد العمل فقط، حتى بعد تتبع الروابط (من دون مسارات مطلقة أو~أو..). إذا أشارت رابطة إلى خارج المجلد، تظهر بطاقة. يتطلب ذلك sandbox (على macOS) والأوامر المحلية، لكنه لا يتطلب السماح بالتشغيل التلقائي من مديرك. عندها يظهر في لوحة الأوامر النص تلقائي (أمر غير ضار). كذلك تبدأ القائمة بين الأقواس المعقوفة، مثلmkdir -p src/{components,utils}، دون بطاقة: إذ تقسمها التطبيق إلى مسارات منفصلة ويتحقق منها كلها. - كل بطاقة تعرض الأمر بالضبط، وعند الإجراءات عبر الإنترنت تعرض العنوان الدقيق أيضًا. وتحتها يظهر شرح المساعد بحجم أصغر.
- إذا كانت sandbox متاحة وكان مديرك يسمح بالتشغيل التلقائي، فإن البطاقة الخاصة بأمر يعمل داخل sandbox تحتوي أيضًا على الزر من الآن فصاعدًا تشغيل تلقائي في sandbox لهذا المجلد. وهذا يضبط المجلد على التشغيل التلقائي في sandbox، بحيث تبدأ الأوامر التالية دون بطاقة. الأوامر التي تحتاج إلى شبكة تطلب مرة أخرى، إلا إذا كانت تثبيتات الحزم مسموحة.
- أول بطاقة في مجلد يعمل داخل sandbox ولا يطلب شبكة تعرض مرة واحدة الثقة بهذا المشروع. هذا ينفذ الأمر، ويضبط المجلد على التشغيل التلقائي في sandbox، ويُفعِّل السماح بتثبيت الحزم دون سؤال. بعد ذلك تبدأ الاختبارات وعمليات البناء مثل
npm testوnpm run buildوnode --testدون بطاقة، داخل sandbox ومن دون شبكة. الأوامر التي تحتاج إلى شبكة أكثر أو التي تعمل خارج sandbox ستظل تطلب الإذن. بعد تنفيذ أو رفض لا يعود السؤال في هذا المجلد؛ ويمكنك تغيير الوضع من إعدادات الأوامر. وإذا كان التشغيل التلقائي متوقفًا، فستوضح كل بطاقة ما إذا كان ذلك بسبب مديرك أو سياسة الإدارة لهذا الجهاز.
حفظ الأوامر الموثوقة
اختر عند أمر ما السماح دائمًا في هذا المجلد ثم هذا الأمر بالضبط أو كل ما يبدأ بهذا. ستبدأ الأوامر المحفوظة لاحقًا دون سؤال. الأوامر التي تحتوي على رموز خاصة (مثل ; و| و> و$) تطلب دائمًا الإذن.
تظهر القواعد المحفوظة في إعدادات الأوامر تحت مسموح دائمًا في هذا المجلد. ويمكنك حذفها من هناك أيضًا.
Sandbox والشبكة
- استخدام sandbox: يمكن للأوامر الكتابة داخل هذا المجلد فقط. هذا الخيار مفعّل افتراضيًا على macOS.
- السماح بالشبكة: يحدد ما إذا كان للأوامر وصول إلى الإنترنت. هذا الخيار متوقف افتراضيًا. وبدون sandbox تكون للأوامر دائمًا إمكانية الوصول إلى الشبكة.
كل بطاقة أمر تعرض ما إذا كانت sandbox والشبكة مفعّلتين.
إذا كان السماح بالشبكة متوقفًا وأراد المساعد تنزيل شيء، مثلًا باستخدام npm install، فستسأل بطاقة الأمر إن كنت تريد تنفيذ ذلك الأمر نفسه مع الشبكة. لذلك لا تحتاج إلى تفعيل الشبكة للمجلد كله.
لا تتوفر sandbox بعد على 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). وتعمل دائمًا داخل sandbox، مع الشبكة. أما الأوامر الأخرى فتتبع الوضع الذي اخترته للمجلد.
ومع ذلك ستظهر بطاقة لهذه التثبيتات:
- بادئات المشاريع مثل
npm create vite@latestوnpx create-…، لأنها تشغّل شيفرتها الخاصة؛ pip install .وpip install -r requirements.txt، والتثبيتات من سجلّ آخر (--registryأو-iأو--index-url)، والحزم من عنوان git أو URL أو مسار.
لا يعمل هذا المفتاح إلا مع sandbox (على macOS) وإذا كان مديرك يسمح بالتشغيل التلقائي. وإلا فلن يمكنك تفعيله.
الحزم التي تُثبَّت بهذه الطريقة لا تشغّل أبدًا نصوص التثبيت الخاصة بها (يعمل npm مع --ignore-scripts). وتُثبَّت حزم Python فقط كـ wheels جاهزة.
الخوادم المحلية والمتصفح المدمج
يمكن للمساعد أيضًا تشغيل خادم تطوير يبقى يعمل، مثل npm run dev لمشروع React صغير مع Vite. وتنطبق عليه القواعد نفسها الخاصة بالأوامر الأخرى: إما أن توافق على الأمر المحدد، أو يبدأ عبر قاعدة محفوظة أو تلقائيًا داخل sandbox. وبدل مدة التشغيل القصوى، تعرض البطاقة: "يبقى قيد التشغيل كخادم محلي حتى توقفه."
يبقى الخادم يعمل بعد أن يجيب المساعد. وفي لوحة الأوامر تعرض البطاقة الحالة الخادم يعمل، مع الزرين فتح في المتصفح وإيقاف. يمكن تشغيل 4 خوادم كحد أقصى في الوقت نفسه. وتتوقف الخوادم عندما توقفها أو عندما تغلق التطبيق.
داخل sandbox من دون شبكة، لا يجوز للخادم أن يستمع إلا على هذا الجهاز (localhost). وكيف يثبت المساعد الحزم، اقرأ في تثبيت الحزم.
عرض صفحة ويب بسيطة
بالنسبة إلى صفحة ويب عادية (index.html مع CSS وJavaScript، من دون خطوة بناء)، لا يلزم أي أمر. عندها يستخدم المساعد خادم الويب المدمج في التطبيق:
- لا يمكن رؤية المجلد إلا على هذا الجهاز، على
http://127.0.0.1مع منفذ عشوائي. - الملفات المخفية، مثل
.gitو.env، لا تُعرض أبدًا. - إذا تغيّر ملف، تُعاد تحميل الصفحة تلقائيًا.
لا تظهر بطاقة موافقة لهذا. ويظهر الخادم في لوحة الأوامر مع فتح في المتصفح وإيقاف، ويُحتسب ضمن الحد الأقصى البالغ 4 خوادم.
تعرض النتيجة في المتصفح المدمج: زر المتصفح (أيقونة الكرة الأرضية) على اليمين في الشريط العلوي. تُفتح اللوحة بجانب الدردشة، مع أزرار الرجوع، والتقدم، وإعادة التحميل (الإيقاف أثناء التحميل)، وشريط العنوان، وفتح في متصفحك الافتراضي.
- يفتح المساعد المتصفح بنفسه لعرض نتيجة خادم محلي. ولا يكون ذلك ممكنًا إلا مع العناوين المحلية، مثل
http://localhost:5173. - إذا نقرت في إجابة على رابط localhost، فسيُفتح في المتصفح المدمج. أما الروابط الأخرى فتُفتح في متصفحك الافتراضي.
- يمكنك أيضًا إدخال أي عنوان ويب بنفسك.
- للمتصفح جلسة خاصة منفصلة: لست مسجّل الدخول فيه إلى AI-Corporate، ولا تحصل المواقع على أذونات مثل الكاميرا أو الميكروفون، ولا يمكن التنزيل.
- ما دامت قائمة أو مربع حوار من التطبيق مفتوحًا، تُخفى الصفحة مؤقتًا.
مثال:
أنشئ في هذا المجلد تطبيق 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.
في الوضع غير المتصل، تعمل الأوامر دائمًا داخل sandbox من دون شبكة. لا تعمل حينها تثبيتات الحزم التي تحتاج إلى شبكة، ولا الإجراءات عبر الإنترنت الخاصة بـ git المدمج (التنزيل، الجلب، النشر، وGitHub). أما حفظ الإصدارات وعرض صفحة ويب بسيطة فهما يعملان.
إعدادات المديرين
يمكن للمديرين إيقاف الأوامر المحلية أو التشغيل التلقائي للجميع في البيئة. ويتم ذلك في بيئة الإدارة ضمن الميزات (على مستوى البيئة)، في بطاقة تطبيق سطح المكتب:
- السماح بالأوامر المحلية: إذا كان هذا متوقفًا، فلا يستطيع المساعد تنفيذ الأوامر. كما لا تعمل حينها الإجراءات عبر الإنترنت الخاصة بـ git المدمج. ومع ذلك يظل حفظ الإصدارات والفروع يعملان: فهما يغيّران الملفات داخل المجلد فقط، تمامًا مثل أدوات الملفات.
- السماح بالتشغيل التلقائي: إذا كان هذا متوقفًا، فسيطلب كل أمر الإذن، ولن تتمكن من تفعيل السماح بتثبيت الحزم دون سؤال.
- السماح لـ Python الخاص بالتطبيق بملفات Office: للقوالب والمخططات والتحليلات. يعمل هذا Python دون إنترنت، ويكتب فقط في مجلد العمل، ولا يمكنه تشغيل برامج أخرى. إذا لم يكن هناك إعداد، فيتبع هذا السماح بالأوامر المحلية. ومن دون sandbox (Windows) لا يكون متاحًا إلا إذا كانت الأوامر المحلية مفعلة، ويطلب الإذن في كل مرة.