Codex harness
Plugins Codex الأصلية
يدعم Plugin Codex الأصلي عامل OpenClaw بوضع Codex لاستخدام قدرات التطبيق وPlugin الخاصة بـ Codex app-server داخل سلسلة Codex نفسها التي تعالج دورة OpenClaw.
لا يترجم OpenClaw إضافات Codex إلى أدوات OpenClaw ديناميكية اصطناعية باسم codex_plugin_*.
تبقى استدعاءات Plugin في نص Codex الأصلي، ويتولى
Codex app-server تنفيذ MCP المدعوم بالتطبيق.
استخدم هذه الصفحة بعد أن يعمل مشغل Codex الأساسي.
المتطلبات
- يجب أن يكون وقت تشغيل عامل OpenClaw المحدد هو مشغل Codex الأصلي.
- يجب أن تكون
plugins.entries.codex.enabledبقيمة true. - يجب أن تكون
plugins.entries.codex.config.codexPlugins.enabledبقيمة true. - يدعم V1 فقط إضافات
openai-curatedالتي رصدها الترحيل على أنها مثبتة من المصدر في موطن Codex المصدر. - يجب أن يكون Codex app-server الهدف قادرا على رؤية السوق المتوقع، ومخزون Plugin والتطبيق.
ليس لـ codexPlugins أي تأثير على تشغيلات PI، أو تشغيلات مزود OpenAI العادية، أو
ارتباطات محادثات ACP، أو المشغلات الأخرى، لأن هذه المسارات لا تنشئ
سلاسل Codex app-server بإعدادات apps الأصلية.
البدء السريع
عاين الترحيل من موطن Codex المصدر:
openclaw migrate codex --dry-run
استخدم التحقق الصارم من تطبيق المصدر عندما تريد أن يتحقق الترحيل من إمكانية الوصول إلى تطبيق المصدر قبل تخطيط تفعيل Plugin الأصلي:
openclaw migrate codex --dry-run --verify-plugin-apps
طبّق الترحيل عندما تبدو الخطة صحيحة:
openclaw migrate apply codex --yes
يكتب الترحيل إدخالات codexPlugins صريحة للإضافات المؤهلة، ويستدعي
Codex app-server plugin/install للإضافات المحددة. يبدو
إعداد نموذجي مرحّل كما يلي:
{
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، استخدم /new أو /reset أو أعد تشغيل Gateway حتى
تبدأ جلسات مشغل Codex اللاحقة بمجموعة التطبيقات المحدّثة.
كيف يعمل إعداد Plugin الأصلي
للتكامل ثلاث حالات منفصلة:
- مثبت: يملك Codex حزمة Plugin المحلية في وقت تشغيل app-server الهدف.
- مفعّل: إعداد OpenClaw مستعد لإتاحة Plugin لدورات مشغل Codex.
- قابل للوصول: يؤكد Codex app-server أن إدخالات تطبيقات Plugin متاحة للحساب النشط ويمكن ربطها بهوية Plugin المرحّلة.
الترحيل هو خطوة التثبيت والأهلية الدائمة. أثناء التخطيط، يقرأ OpenClaw
تفاصيل plugin/read في Codex المصدر ويتحقق من أن استجابة حساب Codex
app-server المصدر هي حساب اشتراك ChatGPT. تتجاوز استجابات الحساب غير ChatGPT أو
المفقودة الإضافات المدعومة بالتطبيق مع
codex_subscription_required. افتراضيا، لا يستدعي الترحيل app/list للمصدر؛
تُخطط إضافات المصدر المدعومة بالتطبيق التي تجتاز بوابة الحساب
دون تحقق من إمكانية الوصول إلى تطبيق المصدر، وتتجاوز إخفاقات نقل
بحث الحساب مع codex_account_unavailable. مع --verify-plugin-apps،
يلتقط الترحيل لقطة app/list جديدة للمصدر ويتطلب وجود كل تطبيق مملوك
وتفعيله وإمكانية الوصول إليه قبل تخطيط التفعيل الأصلي. في
هذا الوضع، تمر إخفاقات نقل بحث الحساب إلى بوابة
مخزون تطبيقات المصدر. مخزون تطبيقات وقت التشغيل هو فحص إمكانية الوصول
لجلسة الهدف بعد الترحيل. ثم يحسب إعداد جلسة مشغل Codex
إعداد تطبيق سلسلة مقيدا لتطبيقات Plugin المفعلة والقابلة للوصول.
يُحسب إعداد تطبيق السلسلة عندما ينشئ OpenClaw جلسة مشغل Codex أو يستبدل ارتباط سلسلة Codex قديما. ولا يُعاد حسابه في كل دورة.
حدود دعم V1
نطاق V1 ضيق عمدا:
- فقط إضافات
openai-curatedالتي كانت مثبتة بالفعل في مخزون Codex app-server المصدر مؤهلة للترحيل. - يجب أن تجتاز إضافات المصدر المدعومة بالتطبيق بوابة الاشتراك وقت الترحيل.
يضيف
--verify-plugin-appsبوابة مخزون تطبيقات المصدر. الحسابات الخاضعة للاشتراك إضافة إلى، في وضع التحقق، تطبيقات المصدر غير القابلة للوصول أو المعطلة أو المفقودة أو إخفاقات تحديث مخزون تطبيقات المصدر تُبلّغ كعناصر يدوية متجاوزة بدلا من إدخالات إعداد مفعلة. تُتجاوز تفاصيل Plugin غير القابلة للقراءة قبل بوابة مخزون تطبيقات المصدر. - يكتب الترحيل هويات Plugin صريحة باستخدام
marketplaceNameوpluginName؛ ولا يكتب مسارات ذاكرة تخزين مؤقت محليةmarketplacePath. codexPlugins.enabledهو مفتاح التفعيل العام.- لا توجد بطاقة شاملة
plugins["*"]ولا مفتاح إعداد يمنح صلاحية تثبيت عشوائية. - تُحفظ الأسواق غير المدعومة، وحزم Plugin المخزنة مؤقتا، والخطافات، وملفات إعداد 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 ولا تُفعّل إلا التطبيقات المملوكة لإضافات مرحّلة مفعلة.
يعيّن OpenClaw قيمة destructive_enabled على مستوى التطبيق من السياسة العامة الفعالة أو
سياسة allow_destructive_actions الخاصة بكل Plugin، ويترك Codex يفرض
بيانات تعريف الأدوات المدمرة من تعليقات أدوات التطبيق الأصلية. يُعطل إعداد تطبيق _default
مع open_world_enabled: false. تُصدر تطبيقات Plugin المفعلة
مع open_world_enabled: true؛ لا يكشف OpenClaw مقبض سياسة عالم مفتوح منفصلا
لـ Plugin ولا يحتفظ بقوائم رفض أسماء أدوات مدمرة لكل Plugin.
وضع موافقة الأدوات تلقائي افتراضيا لتطبيقات Plugin حتى تتمكن أدوات القراءة غير المدمرة
من العمل دون واجهة موافقة في السلسلة نفسها. تظل الأدوات المدمرة
محكومة بسياسة destructive_enabled الخاصة بكل تطبيق.
سياسة الإجراءات المدمرة
تُسمح طلبات Plugin المدمرة افتراضيا لإضافات Codex المرحّلة، بينما تظل المخططات غير الآمنة والملكية الغامضة تفشل بإغلاق آمن:
- القيمة الافتراضية العامة لـ
allow_destructive_actionsهيtrue. - تتجاوز
allow_destructive_actionsالخاصة بكل Plugin السياسة العامة لذلك الـ Plugin. - عندما تكون السياسة
false، يعيد OpenClaw رفضا حتميا. - عندما تكون السياسة
true، يقبل OpenClaw تلقائيا المخططات الآمنة فقط التي يستطيع ربطها باستجابة موافقة، مثل حقل موافقة منطقي. - تؤدي هوية Plugin المفقودة، أو الملكية الغامضة، أو معرف دورة مفقود، أو معرف دورة خاطئ، أو مخطط طلب غير آمن إلى الرفض بدلا من عرض مطالبة.
استكشاف الأخطاء وإصلاحها
auth_required: ثبّت الترحيل Plugin، لكن أحد تطبيقاته ما زال
بحاجة إلى مصادقة. يُكتب إدخال Plugin الصريح معطلا حتى تعيد
التفويض وتفعله.
app_inaccessible أو app_disabled أو app_missing:
لم يثبت الترحيل Plugin لأن مخزون تطبيقات Codex المصدر لم
يظهر جميع التطبيقات المملوكة على أنها موجودة ومفعلة وقابلة للوصول أثناء
تعيين --verify-plugin-apps. أعد التفويض أو فعّل التطبيق في Codex، ثم
أعد تشغيل الترحيل مع --verify-plugin-apps.
app_inventory_unavailable: لم يثبت الترحيل Plugin لأن
التحقق الصارم من تطبيق المصدر كان مطلوبا وفشل تحديث مخزون تطبيقات Codex المصدر.
أصلح وصول Codex app-server المصدر أو أعد المحاولة دون
--verify-plugin-apps إذا كنت تقبل الخطة الأسرع الخاضعة لبوابة الحساب.
codex_subscription_required: لم يثبت الترحيل Plugin المدعوم بالتطبيق
لأن حساب Codex app-server المصدر لم يكن مسجلا الدخول بحساب
اشتراك ChatGPT. سجّل الدخول إلى تطبيق Codex بمصادقة الاشتراك،
ثم أعد تشغيل الترحيل.
codex_account_unavailable: لم يثبت الترحيل Plugin المدعوم بالتطبيق
لأن حساب Codex app-server المصدر تعذرت قراءته. أصلح مصادقة Codex
app-server المصدر أو أعد التشغيل مع --verify-plugin-apps إذا كنت تريد أن يقرر مخزون تطبيقات المصدر
الأهلية عند فشل بحث الحساب.
marketplace_missing أو plugin_missing: لا يستطيع Codex app-server الهدف
رؤية سوق openai-curated أو Plugin المتوقع. أعد تشغيل الترحيل
على وقت تشغيل الهدف أو افحص حالة Plugin في Codex app-server.
app_inventory_missing أو app_inventory_stale: جاءت جاهزية التطبيق من
ذاكرة تخزين مؤقت فارغة أو قديمة. يجدول OpenClaw تحديثا غير متزامن ويستبعد تطبيقات
Plugin إلى أن تُعرف الملكية والجاهزية.
app_ownership_ambiguous: لم يطابق مخزون التطبيق إلا باسم العرض، لذلك
لا يُكشف التطبيق لسلسلة Codex.
تغير الإعداد لكن العامل لا يستطيع رؤية Plugin: استخدم /new أو /reset أو
أعد تشغيل Gateway. تحتفظ ارتباطات سلسلة Codex الموجودة بإعداد التطبيق الذي
بدأت به إلى أن ينشئ OpenClaw جلسة مشغل جديدة أو يستبدل
ارتباطا قديما.
تم رفض الإجراء المدمر: تحقق من القيم العامة والخاصة بكل Plugin لـ
allow_destructive_actions. حتى عندما تكون السياسة true، تظل مخططات الطلب
غير الآمنة وهوية Plugin الغامضة تفشل بإغلاق آمن.