Tools
الوضع ذو الصلاحيات المرتفعة
عندما يعمل وكيل داخل بيئة معزولة، تكون أوامر exec الخاصة به مقيّدة ببيئة العزل. يتيح الوضع المرتفع للوكيل الخروج منها وتشغيل الأوامر خارج البيئة المعزولة بدلًا من ذلك، مع بوابات موافقة قابلة للتهيئة.
التوجيهات
تحكّم في الوضع المرتفع لكل جلسة باستخدام أوامر الشرطة المائلة:
| التوجيه | وظيفته |
|---|---|
/elevated on |
التشغيل خارج البيئة المعزولة على مسار المضيف المهيأ، مع الإبقاء على الموافقات |
/elevated ask |
مماثل لـ on (اسم مستعار) |
/elevated full |
التشغيل خارج البيئة المعزولة على مسار المضيف المهيأ وتخطي الموافقات عندما تكون سياسة الموافقة للوضع/المضيف متساهلة بالفعل |
/elevated off |
العودة إلى التنفيذ المقيّد بالبيئة المعزولة |
يتوفر أيضًا بالشكل /elev on|off|ask|full.
أرسل /elevated من دون وسيطة للاطلاع على المستوى الحالي.
آلية العمل
التحقق من التوفر
يجب تمكين الوضع المرتفع في الإعدادات، ويجب أن يكون المرسل مدرجًا في قائمة السماح:
{ tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, },}تعيين المستوى
أرسل رسالة تحتوي على التوجيه فقط لتعيين الإعداد الافتراضي للجلسة:
/elevated fullأو استخدمه ضمن الرسالة (ينطبق على تلك الرسالة فقط):
/elevated on run the deployment scriptتشغيل الأوامر خارج البيئة المعزولة
عندما يكون الوضع المرتفع نشطًا، تغادر استدعاءات exec البيئة المعزولة. يكون المضيف الفعلي
gateway افتراضيًا، أو node عندما يكون هدف exec المهيأ/الخاص بالجلسة هو
node. في وضع full، تُتخطى موافقات exec عندما تكون سياسة الموافقة الفعلية
لوضع/مضيف exec متساهلة بالكامل بالفعل (الأمان full،
والسؤال off)؛ وإلا تظل سياسة الموافقة العادية سارية. في وضعَي
on وask، تنطبق قواعد الموافقة المهيأة دائمًا.
ترتيب الحسم
- التوجيه المضمّن في الرسالة (ينطبق على تلك الرسالة فقط)
- تجاوز الجلسة (يُعيّن بإرسال رسالة تحتوي على التوجيه فقط)
- الإعداد الافتراضي العام (
agents.defaults.elevatedDefaultفي الإعدادات)
التوفر وقوائم السماح
- البوابة العامة:
tools.elevated.enabled(يجب أن تكونtrue) - قائمة السماح للمرسلين:
tools.elevated.allowFromمع قوائم خاصة بكل قناة - بوابة كل وكيل:
agents.list[].tools.elevated.enabled(لا يمكنها إلا زيادة التقييد؛ يجب أن تكون كل من البوابتين العامة والخاصة بالوكيلtrue) - قائمة السماح لكل وكيل:
agents.list[].tools.elevated.allowFrom(يجب أن يطابق المرسل كلًا من القائمة العامة والقائمة الخاصة بالوكيل) - قائمة السماح الاحتياطية المقدمة من القناة: يمكن لإضافات القنوات اختياريًا توفير قائمة سماح احتياطية عبر خطاف محوّل SDK، وتُستخدم عندما لا يكون
tools.elevated.allowFrom.<provider>مهيأً. لا تنفّذ أي قناة مضمّنة هذا الخطاف حاليًا، ولذلك يحتاج كل موفّر عمليًا اليوم إلى إدخال صريح فيtools.elevated.allowFrom.<provider>. - يجب اجتياز جميع البوابات؛ وإلا يُعامل الوضع المرتفع على أنه غير متاح
تنسيقات إدخالات قائمة السماح:
| البادئة | ما تطابقه |
|---|---|
| (بلا بادئة) | معرّف المرسل أو E.164 أو حقل From |
name: |
اسم العرض للمرسل |
username: |
اسم مستخدم المرسل |
tag: |
وسم المرسل |
id:, from:, e164: |
استهداف صريح للهوية |
ما لا يتحكم فيه الوضع المرتفع
- سياسة الأدوات: إذا منعت سياسة الأدوات
exec، فلا يمكن للوضع المرتفع تجاوزها. - سياسة اختيار المضيف: لا يحوّل الوضع المرتفع
autoإلى تجاوز حر بين المضيفين. بل يستخدم قواعد هدف exec المهيأ/الخاص بالجلسة، ولا يختارnodeإلا عندما يكون الهدف بالفعلnode. - منفصل عن
/exec: يضبط توجيه/execالإعدادات الافتراضية لأوامر exec لكل جلسة (المضيف، والأمان، والسؤال، وnode) للمرسلين المصرّح لهم، ولا يتطلب الوضع المرتفع.