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

الوضع المرتفع

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

التوجيهات

تحكّم في الوضع المرتفع لكل جلسة باستخدام أوامر الشرطة المائلة:
DirectiveWhat it does
/elevated onالتشغيل خارج الصندوق المعزول على مسار المضيف المضبوط، مع الإبقاء على الموافقات
/elevated askمثل on تمامًا (اسم بديل)
/elevated fullالتشغيل خارج الصندوق المعزول على مسار المضيف المضبوط مع تخطي الموافقات
/elevated offالعودة إلى التنفيذ المقيّد داخل الصندوق المعزول
ومتاح أيضًا بالشكل /elev on|off|ask|full. أرسل /elevated بدون وسيطة لمعرفة المستوى الحالي.

كيف يعمل

1

التحقق من التوفر

يجب تفعيل الوضع المرتفع في الإعدادات، ويجب أن يكون المُرسِل ضمن قائمة السماح:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

تعيين المستوى

أرسل رسالة تحتوي على التوجيه فقط لتعيين الإعداد الافتراضي للجلسة:
/elevated full
أو استخدمه داخل الرسالة نفسها (ينطبق على تلك الرسالة فقط):
/elevated on run the deployment script
3

تشغيل الأوامر خارج الصندوق المعزول

عند تفعيل الوضع المرتفع، تغادر استدعاءات exec الصندوق المعزول. يكون المضيف الفعّال هو gateway افتراضيًا، أو node عندما يكون هدف exec المضبوط/الخاص بالجلسة هو node. في وضع full، يتم تخطي موافقات exec. وفي وضعي on/ask، تظل قواعد الموافقة المضبوطة مطبقة.

ترتيب الحل

  1. التوجيه المضمن في الرسالة (ينطبق على تلك الرسالة فقط)
  2. تجاوز الجلسة (يُضبط بإرسال رسالة تحتوي على التوجيه فقط)
  3. الافتراضي العام (agents.defaults.elevatedDefault في الإعدادات)

التوفر وقوائم السماح

  • البوابة العامة: tools.elevated.enabled (يجب أن تكون true)
  • قائمة سماح المُرسِل: tools.elevated.allowFrom مع قوائم لكل قناة
  • البوابة لكل وكيل: agents.list[].tools.elevated.enabled (يمكنها فقط فرض قيود إضافية)
  • قائمة السماح لكل وكيل: agents.list[].tools.elevated.allowFrom (يجب أن يطابق المُرسِل القائمتين العامة ولكل وكيل معًا)
  • الرجوع الاحتياطي في Discord: إذا تم حذف tools.elevated.allowFrom.discord، فسيُستخدم channels.discord.allowFrom كبديل
  • يجب أن تمر جميع البوابات؛ وإلا فسيُعامل الوضع المرتفع على أنه غير متاح
تنسيقات إدخالات قائمة السماح:
PrefixMatches
(none)معرّف المُرسِل، أو E.164، أو الحقل From
name:اسم العرض الخاص بالمُرسِل
username:اسم المستخدم الخاص بالمُرسِل
tag:الوسم الخاص بالمُرسِل
id:, from:, e164:استهداف هوية صريح

ما الذي لا يتحكم فيه الوضع المرتفع

  • سياسة الأدوات: إذا كان exec مرفوضًا بموجب سياسة الأدوات، فلا يمكن للوضع المرتفع تجاوزه
  • سياسة اختيار المضيف: لا يحوّل الوضع المرتفع القيمة auto إلى تجاوز حر بين المضيفات. فهو يستخدم قواعد هدف exec المضبوطة/الخاصة بالجلسة، ويختار node فقط عندما يكون الهدف بالفعل هو node.
  • منفصل عن /exec: يضبط التوجيه /exec الإعدادات الافتراضية لـ exec لكل جلسة للمُرسِلين المصرّح لهم، ولا يتطلب الوضع المرتفع

ذو صلة