Nodes and media

درک رسانه‌ها

OpenClaw می‌تواند رسانه‌های ورودی (تصویر/صوت/ویدئو) را پیش از اجرای پایپ‌لاین پاسخ خلاصه کند تا تجزیهٔ فرمان و مسیریابی به‌جای بایت‌های خام بر اساس متنی کوتاه انجام شود. قابلیت درک، ابزارهای محلی یا کلیدهای ارائه‌دهنده را به‌طور خودکار شناسایی می‌کند؛ همچنین می‌توان مدل‌های مشخصی را پیکربندی کرد. رسانهٔ اصلی همیشه طبق روال معمول به مدل تحویل داده می‌شود؛ اگر درک ناموفق یا غیرفعال باشد، جریان پاسخ بدون تغییر ادامه می‌یابد.

Pluginهای فروشندگان، فرادادهٔ قابلیت‌ها را ثبت می‌کنند (اینکه کدام ارائه‌دهنده از کدام نوع رسانه پشتیبانی می‌کند، مدل پیش‌فرض و اولویت). هستهٔ OpenClaw مالک پیکربندی مشترک tools.media، ترتیب بازگشت و یکپارچه‌سازی پایپ‌لاین پاسخ است.

نحوهٔ کار

  • گردآوری پیوست‌ها

    اطلاعات مرتب‌شدهٔ رسانه‌های ورودی (path، url، contentType و kind) را گردآوری می‌کند.

  • انتخاب برای هر قابلیت

    برای هر قابلیت فعال (تصویر/صوت/ویدئو)، پیوست‌ها را طبق خط‌مشی attachments انتخاب می‌کند (پیش‌فرض: فقط نخستین پیوست).

  • انتخاب مدل

    نخستین ورودی مدل واجد شرایط را انتخاب می‌کند (اندازه + قابلیت + احراز هویت در دسترس).

  • بازگشت هنگام شکست

    اگر مدل خطا دهد، مهلتش پایان یابد یا اندازهٔ رسانه از maxBytes بیشتر باشد، ورودی بعدی را امتحان می‌کند.

  • اعمال در صورت موفقیت

    Body به یک بلوک [Image]، [Audio] یا [Video] تبدیل می‌شود. برای صوت، {{Transcript}} نیز تنظیم می‌شود؛ تجزیهٔ فرمان در صورت وجود متن زیرنویس از آن استفاده می‌کند و در غیر این صورت از رونوشت بهره می‌گیرد. زیرنویس‌ها به‌شکل User text: درون بلوک حفظ می‌شوند.

  • پیکربندی

    tools.media شامل یک فهرست مدل برچسب‌گذاری‌شده بر اساس قابلیت، به‌همراه کنترل‌های کوچک مختص هر قابلیت است:

    json5
    {  tools: {    media: {      concurrency: 2, // حداکثر اجرای هم‌زمان قابلیت‌ها (پیش‌فرض)      models: [        { provider: "openai", model: "gpt-4o-mini-transcribe", capabilities: ["audio"] },        { provider: "google", model: "gemini-3-flash-preview", capabilities: ["image", "video"] },      ],      image: { preferredModel: "google/gemini-3-flash-preview" },      audio: { enabled: true },      video: { enabled: true },    },  },}

    کلیدهای مختص هر قابلیت (image/audio/video):

    کلید نوع پیش‌فرض توضیحات
    enabled boolean خودکار (false غیرفعال می‌کند) برای خاموش‌کردن شناسایی خودکار این قابلیت، false را تنظیم کنید
    preferredModel string نخستین ورودی سازگار provider/model، شناسهٔ مدل، provider:<id> یا cli:command را ترجیح می‌دهد
    prompt string پیش‌فرض قابلیت اعلان پیش‌فرض، هنگامی که ورودی آن را بازنویسی نمی‌کند
    maxChars number 500 برای تصویر/ویدئو، تنظیم‌نشده برای صوت محدودیت پیش‌فرض خروجی
    maxBytes number 10MB تصویر، 20MB صوت، 50MB ویدئو محدودیت پیش‌فرض ورودی
    timeoutSeconds number 60 برای تصویر/صوت، 120 برای ویدئو مهلت پیش‌فرض درخواست
    language string تنظیم‌نشده راهنمای رونویسی صوت
    scope شیء تنظیم‌نشده محدودسازی بر اساس کانال/نوع گفت‌وگو/کلید منبع
    attachments شیء { mode: "first", maxAttachments: 1 } انتخاب پیوست‌های منطبق برای پردازش
    echoTranscript boolean false فقط صوت: بازتاب رونوشت پیش از پردازش عامل
    echoFormat string '📝 "{transcript}"' فقط صوت: قالب رونوشت بازتاب‌شده

    اعلان‌ها، محدودیت‌ها، راهنماهای زبان، بازنویسی‌های درخواست و گزینه‌های ارائه‌دهنده را می‌توان به‌عنوان پیش‌فرض قابلیت تنظیم کرد یا در ورودی‌های منفرد tools.media.models[] بازنویسی کرد. هنگامی که هیچ مدل مشخصی پیکربندی نشده باشد، پیش‌فرض‌های قابلیت ارائه‌دهندگان شناسایی‌شده به‌طور خودکار را نیز پوشش می‌دهند.

    ورودی‌های مدل

    هر ورودی models[] یک ورودی ارائه‌دهنده (پیش‌فرض) یا ورودی CLI است:

    ورودی ارائه‌دهنده

    json5
    {  type: "provider", // در صورت حذف، پیش‌فرض است  provider: "openai",  model: "gpt-5.6-sol",  prompt: "تصویر را در حداکثر 500 نویسه توصیف کنید.",  maxChars: 500,  maxBytes: 10485760,  timeoutSeconds: 60,  capabilities: ["image"],  profile: "vision-profile",  preferredProfile: "vision-fallback",}

    ورودی CLI

    json5
    {  type: "cli",  command: "gemini",  args: [    "-m",    "gemini-3-flash",    "--allowed-tools",    "read_file",    "رسانهٔ موجود در {{AttachmentPath}} را بخوانید و آن را در حداکثر {{MaxChars}} نویسه توصیف کنید.",  ],  maxChars: 500,  maxBytes: 52428800,  timeoutSeconds: 120,  capabilities: ["video", "image"],}

    الگوهای CLI همچنین می‌توانند از {{AttachmentUrl}}، {{AttachmentContentType}}، {{AttachmentDir}}، {{AttachmentIndex}}، {{OutputDir}} (دایرکتوری موقت ایجادشده برای این اجرا) و {{OutputBase}} (مسیر پایهٔ فایل موقت، بدون پسوند) استفاده کنند. نام‌های قدیمی‌تر {{MediaPath}}، {{MediaUrl}}، {{MediaType}} و {{MediaDir}} همچنان نام‌های مستعار سازگاری منسوخ هستند.

    اعتبارنامه‌های ارائه‌دهنده

    درک رسانه توسط ارائه‌دهنده از همان فرایند حل احراز هویت فراخوانی‌های عادی مدل استفاده می‌کند: نمایه‌های احراز هویت، متغیرهای محیطی و سپس models.providers.<providerId>.apiKey. ورودی‌های tools.media.models[] فیلد درون‌خطی apiKey را نمی‌پذیرند.

    json5
    {  models: {    providers: {      openai: { apiKey: "&lt;OPENAI_API_KEY&gt;" },      moonshot: { apiKey: "&lt;MOONSHOT_API_KEY&gt;" },    },  },}

    برای نمایه‌ها، متغیرهای محیطی و URLهای پایهٔ سفارشی، به ابزارها و ارائه‌دهندگان سفارشی مراجعه کنید.

    قواعد و رفتار

    • رسانه‌ای که اندازه‌اش از maxBytes بیشتر باشد، برای آن مدل نادیده گرفته می‌شود و مدل بعدی امتحان می‌شود.
    • فایل‌های صوتی کوچک‌تر از 1024 بایت، خالی/خراب در نظر گرفته می‌شوند و پیش از رونویسی نادیده گرفته می‌شوند؛ در عوض، عامل یک رونوشت جایگزین قطعی دریافت می‌کند.
    • اگر مدل اصلی فعال تصویر از قبل به‌صورت بومی از بینایی پشتیبانی کند، OpenClaw بلوک خلاصهٔ [Image] را نادیده می‌گیرد و تصویر اصلی را مستقیماً به مدل می‌دهد. MiniMax یک استثنا است: minimax، minimax-cn، minimax-portal و minimax-portal-cn همیشه درک تصویر را از طریق ارائه‌دهندهٔ رسانهٔ MiniMax-VL-01 تحت مالکیت Plugin مسیریابی می‌کنند، حتی اگر فرادادهٔ قدیمی گفت‌وگوی MiniMax M2.x مدعی ورودی تصویر باشد (فقط MiniMax-M3 و نسخه‌های بعدی به‌عنوان مدل‌های دارای قابلیت بینایی بومی در نظر گرفته می‌شوند).
    • اگر مدل اصلی Gateway/WebChat فقط متنی باشد، پیوست‌های تصویر به‌شکل ارجاع‌های برون‌سپاری‌شدهٔ media://inbound/* حفظ می‌شوند تا ابزارهای تصویر/PDF یا یک مدل تصویر پیکربندی‌شده همچنان بتوانند آن‌ها را بررسی کنند و پیوست از دست نرود.
    • مقدار صریح openclaw infer image describe --file <path> --model <provider/model> (نام مستعار: openclaw capability image describe) آن ارائه‌دهنده/مدل دارای قابلیت تصویر را مستقیماً اجرا می‌کند؛ از جمله ارجاع‌های Ollama مانند ollama/qwen2.5vl:7b، هنگامی که یک مدل منطبق دارای قابلیت تصویر در models.providers.ollama.models[] پیکربندی شده باشد.
    • اگر <capability>.enabled برابر با false نباشد اما هیچ مدلی پیکربندی نشده باشد، OpenClaw هنگامی که ارائه‌دهندهٔ مدل پاسخ فعال از قابلیت موردنظر پشتیبانی کند، آن مدل را امتحان می‌کند.

    شناسایی خودکار (پیش‌فرض)

    هنگامی که tools.media.<capability>.enabled برابر با false نباشد و هیچ مدلی پیکربندی نشده باشد، OpenClaw گزینه‌های زیر را به‌ترتیب امتحان می‌کند و در نخستین گزینهٔ عملی متوقف می‌شود:

  • مدل تصویر پیکربندی‌شده (فقط تصویر)

    ارجاع‌های اصلی/جایگزین agents.defaults.imageModel، مگر اینکه مدل پاسخ فعال از قبل به‌صورت بومی از بینایی پشتیبانی کند. ارجاع‌های provider/model ترجیح داده می‌شوند؛ ارجاع‌های بدون پیشوند فقط زمانی از روی ورودی‌های مدل ارائه‌دهندهٔ دارای قابلیت تصویر پیکربندی‌شده واجد شرایط می‌شوند که تطبیق یکتا باشد.

  • مدل پاسخ فعال

    مدل پاسخ فعال، هنگامی که ارائه‌دهندهٔ آن از قابلیت موردنظر پشتیبانی کند.

  • احراز هویت ارائه‌دهنده (فقط صوت، پیش از CLIهای محلی)

    ورودی‌های پیکربندی‌شدهٔ models.providers.* که از صوت پشتیبانی می‌کنند، پیش از CLIهای محلی امتحان می‌شوند. ترتیب اولویت ارائه‌دهندگان همراه (تساوی‌ها بر اساس شناسهٔ ارائه‌دهنده و به‌ترتیب الفبا شکسته می‌شوند): Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral.

  • CLIهای محلی (فقط صوت)

    فایل‌های اجرایی محلی آماده به یک فهرست بازگشت مرتب‌شده تبدیل می‌شوند:

    • whisper-cli فقط پس از آنکه یک فراخوانی مدل پیشین در فرایند جاری Metal یا CUDA را مشاهده کرده باشد، در جایگاه نخست قرار می‌گیرد
    • sherpa-onnx-offline با پیش‌فرض CPU (نیازمند SHERPA_ONNX_MODEL_DIR با tokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)
    • whisper-cli هنگامی که شتاب‌دهی صرفاً در زمان ساخت پشتیبانی می‌شود یا مشاهده نشده است
    • parakeet-mlx روی Apple Silicon (دارای قابلیت MLX، استفاده از دستگاه مشاهده نشده است)
    • whisper (CLI پایتون؛ به‌طور پیش‌فرض از مدل turbo استفاده می‌کند و آن را خودکار بارگیری می‌کند)

    بررسی قابلیت پشتیبان ذخیرهٔ موقت می‌شود و مدلی را بارگذاری نمی‌کند. قابلیت زمان ساخت، پرچم‌های پشتیبان درخواستی و پشتیبانی که در یک فراخوانی واقعی مشاهده شده است، جدا از هم باقی می‌مانند. whisper.cpp شناسایی‌شده به‌طور خودکار گزارش‌های اجرای مدل را فعال نگه می‌دارد تا خط پشتیبان انتخاب‌شده در بالادست ثبت شود. ورودی‌های صریح CLI ترتیب پیکربندی‌شده، پرچم‌های پشتیبان و پرچم‌های خروجی خود را حفظ می‌کنند.

  • احراز هویت ارائه‌دهنده (تصویر/ویدئو)

    ورودی‌های پیکربندی‌شدهٔ models.providers.* که از قابلیت موردنظر پشتیبانی می‌کنند، پیش از ترتیب بازگشت همراه امتحان می‌شوند. ارائه‌دهندگان پیکربندی مختص تصویر که مدلی دارای قابلیت تصویر دارند، حتی اگر Plugin همراه فروشنده نباشند، به‌طور خودکار برای درک رسانه ثبت می‌شوند.

    ترتیب اولویت ارائه‌دهندگان همراه (تساوی‌ها بر اساس شناسهٔ ارائه‌دهنده و به‌ترتیب الفبا شکسته می‌شوند):

    • تصویر: Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
    • ویدئو: Google → Qwen → Moonshot
  • CLI ‏Antigravity (فقط تصویر/ویدئو)

    نخستین فایل اجرایی نصب‌شدهٔ agy یا antigravity (قابل بازنویسی با OPENCLAW_ANTIGRAVITY_CLI) که در برابر دایرکتوری رسانه در محیط ایزوله اجرا می‌شود.

  • برای غیرفعال‌کردن شناسایی خودکار یک قابلیت:

    json5
    {  tools: {    media: {      audio: {        enabled: false,      },    },  },}

    پشتیبانی از پراکسی (فراخوانی‌های ارائه‌دهندهٔ صوت/ویدئو)

    درک مبتنی بر ارائه‌دهنده برای صوت و ویدئو از متغیرهای محیطی استاندارد پراکسی خروجی، از جمله قواعد دورزدن NO_PROXY/no_proxy، پیروی می‌کند: HTTPS_PROXY، HTTP_PROXY، ALL_PROXY، https_proxy، http_proxy، all_proxy. متغیرهای حروف کوچک بر حروف بزرگ اولویت دارند. اگر هیچ‌کدام تنظیم نشده باشند، درک رسانه از خروج مستقیم استفاده می‌کند؛ اگر مقدار پراکسی بدشکل باشد، OpenClaw هشداری ثبت می‌کند و به دریافت مستقیم بازمی‌گردد. درک تصویر از این مسیر پراکسی عبور نمی‌کند.

    قابلیت‌ها

    برای محدودکردن یک ورودی models[] به انواع مشخصی از رسانه، capabilities را روی آن تنظیم کنید. برای فهرست‌های مشترک، OpenClaw پیش‌فرض‌ها را برای هر ارائه‌دهندهٔ همراه استنتاج می‌کند:

    ارائه‌دهنده قابلیت‌ها
    openai، anthropic، minimax تصویر
    minimax-portal تصویر
    moonshot تصویر + ویدئو
    openrouter تصویر + صدا
    google (Gemini API) تصویر + صدا + ویدئو
    qwen تصویر + ویدئو
    deepinfra تصویر + صدا
    mistral صدا
    zai تصویر
    groq، xai، deepgram، senseaudio صدا
    هر کاتالوگ models.providers.<id>.models[] دارای مدلی با قابلیت پردازش تصویر تصویر

    برای ورودی‌های CLI، مقدار capabilities را صریحاً تنظیم کنید تا از تطبیق‌های غیرمنتظره جلوگیری شود؛ اگر حذف شود، ورودی برای هر فهرست قابلیتی که در آن ظاهر می‌شود واجد شرایط است.

    ماتریس پشتیبانی ارائه‌دهندگان

    قابلیت ارائه‌دهندگان توضیحات
    تصویر Anthropic، Codex app-server، Deepinfra، Google، MiniMax، MiniMax Portal، Moonshot، OpenAI، OpenAI Codex OAuth، OpenRouter، Qwen، Z.AI، ارائه‌دهندگان پیکربندی Pluginهای عرضه‌کنندگان پشتیبانی از تصویر را ثبت می‌کنند؛ openai/* می‌تواند از مسیریابی کلید API یا Codex OAuth استفاده کند؛ codex/* از یک نوبت محدود Codex app-server استفاده می‌کند؛ ارائه‌دهندگان پیکربندی دارای قابلیت تصویر به‌طور خودکار ثبت می‌شوند.
    صدا Deepgram، Deepinfra، ElevenLabs، Google، Groq، Mistral، OpenAI، OpenRouter، SenseAudio، xAI رونویسی ارائه‌دهنده (Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral).
    ویدئو Google، Moonshot، Qwen درک ویدئو توسط ارائه‌دهنده از طریق Pluginهای عرضه‌کنندگان؛ درک ویدئوی Qwen از نقاط پایانی استاندارد DashScope استفاده می‌کند.

    راهنمای انتخاب مدل

    • هنگامی که کیفیت و ایمنی اهمیت دارد، برای هر قابلیت رسانه‌ای قوی‌ترین مدل نسل فعلی را ترجیح دهید.
    • برای عامل‌های مجهز به ابزار که ورودی‌های نامطمئن را مدیریت می‌کنند، از مدل‌های رسانه‌ای قدیمی‌تر یا ضعیف‌تر اجتناب کنید.
    • برای دسترس‌پذیری، دست‌کم یک مدل جایگزین برای هر قابلیت نگه دارید (مدل باکیفیت + مدل سریع‌تر/ارزان‌تر).
    • مدل‌های جایگزین CLI (whisper-cli، whisper، gemini) هنگام در دسترس نبودن APIهای ارائه‌دهنده کمک می‌کنند.
    • حالت‌های شناخته‌شده خروجی فایل مرجع قطعی هستند: فایل رونویسی استنباط‌شده خالی یا مفقود، به‌جای بازگشت به خروجی پیشرفت CLI، هیچ رونویسی‌ای تولید نمی‌کند.
    • parakeet-mlx: از --output-format txt (یا all) همراه با --output-dir و الگوی خروجی پیش‌فرض {filename} استفاده کنید. متغیرهای محیطی بالادستی PARAKEET_OUTPUT_FORMAT و PARAKEET_OUTPUT_TEMPLATE نیز رعایت می‌شوند. OpenClaw مقدار <output-dir>/<media-basename>.txt را می‌خواند؛ قالب پیش‌فرض srt، قالب‌های دیگر و الگوهای خروجی سفارشی همچنان از stdout استفاده می‌کنند.

    خط‌مشی پیوست‌ها

    attachments مخصوص هر قابلیت تعیین می‌کند کدام پیوست‌ها پردازش شوند:

    mode"first" | "all"default: first

    فقط نخستین پیوست انتخاب‌شده یا همه آن‌ها را پردازش می‌کند.

    maxAttachmentsnumberdefault: 1

    تعداد موارد پردازش‌شده را محدود می‌کند.

    prefer"first" | "last" | "path" | "url"

    اولویت انتخاب میان پیوست‌های نامزد.

    هنگامی که mode: "all"، خروجی‌ها با [Image 1/2]، [Audio 2/2] و موارد مشابه برچسب‌گذاری می‌شوند.

    استخراج پیوست فایل

    • متن استخراج‌شده فایل، پیش از افزوده‌شدن به پرامپت رسانه، به‌عنوان محتوای خارجی نامطمئن محصور می‌شود و از نشانگرهای مرزی مانند <<&lt;EXTERNAL_UNTRUSTED_CONTENT id=&quot;...&quot;&gt;>> / <<&lt;END_EXTERNAL_UNTRUSTED_CONTENT id=&quot;...&quot;&gt;>> به‌همراه یک خط فراداده Source: External استفاده می‌کند.
    • این مسیر عمداً بنر طولانی SECURITY NOTICE: را حذف می‌کند تا پرامپت رسانه کوتاه بماند؛ نشانگرهای مرزی و فراداده همچنان اعمال می‌شوند.
    • فایلی که هیچ متن قابل‌استخراجی ندارد، [No extractable text] را دریافت می‌کند.
    • اگر یک PDF به تصاویر رندرشده صفحات بازگردد، OpenClaw آن تصاویر را به مدل‌های پاسخ‌گوی دارای قابلیت بینایی ارسال می‌کند و جای‌نگهدار [PDF content rendered to images] را در بلوک فایل نگه می‌دارد.

    نمونه‌های پیکربندی

    مدل‌های مشترک + بازنویسی‌ها

    json5
    {  tools: {    media: {      models: [        { provider: "openai", model: "gpt-5.6-sol", capabilities: ["image"] },        {          provider: "google",          model: "gemini-3-flash-preview",          capabilities: ["image", "audio", "video"],        },        {          type: "cli",          command: "gemini",          args: [            "-m",            "gemini-3-flash",            "--allowed-tools",            "read_file",            "رسانه موجود در {{AttachmentPath}} را بخوانید و آن را در <= {{MaxChars}} نویسه توصیف کنید.",          ],          capabilities: ["image", "video"],        },      ],      audio: {        attachments: { mode: "all", maxAttachments: 2 },      },      video: {        maxChars: 500,      },    },  },}

    فقط صدا + ویدئو

    json5
    {  tools: {    media: {      audio: {        enabled: true,        models: [          { provider: "openai", model: "gpt-4o-mini-transcribe" },          {            type: "cli",            command: "whisper",            args: ["--model", "base", "{{AttachmentPath}}"],          },        ],      },      video: {        enabled: true,        maxChars: 500,        models: [          { provider: "google", model: "gemini-3-flash-preview" },          {            type: "cli",            command: "gemini",            args: [              "-m",              "gemini-3-flash",              "--allowed-tools",              "read_file",              "رسانه موجود در {{AttachmentPath}} را بخوانید و آن را در <= {{MaxChars}} نویسه توصیف کنید.",            ],          },        ],      },    },  },}

    فقط تصویر

    json5
    {  tools: {    media: {      image: {        enabled: true,        maxBytes: 10485760,        maxChars: 500,        models: [          { provider: "openai", model: "gpt-5.6-sol" },          { provider: "anthropic", model: "claude-opus-5" },          {            type: "cli",            command: "gemini",            args: [              "-m",              "gemini-3-flash",              "--allowed-tools",              "read_file",              "رسانه موجود در {{AttachmentPath}} را بخوانید و آن را در <= {{MaxChars}} نویسه توصیف کنید.",            ],          },        ],      },    },  },}

    ورودی چندوجهی واحد

    json5
    {  tools: {    media: {      image: {        models: [          {            provider: "google",            model: "gemini-3.1-pro-preview",            capabilities: ["image", "video", "audio"],          },        ],      },      audio: {        models: [          {            provider: "google",            model: "gemini-3.1-pro-preview",            capabilities: ["image", "video", "audio"],          },        ],      },      video: {        models: [          {            provider: "google",            model: "gemini-3.1-pro-preview",            capabilities: ["image", "video", "audio"],          },        ],      },    },  },}

    خروجی وضعیت

    هنگام اجرای درک رسانه، /status شامل یک خط خلاصه برای هر قابلیت است:

    Code
    📎 رسانه: تصویر موفق (openai/gpt-5.6-sol) · صدا موفق (whisper-cli مشاهده‌شده=metal)

    برای فهرست‌برداری پیش از اجرا، openclaw capability audio providers را اجرا کنید. ردیف‌های محلی، گزینه جایگزین برنده محلی را جدا از انتخاب سراسری ارائه‌دهنده، آمادگی و فیلدهای مجزای بک‌اند دارای قابلیت/درخواستی/مشاهده‌شده نشان می‌دهند. همین انتخاب محلی به‌صورت یک یافته اطلاعاتی doctor نیز در دسترس است:

    bash
    openclaw doctor --lint --only core/doctor/local-audio-acceleration --severity-min info

    نکات

    • درک به‌صورت بهترین تلاش انجام می‌شود. خطاها پاسخ‌ها را مسدود نمی‌کنند.
    • حتی وقتی درک غیرفعال است، پیوست‌ها همچنان به مدل‌ها ارسال می‌شوند.
    • از scope برای محدودکردن محل اجرای درک استفاده کنید (برای مثال، فقط پیام‌های مستقیم).

    مطالب مرتبط

    Was this useful?
    On this page

    On this page