Tools

حالت ارتقایافته

وقتی یک عامل درون یک sandbox اجرا می‌شود، فرمان‌های exec آن به محیط sandbox محدود می‌شوند. حالت ارتقاءیافته به عامل اجازه می‌دهد به‌جای آن از sandbox خارج شود و فرمان‌ها را بیرون از sandbox اجرا کند، همراه با دروازه‌های تأیید قابل پیکربندی.

دستورها

حالت ارتقاءیافته را برای هر نشست با دستورهای اسلش کنترل کنید:

دستور کارکرد
/elevated on بیرون از sandbox روی مسیر میزبان پیکربندی‌شده اجرا می‌کند و تأییدها را نگه می‌دارد
/elevated ask همان on (نام مستعار)
/elevated full بیرون از sandbox روی مسیر میزبان پیکربندی‌شده اجرا می‌کند و تأییدها را رد می‌کند
/elevated off به اجرای محدودشده به sandbox برمی‌گردد

همچنین به‌صورت /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 از sandbox خارج می‌شوند. میزبان مؤثر به‌طور پیش‌فرض gateway است، یا وقتی هدف exec پیکربندی‌شده/نشست node باشد، 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 هر نشست را برای فرستنده‌های مجاز تنظیم می‌کند و به حالت ارتقاءیافته نیاز ندارد.

    مرتبط