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،
قواعد تأیید پیکربندیشده همچنان اعمال میشوند.
ترتیب حلوفصل
- دستور درونخطی در پیام (فقط برای همان پیام اعمال میشود)
- بازنویسی نشست (با فرستادن یک پیام فقط شامل دستور تنظیم میشود)
- پیشفرض سراسری (
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 هر نشست را برای فرستندههای مجاز تنظیم میکند و به حالت ارتقاءیافته نیاز ندارد.