Plugins

Pluginها

Pluginها OpenClaw را با کانال‌ها، ارائه‌دهندگان مدل، چارچوب‌های اجرای عامل، ابزارها، Skills، گفتار، رونویسی بلادرنگ، صدا، درک رسانه، تولید محتوا، دریافت وب، جست‌وجوی وب و دیگر قابلیت‌های زمان اجرا گسترش می‌دهند.

از این صفحه برای نصب یک Plugin، راه‌اندازی مجدد Gateway، اطمینان از بارگذاری آن در زمان اجرا و رفع خطاهای رایج راه‌اندازی استفاده کنید. برای نمونه‌هایی که فقط شامل فرمان هستند، به مدیریت Pluginها مراجعه کنید. برای فهرست تولیدشدهٔ Pluginهای همراه، رسمی خارجی و فقط‌منبع، به فهرست Pluginها مراجعه کنید.

الزامات

  • یک نسخهٔ دریافت‌شده یا نصب‌شده از OpenClaw که CLI ‏openclaw در آن در دسترس باشد
  • دسترسی شبکه به منبع انتخاب‌شده (ClawHub، npm یا یک میزبان git)
  • هرگونه اعتبارنامه، کلید پیکربندی یا ابزار سیستم‌عامل مختص Plugin که در مستندات راه‌اندازی آن Plugin ذکر شده باشد
  • مجوز بارگذاری مجدد یا راه‌اندازی مجدد برای Gateway ارائه‌دهندهٔ کانال‌های شما

شروع سریع

  • یافتن Plugin

    برای یافتن بسته‌های عمومی Plugin در ClawHub جست‌وجو کنید:

    bash
    openclaw plugins search "calendar"

    ClawHub بستر اصلی کشف Pluginهای جامعه است. در دورهٔ انتقال عرضه، مشخصه‌های عادی و بدون پیشوند بسته همچنان از npm نصب می‌شوند، مگر اینکه با شناسهٔ یک Plugin رسمی مطابقت داشته باشند. مشخصه‌های خام @openclaw/* که با یک Plugin همراه مطابقت دارند، به همان نسخهٔ همراه نگاشت می‌شوند. وقتی مشخصاً به یک منبع نیاز دارید، از پیشوند صریح منبع استفاده کنید.

  • نصب Plugin

    bash
    # From ClawHub.openclaw plugins install clawhub:<package> # From npm.openclaw plugins install npm:<package> # From git.openclaw plugins install git:github.com/<owner>/<repo>@<ref> # From a local development checkout.openclaw plugins install ./my-pluginopenclaw plugins install --link ./my-plugin

    با نصب Pluginها مانند اجرای کد برخورد کنید. برای نصب‌های قابل‌بازتولید در محیط عملیاتی، نسخه‌های ثابت‌شده را ترجیح دهید.

  • پیکربندی و فعال‌سازی آن

    تنظیمات مختص Plugin را زیر plugins.entries.<id>.config پیکربندی کنید. اگر Plugin از قبل فعال نیست، آن را فعال کنید:

    bash
    openclaw plugins enable <plugin-id>

    اگر plugins.allow تنظیم شده باشد، شناسهٔ Plugin نصب‌شده باید پیش از بارگذاری Plugin در آن فهرست وجود داشته باشد. openclaw plugins install شناسهٔ نصب‌شده را به فهرست موجود plugins.allow اضافه می‌کند و همان شناسه را از plugins.deny حذف می‌کند تا نصب صریح پس از راه‌اندازی مجدد بارگذاری شود.

  • اجازه دهید Gateway دوباره بارگذاری شود

    نصب، به‌روزرسانی یا حذف کد Plugin نیازمند راه‌اندازی مجدد Gateway است. یک Gateway مدیریت‌شده که بارگذاری مجدد پیکربندی در آن فعال است، تغییر رکورد نصب Plugin را تشخیص می‌دهد و به‌طور خودکار راه‌اندازی مجدد می‌شود. در غیر این صورت، خودتان آن را راه‌اندازی مجدد کنید:

    bash
    openclaw gateway restart

    فعال‌سازی/غیرفعال‌سازی، پیکربندی و رجیستری سرد را به‌روزرسانی می‌کند. بازرسی زمان اجرا همچنان روشن‌ترین مدرک برای سطوح فعال زمان اجرا است.

  • تأیید ثبت در زمان اجرا

    bash
    openclaw plugins inspect <plugin-id> --runtime --json

    از --runtime برای اثبات ثبت ابزارها، هوک‌ها، سرویس‌ها، روش‌های Gateway یا فرمان‌های CLI متعلق به Plugin استفاده کنید. inspect ساده فقط پیکربندی، مانیفست و رجیستری سرد را بررسی می‌کند.

  • پیکربندی

    انتخاب منبع نصب

    منبع زمان استفاده نمونه
    ClawHub وقتی کشف بومی OpenClaw، اسکن‌ها، فرادادهٔ نسخه و راهنمای نصب را می‌خواهید openclaw plugins install clawhub:<package>
    npm وقتی به رجیستری مستقیم npm یا گردش‌کارهای dist-tag نیاز دارید openclaw plugins install npm:<package>
    git وقتی به شاخه، برچسب یا کامیتی از یک مخزن نیاز دارید openclaw plugins install git:github.com/<owner>/<repo>@<ref>
    مسیر محلی وقتی روی همان دستگاه در حال توسعه یا آزمایش یک Plugin هستید openclaw plugins install --link ./my-plugin
    بازارگاه وقتی یک Plugin بازارگاه سازگار با Claude نصب می‌کنید openclaw plugins install <plugin> --marketplace <source>

    مشخصه‌های بدون پیشوند بسته رفتار سازگاری ویژه‌ای دارند: نام بدون پیشوندی که با شناسهٔ یک Plugin همراه مطابقت داشته باشد از همان منبع همراه استفاده می‌کند؛ نام بدون پیشوندی که با شناسهٔ یک Plugin رسمی خارجی مطابقت داشته باشد از کاتالوگ بسته‌های رسمی استفاده می‌کند؛ هر مشخصهٔ بدون پیشوند دیگری در دورهٔ انتقال عرضه از طریق npm نصب می‌شود. مشخصه‌های خام @openclaw/* که با Pluginهای همراه مطابقت دارند نیز پیش از بازگشت به npm به نسخهٔ همراه نگاشت می‌شوند. برای نصب عامدانهٔ بستهٔ خارجی npm به‌جای نسخهٔ همراه، از npm:@openclaw/<plugin>@<version> استفاده کنید. برای انتخاب قطعی منبع از clawhub:، npm:، git: یا npm-pack: استفاده کنید. برای قرارداد کامل فرمان، به openclaw plugins مراجعه کنید.

    در نصب‌های npm، مشخصه‌های بدون نسخهٔ ثابت و @latest جدیدترین بستهٔ پایداری را انتخاب می‌کنند که سازگاری با این ساخت OpenClaw را اعلام کرده باشد. اگر آخرین انتشار فعلی npm مقدار جدیدتری برای openclaw.compat.pluginApi یا openclaw.install.minHostVersion نسبت به پشتیبانی این ساخت اعلام کند، OpenClaw نسخه‌های پایدار قدیمی‌تر را بررسی می‌کند و جدیدترین نسخهٔ سازگار را نصب می‌کند. نسخه‌های دقیق و برچسب‌های صریح کانال مانند @beta روی بستهٔ انتخاب‌شده ثابت می‌مانند و در صورت ناسازگاری با خطا متوقف می‌شوند.

    سیاست نصب اپراتور

    security.installPolicy را پیکربندی کنید تا پیش از ادامهٔ نصب یا به‌روزرسانی Plugin، یک فرمان سیاست محلی مورداعتماد اجرا شود. سیاست، فراداده به‌همراه مسیر منبع آماده‌شده را دریافت می‌کند و می‌تواند نصب را مجاز یا مسدود کند. این سیاست هم مسیرهای نصب/به‌روزرسانی CLI و هم مسیرهای مبتنی بر Gateway را پوشش می‌دهد. هوک‌های before_install مربوط به Plugin دیرتر اجرا می‌شوند و فقط در فرایندهای OpenClaw که هوک‌های Plugin در آن‌ها بارگذاری شده‌اند؛ بنابراین برای تصمیم‌های نصب متعلق به اپراتور، به‌جای آن‌ها از security.installPolicy استفاده کنید. پرچم منسوخ‌شدهٔ --dangerously-force-unsafe-install برای سازگاری پذیرفته می‌شود، اما هیچ اثری ندارد: این پرچم نه سیاست نصب را دور می‌زند و نه فهرست ممنوعهٔ داخلی وابستگی‌های Plugin در OpenClaw را.

    برای طرح اجرای مشترک security.installPolicy که هم Skills و هم Pluginها از آن استفاده می‌کنند، به پیکربندی Skills مراجعه کنید.

    پیکربندی سیاست Plugin

    شکل رایج پیکربندی Plugin چنین است:

    json5
    {  plugins: {    enabled: true,    allow: ["voice-call"],    deny: ["untrusted-plugin"],    load: { paths: ["~/Projects/oss/voice-call-plugin"] },    slots: { memory: "memory-core" },    entries: {      "voice-call": { enabled: true, config: { provider: "twilio" } },    },  },}

    قواعد اصلی سیاست:

    • plugins.enabled: false همهٔ Pluginها را غیرفعال می‌کند و کار کشف/بارگذاری را نادیده می‌گیرد. ارجاع‌های منسوخ Plugin در مدت فعال بودن این گزینه بی‌اثر می‌مانند؛ اگر می‌خواهید شناسه‌های منسوخ حذف شوند، پیش از اجرای پاک‌سازی doctor دوباره Pluginها را فعال کنید.
    • plugins.deny بر فهرست مجاز و فعال‌سازی هر Plugin اولویت دارد.
    • plugins.allow یک فهرست مجاز انحصاری است. ابزارهای متعلق به Plugin که خارج از فهرست مجاز باشند، حتی وقتی tools.allow شامل "*" است نیز در دسترس نمی‌مانند.
    • plugins.entries.<id>.enabled: false یک Plugin را با حفظ پیکربندی آن غیرفعال می‌کند.
    • plugins.load.paths فایل‌ها یا دایرکتوری‌های صریح Plugin محلی را اضافه می‌کند. مسیرهای محلی مدیریت‌شده با plugins install باید دایرکتوری یا بایگانی Plugin باشند؛ برای فایل‌های مستقل Plugin از plugins.load.paths استفاده کنید.
    • Pluginهای منشأگرفته از فضای کاری به‌طور پیش‌فرض غیرفعال هستند؛ پیش از استفاده از کد محلی فضای کاری، آن‌ها را صریحاً فعال کنید یا در فهرست مجاز قرار دهید.
    • Pluginهای همراه از فرادادهٔ داخلی پیش‌فرض روشن/خاموش خود پیروی می‌کنند، مگر اینکه پیکربندی صریحاً آن را بازنویسی کند.
    • plugins.slots.<slot> (memory یا contextEngine) یک Plugin را برای یک دستهٔ انحصاری انتخاب می‌کند. انتخاب جایگاه به‌عنوان فعال‌سازی صریح محسوب می‌شود و Plugin انتخاب‌شده را برای آن جایگاه به‌اجبار فعال می‌کند، حتی اگر در حالت عادی نیازمند فعال‌سازی اختیاری باشد. plugins.deny و plugins.entries.<id>.enabled: false همچنان آن را مسدود می‌کنند.
    • Pluginهای همراهِ اختیاری می‌توانند وقتی پیکربندی یکی از سطوح متعلق به آن‌ها، مانند ارجاع ارائه‌دهنده/مدل، پیکربندی کانال، پشتیبان CLI یا زمان اجرای چارچوب عامل را نام می‌برد، به‌طور خودکار فعال شوند.
    • مسیریابی Codex از خانوادهٔ OpenAI مرزهای Plugin ارائه‌دهنده و زمان اجرا را جدا نگه می‌دارد: ارجاع‌های قدیمی مدل Codex پیکربندی منسوخی هستند که doctor آن‌ها را اصلاح می‌کند، در حالی که Plugin همراه codex مالک زمان اجرای کارساز برنامهٔ Codex برای ارجاع‌های عامل استاندارد openai/*، agentRuntime.id: "codex" صریح و ارجاع‌های قدیمی codex/* است.

    وقتی plugins.allow تنظیم نشده باشد و Pluginهای غیرهمراه به‌طور خودکار از فضای کاری یا ریشه‌های سراسری Plugin کشف شوند، راه‌اندازی پیام plugins.allow is empty; discovered non-bundled plugins may auto-load: ... را همراه با شناسه‌های Plugin کشف‌شده و، برای فهرست‌های کوتاه، یک قطعهٔ حداقلی plugins.allow ثبت می‌کند. پیش از کپی‌کردن Pluginهای مورداعتماد در openclaw.json، برای شناسهٔ Plugin فهرست‌شده openclaw plugins list --enabled --verbose یا openclaw plugins inspect <id> را اجرا کنید. همین ثابت‌سازی اعتماد زمانی نیز اعمال می‌شود که ابزارهای تشخیصی اعلام کنند Plugin without install/load-path provenance بارگذاری شده است: آن شناسهٔ Plugin را بازرسی کنید، سپس آن را در plugins.allow ثابت کنید یا از یک منبع مورداعتماد دوباره نصب کنید تا OpenClaw منشأ نصب را ثبت کند.

    وقتی اعتبارسنجی پیکربندی شناسه‌های منسوخ Plugin، عدم تطابق فهرست مجاز/ابزار یا مسیرهای قدیمی Plugin همراه را گزارش می‌کند، openclaw doctor یا openclaw doctor --fix را اجرا کنید.

    آشنایی با قالب‌های Plugin

    OpenClaw دو قالب Plugin را می‌شناسد:

    قالب نحوهٔ بارگذاری زمان استفاده
    Plugin بومی OpenClaw openclaw.plugin.json به‌همراه یک ماژول زمان اجرا که درون فرایند بارگذاری می‌شود وقتی قابلیت‌های زمان اجرای مختص OpenClaw را نصب می‌کنید یا می‌سازید
    بستهٔ سازگار چیدمان Plugin مربوط به Codex، Claude یا Cursor که به فهرست Pluginهای OpenClaw نگاشت می‌شود وقتی از Skills، فرمان‌ها، هوک‌ها یا فرادادهٔ بستهٔ سازگار دوباره استفاده می‌کنید

    هر دو قالب در openclaw plugins list، openclaw plugins inspect، openclaw plugins enable و openclaw plugins disable نمایش داده می‌شوند. برای مرز سازگاری بسته‌ها به بسته‌های Plugin و برای ساخت Plugin بومی به ساخت Pluginها مراجعه کنید.

    هوک‌های Plugin

    Pluginها می‌توانند هنگام اجرا از طریق دو API متفاوت هوک ثبت کنند:

    • هوک‌های نوع‌دار api.on(...) برای رویدادهای چرخهٔ حیات زمان اجرا. این سطح ترجیحی برای میان‌افزار، سیاست، بازنویسی پیام، شکل‌دهی پرامپت و کنترل ابزار است.
    • api.registerHook(...) برای سامانهٔ داخلی هوک که در هوک‌ها توضیح داده شده است. این روش عمدتاً برای عوارض جانبی کلی فرمان/چرخهٔ حیات و سازگاری با خودکارسازی‌های موجود به سبک HOOK است.

    قاعدهٔ سریع: اگر کنترل‌گر به اولویت، معنای ادغام یا رفتار مسدودسازی/لغو نیاز دارد، از هوک‌های نوع‌دار استفاده کنید. اگر فقط به command:new، command:reset، message:sent یا رویدادهای کلی مشابه واکنش نشان می‌دهد، api.registerHook مناسب است.

    هوک‌های داخلی مدیریت‌شده توسط Plugin در openclaw hooks list با plugin:<id> نمایش داده می‌شوند. نمی‌توانید آن‌ها را از طریق openclaw hooks فعال یا غیرفعال کنید؛ در عوض Plugin را فعال یا غیرفعال کنید.

    تأیید Gateway فعال

    openclaw plugins list و openclaw plugins inspect ساده، پیکربندی، مانیفست و وضعیت رجیستری سرد را می‌خوانند. آن‌ها ثابت نمی‌کنند که یک Gateway از قبل در حال اجرا همان کد Plugin را وارد کرده است.

    وقتی Plugin نصب‌شده به نظر می‌رسد اما ترافیک زندهٔ گفتگو از آن استفاده نمی‌کند:

    bash
    openclaw gateway status --deep --require-rpcopenclaw plugins inspect <plugin-id> --runtime --jsonopenclaw gateway restart

    Gatewayهای مدیریت‌شده پس از تغییرات نصب، به‌روزرسانی و حذف Plugin که منبع Plugin را تغییر می‌دهند، به‌طور خودکار راه‌اندازی مجدد می‌شوند. در نصب‌های VPS یا کانتینری، مطمئن شوید هر راه‌اندازی مجدد دستی، فرایند فرزند واقعی openclaw gateway run را که به کانال‌های شما سرویس می‌دهد هدف می‌گیرد، نه فقط یک پوشاننده یا ناظر فرایند را.

    عیب‌یابی

    نشانه بررسی راه‌حل
    Plugin در plugins list ظاهر می‌شود، اما هوک‌های زمان اجرا اجرا نمی‌شوند از openclaw plugins inspect <id> --runtime --json استفاده کنید و Gateway فعال را با gateway status --deep --require-rpc تأیید کنید پس از تغییرات نصب، به‌روزرسانی، پیکربندی یا منبع، Gateway در حال اجرا را راه‌اندازی مجدد کنید
    عیب‌یابی‌های مالکیت تکراری کانال یا ابزار ظاهر می‌شوند openclaw plugins list --enabled --verbose را اجرا کنید، هر Plugin مشکوک را با --runtime --json بررسی کنید و مالکیت کانال/ابزار را مقایسه کنید یکی از مالکان را غیرفعال کنید، نصب‌های منسوخ را حذف کنید یا برای جایگزینی عمدی از preferOver در مانیفست استفاده کنید
    پیکربندی می‌گوید یک Plugin وجود ندارد برای مشخص‌شدن اینکه همراه برنامه، خارجی رسمی یا فقط منبع است، فهرست موجودی Plugin را بررسی کنید بسته خارجی را نصب کنید، Plugin همراه برنامه را فعال کنید یا پیکربندی منسوخ را حذف کنید
    پیکربندی هنگام نصب نامعتبر است پیام اعتبارسنجی را بخوانید و اگر به وضعیت منسوخ Plugin اشاره می‌کند، openclaw doctor --fix را اجرا کنید Doctor می‌تواند با غیرفعال‌کردن ورودی و حذف بار نامعتبر، پیکربندی نامعتبر Plugin را قرنطینه کند
    مسیر Plugin به‌دلیل مالکیت یا مجوزهای مشکوک مسدود شده است عیب‌یابی پیش از خطای پیکربندی را بررسی کنید مالکیت/مجوزهای سامانه فایل را اصلاح کنید، سپس openclaw plugins registry --refresh را اجرا کنید
    OPENCLAW_NIX_MODE=1 فرمان‌های چرخه عمر را مسدود می‌کند تأیید کنید که نصب توسط Nix مدیریت می‌شود به‌جای استفاده از فرمان‌های تغییردهنده Plugin، انتخاب Plugin را در منبع Nix تغییر دهید
    درون‌ریزی وابستگی در زمان اجرا ناموفق است بررسی کنید Plugin از طریق npm/git/ClawHub نصب شده یا از یک مسیر محلی بارگذاری شده است openclaw plugins update <id> را اجرا کنید، منبع را دوباره نصب کنید یا وابستگی‌های Plugin محلی را خودتان نصب کنید

    وقتی پیکربندی منسوخ Plugin همچنان یک Plugin کانالِ دیگر غیرقابل‌شناسایی را نام می‌برد، اعتبارسنجی پیکربندی کلید آن کانال را به‌جای خطای قطعی به هشدار تنزل می‌دهد تا راه‌اندازی Gateway همچنان بتواند به همه کانال‌های دیگر سرویس دهد. برای حذف ورودی‌های منسوخ Plugin و کانال، openclaw doctor --fix را اجرا کنید. کلیدهای ناشناخته کانال که شواهدی از Plugin منسوخ ندارند، همچنان باعث شکست اعتبارسنجی می‌شوند تا خطاهای تایپی قابل مشاهده بمانند.

    برای جایگزینی عمدی کانال، Plugin ترجیحی باید channelConfigs.<channel-id>.preferOver را با شناسه Plugin قدیمی یا کم‌اولویت‌تر اعلام کند. اگر هر دو Plugin صراحتاً فعال باشند، OpenClaw آن درخواست را حفظ می‌کند و به‌جای انتخاب بی‌سروصدای یک مالک، عیب‌یابی‌های مالکیت تکراری کانال/ابزار را گزارش می‌دهد.

    اگر یک بسته نصب‌شده گزارش دهد که requires compiled runtime output for TypeScript entry ...، آن بسته بدون فایل‌های JavaScript موردنیاز OpenClaw در زمان اجرا منتشر شده است. پس از آنکه ناشر JavaScript کامپایل‌شده را عرضه کرد، بسته را به‌روزرسانی یا دوباره نصب کنید؛ یا تا آن زمان Plugin را غیرفعال/حذف کنید.

    مالکیت مسیر مسدودشده Plugin

    اگر عیب‌یابی‌ها عبارت blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root) را نشان دهند و اعتبارسنجی با plugin present but blocked ادامه یابد، OpenClaw فایل‌های Plugin را یافته است که مالک آن‌ها یک کاربر Unix متفاوت از کاربری است که فرایند بارگذاری با آن اجرا می‌شود. پیکربندی Plugin را حفظ کنید؛ مالکیت سامانه فایل را اصلاح کنید یا OpenClaw را با همان کاربری اجرا کنید که مالک پوشه وضعیت است.

    برای نصب‌های Docker، تصویر رسمی با کاربر node و uid برابر با 1000 اجرا می‌شود؛ بنابراین پوشه‌های پیکربندی و فضای کاری OpenClaw که از میزبان به‌صورت bind mount متصل شده‌اند، معمولاً باید متعلق به uid برابر با 1000 باشند:

    bash
    sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspace

    اگر عمداً OpenClaw را با کاربر root اجرا می‌کنید، در عوض مالکیت ریشه مدیریت‌شده Plugin را به root تغییر دهید:

    bash
    sudo chown -R root:root /path/to/openclaw-config/npm

    پس از اصلاح مالکیت، openclaw doctor --fix یا openclaw plugins registry --refresh را دوباره اجرا کنید تا رجیستری پایدارشده Plugin با فایل‌های اصلاح‌شده مطابقت داشته باشد.

    راه‌اندازی کند ابزارهای Plugin

    اگر نوبت‌های عامل هنگام آماده‌سازی ابزارها ظاهراً متوقف می‌شوند، ثبت گزارش در سطح ردیابی را فعال کنید و خطوط زمان‌بندی کارخانه ابزار Plugin را بررسی کنید:

    bash
    openclaw config set logging.level traceopenclaw logs --follow

    به‌دنبال این مورد بگردید:

    text
    [trace:plugin-tools] factory timings ...

    خلاصه، زمان کل کارخانه و کندترین کارخانه‌های ابزار Plugin را فهرست می‌کند و شامل شناسه Plugin، نام ابزارهای اعلام‌شده، ساختار نتیجه و اختیاری‌بودن ابزار است. اگر یک کارخانه دست‌کم ۱ ثانیه طول بکشد یا مجموع آماده‌سازی کارخانه ابزار Plugin دست‌کم ۵ ثانیه باشد، خطوط کند به هشدار ارتقا می‌یابند.

    OpenClaw نتایج موفق کارخانه ابزار Plugin را برای تفکیک‌های تکراری با زمینه مؤثر درخواست یکسان ذخیره موقت می‌کند. کلید حافظه نهان شامل پیکربندی مؤثر زمان اجرا، فضای کاری و شناسه عامل، سیاست محیط ایزوله، تنظیمات مرورگر، زمینه تحویل، هویت درخواست‌کننده و وضعیت مالکیت است؛ بنابراین کارخانه‌هایی که به این فیلدهای مورداعتماد وابسته‌اند، هنگام تغییر زمینه دوباره اجرا می‌شوند. اگر زمان‌ها همچنان زیاد بمانند، ممکن است Plugin پیش از بازگرداندن تعریف ابزارهایش کار پرهزینه‌ای انجام دهد.

    اگر یک Plugin بخش عمده زمان‌بندی را به خود اختصاص می‌دهد، ثبت‌های زمان اجرای آن را بررسی کنید:

    bash
    openclaw plugins inspect <plugin-id> --runtime --json

    سپس آن Plugin را به‌روزرسانی، دوباره نصب یا غیرفعال کنید. نویسندگان Plugin باید بارگذاری پرهزینه وابستگی را به پشت مسیر اجرای ابزار منتقل کنند، نه اینکه آن را درون کارخانه ابزار انجام دهند.

    برای ریشه‌های وابستگی، اعتبارسنجی فراداده بسته، رکوردهای رجیستری، رفتار بارگذاری مجدد هنگام راه‌اندازی و پاک‌سازی قدیمی، به تفکیک وابستگی Plugin مراجعه کنید.

    مرتبط

    Was this useful?
    On this page

    On this page