Tools

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

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

دستورها

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

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

همچنین به‌شکل /elev on|off|ask|full در دسترس است.

برای مشاهده سطح فعلی، /elevated را بدون آرگومان ارسال کنید.

نحوه کار

  • بررسی دسترس‌پذیری

    حالت ارتقایافته باید در پیکربندی فعال باشد و فرستنده باید در فهرست مجاز قرار داشته باشد:

    json5
    {  tools: {    elevated: {      enabled: true,      allowFrom: {        discord: ["user-id-123"],        whatsapp: ["+15555550123"],      },    },  },}
  • تنظیم سطح

    برای تنظیم پیش‌فرض نشست، پیامی فقط شامل دستور ارسال کنید:

    Code
    /elevated full

    یا آن را به‌صورت درون‌خطی استفاده کنید (فقط برای همان پیام اعمال می‌شود):

    Code
    /elevated on run the deployment script
  • فرمان‌ها بیرون از سندباکس اجرا می‌شوند

    وقتی حالت ارتقایافته فعال است، فراخوانی‌های exec از سندباکس خارج می‌شوند. میزبان مؤثر به‌طور پیش‌فرض gateway است، یا وقتی مقصد پیکربندی‌شده/نشست برای exec برابر node باشد، node است. در حالت full، وقتی سیاست تأیید حالت/میزبان exec حل‌شده از قبل کاملاً مجاز باشد (امنیت full، درخواست off)، تأییدهای exec نادیده گرفته می‌شوند؛ در غیر این صورت، سیاست تأیید عادی همچنان اعمال می‌شود. در حالت on/ask، قواعد تأیید پیکربندی‌شده همیشه اعمال می‌شوند.

  • ترتیب اولویت

    1. دستور درون‌خطی در پیام (فقط برای همان پیام اعمال می‌شود)
    2. بازنویسی نشست (با ارسال پیامی فقط شامل دستور تنظیم می‌شود)
    3. پیش‌فرض سراسری (agents.defaults.elevatedDefault در پیکربندی)

    دسترس‌پذیری و فهرست‌های مجاز

    • دروازه سراسری: tools.elevated.enabled (باید true باشد)
    • فهرست مجاز فرستنده: tools.elevated.allowFrom با فهرست‌های جداگانه برای هر کانال
    • دروازه اختصاصی عامل: agents.list[].tools.elevated.enabled (فقط می‌تواند محدودیت بیشتری اعمال کند؛ هر دو دروازه سراسری و اختصاصی عامل باید true باشند)
    • فهرست مجاز اختصاصی عامل: agents.list[].tools.elevated.allowFrom (فرستنده باید هم با فهرست سراسری و هم با فهرست اختصاصی عامل مطابقت داشته باشد)
    • فهرست مجاز جایگزین ارائه‌شده توسط کانال: Pluginهای کانال می‌توانند به‌صورت اختیاری از طریق یک هوک آداپتور 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 هر نشست (میزبان، امنیت، درخواست، نود) را برای فرستندگان مجاز تنظیم می‌کند و به حالت ارتقایافته نیاز ندارد.

    مرتبط

    Was this useful?
    On this page

    On this page