Bundled plugin guides
Pluginهای بومی Codex
پشتیبانی بومی از Pluginهای Codex به یک عامل OpenClaw در حالت Codex اجازه میدهد قابلیتهای اپ و Plugin خود app-server در Codex را داخل همان رشته Codex که نوبت OpenClaw را مدیریت میکند استفاده کند.
OpenClaw، Pluginهای Codex را به ابزارهای پویای مصنوعی OpenClaw با نام codex_plugin_* ترجمه نمیکند. فراخوانیهای Plugin در رونوشت بومی Codex باقی میمانند، و app-server در Codex مالک اجرای MCP مبتنی بر اپ است.
بعد از اینکه هارنس Codex پایه کار کرد، از این صفحه استفاده کنید.
الزامات
- زماناجرای عامل OpenClaw انتخابشده باید هارنس بومی Codex باشد.
plugins.entries.codex.enabledباید true باشد.plugins.entries.codex.config.codexPlugins.enabledباید true باشد.- V1 فقط از Pluginهای
openai-curatedپشتیبانی میکند که مهاجرت آنها را بهعنوان نصبشده از مبدا در خانه Codex مبدا مشاهده کرده است. - app-server مقصد Codex باید بتواند marketplace، Plugin، و فهرست اپ مورد انتظار را ببیند.
codexPlugins روی اجراهای OpenClaw، اجراهای عادی ارائهدهنده OpenAI، اتصالهای گفتوگوی ACP، یا هارنسهای دیگر اثری ندارد، چون آن مسیرها رشتههای app-server در Codex را با پیکربندی بومی apps ایجاد نمیکنند.
دسترسی سمت OpenAI به Codex، دسترسپذیری اپ، و کنترلهای اپ/Plugin فضایکار از حساب Codex واردشده میآیند. برای مدل حساب OpenAI و مدیر، استفاده از Codex با طرح ChatGPT خود را ببینید.
شروع سریع
پیشنمایش مهاجرت از خانه Codex مبدا:
openclaw migrate codex --dry-runوقتی میخواهید مهاجرت دسترسپذیری اپ مبدا را پیش از برنامهریزی فعالسازی بومی Plugin بررسی کند، از راستیآزمایی سختگیرانه اپ مبدا استفاده کنید:
openclaw migrate codex --dry-run --verify-plugin-appsوقتی طرح درست به نظر میرسد، مهاجرت را اعمال کنید:
openclaw migrate apply codex --yesمهاجرت، ورودیهای صریح codexPlugins را برای Pluginهای واجد شرایط مینویسد و برای Pluginهای انتخابشده، plugin/install در app-server Codex را فراخوانی میکند. یک پیکربندی مهاجرتیافته معمولی شبیه این است:
{ plugins: { entries: { codex: { enabled: true, config: { codexPlugins: { enabled: true, allow_destructive_actions: true, plugins: { "google-calendar": { enabled: true, marketplaceName: "openai-curated", pluginName: "google-calendar", }, }, }, }, }, }, },}پس از تغییر codexPlugins، گفتوگوهای جدید Codex مجموعه اپ بهروزشده را بهصورت خودکار دریافت میکنند. برای تازهسازی گفتوگوی فعلی از /new یا /reset استفاده کنید. برای تغییرات فعال یا غیرفعالسازی Plugin نیازی به راهاندازی دوباره Gateway نیست.
مدیریت Pluginها از چت
وقتی میخواهید Pluginهای بومی پیکربندیشده Codex را از همان چتی که هارنس Codex را در آن اجرا میکنید بررسی یا تغییر دهید، از /codex plugins استفاده کنید:
/codex plugins/codex plugins list/codex plugins disable google-calendar/codex plugins enable google-calendar/codex plugins نام مستعار /codex plugins list است. خروجی فهرست، کلیدهای Plugin پیکربندیشده، وضعیت روشن/خاموش، نام Plugin در Codex، و marketplace را از plugins.entries.codex.config.codexPlugins.plugins نشان میدهد.
enable و disable فقط در پیکربندی OpenClaw در ~/.openclaw/openclaw.json مینویسند؛ آنها ~/.codex/config.toml را ویرایش نمیکنند یا Pluginهای جدید Codex را نصب نمیکنند. فقط مالک یا یک کارخواه Gateway با حوزه operator.admin میتواند وضعیت Plugin را تغییر دهد.
فعالسازی یک Plugin پیکربندیشده، کلید سراسری codexPlugins.enabled را نیز روشن میکند. اگر Plugin بهدلیل اینکه مهاجرت auth_required برگردانده، غیرفعال نوشته شده بود، پیش از فعالکردن آن در OpenClaw، اپ را در Codex دوباره مجاز کنید.
نحوه کار راهاندازی Plugin بومی
این یکپارچهسازی سه وضعیت جداگانه دارد:
- نصبشده: Codex بسته محلی Plugin را در زماناجرای app-server مقصد دارد.
- فعال: پیکربندی OpenClaw مایل است Plugin را برای نوبتهای هارنس Codex در دسترس قرار دهد.
- قابلدسترسی: app-server در Codex تایید میکند که ورودیهای اپِ Plugin برای حساب فعال در دسترس هستند و میتوانند به هویت Plugin مهاجرتیافته نگاشت شوند.
مهاجرت، مرحله پایدار نصب/واجدشرایطبودن است. در طول برنامهریزی، OpenClaw جزئیات plugin/read در Codex مبدا را میخواند و بررسی میکند که پاسخ حساب app-server در Codex مبدا، حساب اشتراک ChatGPT باشد. پاسخهای حساب غیر ChatGPT یا گمشده، Pluginهای مبتنی بر اپ را با codex_subscription_required نادیده میگیرند. بهصورت پیشفرض، مهاجرت app/list مبدا را فراخوانی نمیکند؛ Pluginهای مبتنی بر اپ مبدا که از دروازه حساب عبور میکنند بدون راستیآزمایی دسترسپذیری اپ مبدا برنامهریزی میشوند، و خرابیهای انتقال در جستوجوی حساب با codex_account_unavailable نادیده گرفته میشوند. با --verify-plugin-apps، مهاجرت یک عکسبرداری تازه از app/list مبدا میگیرد و پیش از برنامهریزی فعالسازی بومی، حضور، فعالبودن، و دسترسپذیری هر اپ مالکشده را الزامی میکند. در آن حالت، خرابیهای انتقال در جستوجوی حساب به دروازه فهرست اپ مبدا میرسند. فهرست اپ زماناجرا، بررسی دسترسپذیری نشست مقصد پس از مهاجرت است. سپس راهاندازی نشست هارنس Codex یک پیکربندی محدودکننده اپ رشته را برای اپهای Plugin فعال و قابلدسترسی محاسبه میکند.
پیکربندی اپ رشته زمانی محاسبه میشود که OpenClaw یک نشست هارنس Codex برقرار کند یا اتصال رشته Codex مانده را جایگزین کند. این پیکربندی در هر نوبت دوباره محاسبه نمیشود، بنابراین /codex plugins enable و /codex plugins disable روی گفتوگوهای جدید Codex اثر میگذارند. وقتی گفتوگوی فعلی باید مجموعه اپ بهروزشده را دریافت کند، از /new یا /reset استفاده کنید.
مرز پشتیبانی V1
V1 عمدا محدود است:
- فقط Pluginهای
openai-curatedکه از قبل در فهرست app-server مبدا Codex نصب شده بودند، واجد شرایط مهاجرت هستند. - Pluginهای مبتنی بر اپ مبدا باید از دروازه اشتراک زمان مهاجرت عبور کنند.
--verify-plugin-appsدروازه فهرست اپ مبدا را اضافه میکند. حسابهایی که پشت دروازه اشتراک هستند، و در حالت راستیآزمایی، اپهای مبدا غیرقابلدسترسی، غیرفعال، گمشده یا خرابیهای تازهسازی فهرست اپ مبدا، بهجای ورودیهای پیکربندی فعال، بهعنوان موارد دستی نادیدهگرفتهشده گزارش میشوند. جزئیات ناخوانای Plugin پیش از دروازه فهرست اپ مبدا نادیده گرفته میشوند. - مهاجرت هویتهای صریح Plugin را با
marketplaceNameوpluginNameمینویسد؛ مسیرهای کش محلیmarketplacePathرا نمینویسد. codexPlugins.enabledکلید فعالسازی سراسری است.- هیچ wildcard با
plugins["*"]و هیچ کلید پیکربندی که اختیار نصب دلخواه بدهد وجود ندارد. - marketplaceهای پشتیبانینشده، بستههای کششده Plugin، hookها، و فایلهای پیکربندی Codex در گزارش مهاجرت برای بازبینی دستی حفظ میشوند.
فهرست اپ و مالکیت
OpenClaw فهرست اپ Codex را از طریق app/list در app-server میخواند، آن را بهمدت یک ساعت کش میکند، و ورودیهای مانده یا گمشده را بهصورت ناهمگام تازهسازی میکند. کش فقط در حافظه است؛ راهاندازی دوباره CLI یا Gateway آن را حذف میکند، و OpenClaw آن را از خواندن بعدی app/list دوباره میسازد.
مهاجرت و زماناجرا از کلیدهای کش جداگانه استفاده میکنند:
- راستیآزمایی مهاجرت مبدا از خانه Codex مبدا و گزینههای شروع app-server مبدا استفاده میکند. این فقط وقتی اجرا میشود که
--verify-plugin-appsتنظیم شده باشد، و برای آن اجرای برنامهریزی، یک پیمایش تازهapp/listمبدا را اجباری میکند. - راهاندازی زماناجرای مقصد وقتی پیکربندی اپ رشته Codex را میسازد، از هویت app-server در Codex عامل مقصد استفاده میکند. فعالسازی Plugin آن کلید کش مقصد را نامعتبر میکند و سپس پس از
plugin/installآن را بهاجبار تازهسازی میکند.
یک اپ Plugin فقط وقتی در معرض قرار میگیرد که OpenClaw بتواند آن را از طریق مالکیت پایدار به Plugin مهاجرتیافته برگرداند:
- شناسه دقیق اپ از جزئیات Plugin
- نام سرور MCP شناختهشده
- فراداده پایدار یکتا
مالکیت صرفا مبتنی بر نام نمایشی یا مالکیت مبهم تا زمانی که تازهسازی بعدی فهرست مالکیت را ثابت کند کنار گذاشته میشود.
پیکربندی اپ رشته
OpenClaw یک وصله محدودکننده config.apps را برای رشته Codex تزریق میکند: _default غیرفعال است و فقط اپهای مالکشده توسط Pluginهای مهاجرتیافته فعال، فعال میشوند.
OpenClaw مقدار سطح اپ destructive_enabled را از سیاست موثر سراسری یا مختص Plugin با نام allow_destructive_actions تنظیم میکند و اجازه میدهد Codex فراداده ابزار مخرب را از حاشیهنویسیهای ابزار اپ بومی خودش اعمال کند. true، "auto"، و "ask" مقدار destructive_enabled: true را تنظیم میکنند؛ false آن را false تنظیم میکند. پیکربندی اپ _default با open_world_enabled: false غیرفعال میشود. اپهای Plugin فعال با open_world_enabled: true منتشر میشوند؛ OpenClaw هیچ دکمه سیاست open-world جداگانه برای Plugin ارائه نمیکند و فهرستهای رد نام ابزار مخرب مختص Plugin را نگه نمیدارد.
حالت تایید ابزار بهصورت پیشفرض برای اپهای Plugin خودکار است تا ابزارهای خواندن غیرمخرب بتوانند بدون رابط تایید در همان رشته اجرا شوند. ابزارهای مخرب همچنان با سیاست destructive_enabled هر اپ کنترل میشوند.
سیاست اقدام مخرب
درخواستهای Plugin مخرب بهصورت پیشفرض برای Pluginهای مهاجرتیافته Codex مجاز هستند، درحالیکه schemaهای ناامن و مالکیت مبهم همچنان بهصورت fail closed رد میشوند:
- مقدار پیشفرض سراسری
allow_destructive_actionsبرابرtrueاست. - مقدار مختص Plugin با نام
allow_destructive_actionsسیاست سراسری را برای آن Plugin بازنویسی میکند. - وقتی سیاست
falseباشد، OpenClaw یک رد قطعی برمیگرداند. - وقتی سیاست
trueباشد، OpenClaw فقط schemaهای امنی را بهصورت خودکار میپذیرد که بتواند آنها را به یک پاسخ تایید نگاشت کند، مانند یک فیلد تایید بولی. - وقتی سیاست
"auto"باشد، OpenClaw اقدامهای مخرب Plugin را در اختیار Codex قرار میدهد، اما درخواستهای تایید MCP با مالکیت ثابتشده را پیش از برگرداندن پاسخ تایید Codex به تاییدهای Plugin در OpenClaw تبدیل میکند. - وقتی سیاست
"ask"باشد، OpenClaw از همان دروازهبندی نوشتن/مخرب Codex مانند"auto"استفاده میکند، بازنویسیهای پایدار تایید هر ابزار Codex را برای اپ پیش از شروع رشته پاک میکند، و فقط تایید یا رد یکباره ارائه میدهد تا تاییدهای پایدار نتوانند اعلانهای بعدی اقدام نوشتن را سرکوب کنند. - برای هر اپ پذیرفتهشدهای که از
"ask"استفاده میکند، OpenClaw بازبین تاییدهای انسانی Codex را برای آن اپ انتخاب میکند تا Codex درخواستهای تایید خود را به OpenClaw بفرستد. سایر اپها و تاییدهای رشته غیر اپ، بازبین و سیاست پیکربندیشده خود را نگه میدارند. - هویت گمشده Plugin، مالکیت مبهم، شناسه نوبت گمشده، شناسه نوبت اشتباه، یا schema درخواست ناامن، بهجای نمایش اعلان، رد میشود.
عیبیابی
auth_required: مهاجرت Plugin را نصب کرد، اما یکی از اپهای آن هنوز به احراز هویت نیاز دارد. ورودی صریح Plugin تا زمانی که دوباره مجازسازی و فعالش کنید، غیرفعال نوشته میشود.
app_inaccessible، app_disabled، یا app_missing:
مهاجرت Plugin را نصب نکرد، چون فهرست اپ Codex مبدا در زمانی که --verify-plugin-apps تنظیم شده بود، همه اپهای مالکشده را حاضر، فعال، و قابلدسترسی نشان نداد. اپ را در Codex دوباره مجاز یا فعال کنید، سپس مهاجرت را با --verify-plugin-apps دوباره اجرا کنید.
app_inventory_unavailable: مهاجرت Plugin را نصب نکرد، چون راستیآزمایی سختگیرانه اپ مبدا درخواست شده بود و تازهسازی فهرست اپ Codex مبدا شکست خورد. دسترسی app-server مبدا Codex را درست کنید، یا اگر طرح سریعتر مبتنی بر دروازه حساب را میپذیرید، بدون --verify-plugin-apps دوباره تلاش کنید.
codex_subscription_required: مهاجرت Plugin مبتنی بر اپ را نصب نکرد، چون حساب app-server مبدا Codex با حساب اشتراک ChatGPT وارد نشده بود. با احراز هویت اشتراک وارد اپ Codex شوید، سپس مهاجرت را دوباره اجرا کنید.
codex_account_unavailable: مهاجرت Plugin مبتنی بر اپ را نصب نکرد، چون حساب app-server مبدا Codex قابل خواندن نبود. احراز هویت app-server مبدا Codex را درست کنید، یا اگر میخواهید هنگام شکست جستوجوی حساب، فهرست اپ مبدا درباره واجدشرایطبودن تصمیم بگیرد، با --verify-plugin-apps دوباره اجرا کنید.
marketplace_missing یا plugin_missing: app-server مقصد Codex نمیتواند marketplace یا Plugin مورد انتظار openai-curated را ببیند. مهاجرت را در برابر زماناجرای مقصد دوباره اجرا کنید یا وضعیت Plugin در app-server Codex را بررسی کنید.
app_inventory_missing یا app_inventory_stale: آمادگی اپ از یک کش خالی یا مانده آمده است. OpenClaw یک تازهسازی ناهمگام زمانبندی میکند و تا زمانی که مالکیت و آمادگی شناخته شوند، اپهای Plugin را کنار میگذارد.
app_ownership_ambiguous: فهرست اپ فقط بر اساس نام نمایشی تطبیق داشت، بنابراین اپ در معرض رشته Codex قرار نمیگیرد.
پیکربندی تغییر کرده اما عامل نمیتواند Plugin را ببیند: از /codex plugins list برای تأیید وضعیت پیکربندیشده استفاده کنید، سپس از /new یا /reset استفاده کنید. پیوندهای موجود رشتهٔ
Codex همان پیکربندی برنامهای را که با آن شروع شدهاند نگه میدارند تا زمانی که OpenClaw
یک نشست harness جدید برقرار کند یا یک پیوند منسوخ را جایگزین کند.
اقدام مخرب رد میشود: مقادیر سراسری و مخصوص هر Plugin برای
allow_destructive_actions را بررسی کنید. حتی وقتی سیاست true، "auto" یا
"ask" باشد، طرحوارههای elicitation ناامن و هویت مبهم Plugin همچنان بهصورت
بسته ناموفق میشوند.