Plugin reference
بازنویسیهای نصب Plugin
بازنویسیهای نصب Plugin به نگهدارندگان امکان میدهد نصبهای Plugin در زمان راهاندازی را در برابر
یک بسته npm مشخص یا تاربال محلی npm-pack آزمایش کنند. اینها فقط برای E2E و
اعتبارسنجی بسته هستند. کاربران عادی باید Pluginها را با
openclaw plugins install نصب کنند.
محیط
بازنویسیها غیرفعال هستند مگر اینکه هر دو متغیر تنظیم شده باشند:
export OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1export OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{ "codex": "npm-pack:/tmp/openclaw-codex-2026.5.8.tgz", "openclaw-web-search": "npm:@openclaw/web-search@2026.5.8"}'نقشه بازنویسی، JSON با کلیدهای شناسه Plugin است. مقادیر پشتیبانی میکنند از:
npm:<registry-spec>برای بستههای رجیستری و نسخهها یا برچسبهای دقیقnpm-pack:<path.tgz>برای تاربالهای محلی تولیدشده باnpm pack
مسیرهای نسبی npm-pack: از دایرکتوری کاری فعلی resolve میشوند.
رفتار
وقتی یک جریان زمان راهاندازی درخواست نصب Pluginی را میدهد که شناسهاش در نقشه وجود دارد، OpenClaw بهجای منبع npm کاتالوگ، همراهشده، یا پیشفرض، از منبع بازنویسی استفاده میکند. این برای راهاندازی اولیه و جریانهای دیگری اعمال میشود که از نصبکننده مشترک Plugin در زمان راهاندازی استفاده میکنند.
بازنویسیها همچنان شناسه Plugin مورد انتظار را اعمال میکنند. تاربال نگاشتشده به codex
باید Pluginی را نصب کند که شناسه manifest آن codex است.
بازنویسیها وضعیت رسمی منبع مورد اعتماد را به ارث نمیبرند. حتی وقتی ورودی کاتالوگ معمولاً نماینده بستهای متعلق به OpenClaw باشد، بازنویسی بهعنوان ورودی آزمایشی ارائهشده توسط اپراتور در نظر گرفته میشود.
فایلهای .env فضای کاری نمیتوانند بازنویسیهای نصب را فعال کنند. این متغیرها را در
shell مورد اعتماد، کار CI، یا فرمان آزمایش راهدوری که OpenClaw را اجرا میکند تنظیم کنید.
E2E بسته
از یک دایرکتوری وضعیت ایزوله استفاده کنید تا نصبهای بسته و رکوردهای نصب به وضعیت عادی OpenClaw شما دست نزنند:
npm pack extensions/codex --pack-destination /tmp OPENCLAW_STATE_DIR="$(mktemp -d)" \OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1 \OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{"codex":"npm-pack:/tmp/openclaw-codex-2026.5.8.tgz"}' \pnpm openclaw onboard --mode localبسته نصبشده را زیر دایرکتوری وضعیت تأیید کنید:
find "$OPENCLAW_STATE_DIR/npm/projects" -path '*/node_modules/@openclaw/codex/package.json' -printgrep -R '"@openclaw/codex"' "$OPENCLAW_STATE_DIR/npm/projects"/*/package-lock.jsonبرای E2E ارائهدهنده زنده، پیش از اجرای فرمان آزمایش، کلید API واقعی را از یک shell مورد اعتماد یا secret در CI بارگذاری کنید. کلیدها را چاپ نکنید؛ فقط منبع و اینکه کلید موجود بوده یا نه را گزارش دهید.