Tools

وضع الصلاحيات المرتفعة

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

التوجيهات

تحكم في الوضع بصلاحيات مرتفعة لكل جلسة باستخدام أوامر الشرطة المائلة:

التوجيه ما يفعله
/elevated on التشغيل خارج صندوق الرمل على مسار المضيف المهيأ، مع إبقاء الموافقات
/elevated ask مثل on (اسم بديل)
/elevated full التشغيل خارج صندوق الرمل على مسار المضيف المهيأ وتخطي الموافقات
/elevated off العودة إلى التنفيذ المحصور في صندوق الرمل

متاح أيضاً بصيغة /elev on|off|ask|full.

أرسل /elevated بلا وسيطة لمعرفة المستوى الحالي.

كيف يعمل

  • Check availability

    يجب تفعيل الصلاحيات المرتفعة في الإعدادات ويجب أن يكون المرسل ضمن قائمة السماح:

    {
      tools: {
        elevated: {
          enabled: true,
          allowFrom: {
            discord: ["user-id-123"],
            whatsapp: ["+15555550123"],
          },
        },
      },
    }
    
  • Set the level

    أرسل رسالة تحتوي على التوجيه فقط لتعيين الإعداد الافتراضي للجلسة:

    /elevated full
    

    أو استخدمه ضمنياً (ينطبق على تلك الرسالة فقط):

    /elevated on run the deployment script
    
  • Commands run outside the sandbox

    عند تفعيل الصلاحيات المرتفعة، تغادر استدعاءات 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 كاحتياطي
    • يجب أن تجتاز جميع البوابات؛ وإلا تُعامل الصلاحيات المرتفعة على أنها غير متاحة

    تنسيقات إدخالات قائمة السماح:

    البادئة تطابق
    (لا شيء) معرف المرسل، أو E.164، أو حقل From
    name: اسم عرض المرسل
    username: اسم مستخدم المرسل
    tag: وسم المرسل
    id:, from:, e164: استهداف هوية صريح

    ما لا تتحكم به الصلاحيات المرتفعة

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

    ذو صلة