Plugins

بيئة تشغيل Codex

يتيح Plugin codex المضمّن لـ OpenClaw تشغيل دورات الوكيل المضمّنة عبر خادم تطبيق Codex بدلاً من حزمة PI المدمجة.

استخدم هذا عندما تريد أن يتولى Codex جلسة الوكيل منخفضة المستوى: اكتشاف النماذج، واستئناف السلاسل الأصلي، وCompaction الأصلي، وتنفيذ خادم التطبيق. يظل OpenClaw مسؤولاً عن قنوات الدردشة، وملفات الجلسات، واختيار النماذج، والأدوات، والموافقات، وتسليم الوسائط، ومرآة النص المرئية.

عندما تعمل دورة دردشة مصدرية عبر حزمة Codex، تكون الردود المرئية افتراضياً عبر أداة message في OpenClaw إذا لم يضبط النشر messages.visibleReplies صراحةً. لا يزال بإمكان الوكيل إنهاء دورته في Codex بشكل خاص؛ فهو لا ينشر إلى القناة إلا عندما يستدعي message(action="send"). اضبط messages.visibleReplies: "automatic" للإبقاء على الردود النهائية للدردشة المباشرة في مسار التسليم التلقائي القديم.

تحصل دورات Heartbeat في Codex أيضاً على أداة heartbeat_respond افتراضياً، لتمكين الوكيل من تسجيل ما إذا كان يجب أن يبقى التنبيه صامتاً أو يرسل إشعاراً من دون ترميز تدفق التحكم هذا في النص النهائي.

تُرسل إرشادات المبادرة الخاصة بـ Heartbeat كتعليمة مطوّر في وضع التعاون في Codex ضمن دورة Heartbeat نفسها. أما دورات الدردشة العادية فتستعيد وضع Codex الافتراضي بدلاً من حمل فلسفة Heartbeat في مطالبة التشغيل العادية.

إذا كنت تحاول تكوين تصور عام، فابدأ بـ أزمنة تشغيل الوكلاء. الخلاصة المختصرة هي: openai/gpt-5.5 هو مرجع النموذج، وcodex هو وقت التشغيل، وتظل Telegram أو Discord أو Slack أو قناة أخرى هي سطح الاتصال.

الإعداد السريع

يريد معظم المستخدمين الذين يريدون "Codex في OpenClaw" هذا المسار: تسجيل الدخول باشتراك ChatGPT/Codex، ثم تشغيل دورات الوكيل المضمّنة عبر وقت تشغيل خادم تطبيق Codex الأصلي. يظل مرجع النموذج معيارياً كـ openai/gpt-*؛ تأتي مصادقة الاشتراك من حساب/ملف Codex الشخصي، وليس من بادئة نموذج openai-codex/*.

سجّل الدخول أولاً باستخدام Codex OAuth إذا لم تكن قد فعلت ذلك بالفعل:

openclaw models auth login --provider openai-codex

ثم فعّل Plugin codex المضمّن وافرِض وقت تشغيل Codex:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
      agentRuntime: {
        id: "codex",
      },
    },
  },
}

إذا كان إعدادك يستخدم plugins.allow، فأدرج codex هناك أيضاً:

{
  plugins: {
    allow: ["codex"],
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}

لا تستخدم openai-codex/gpt-* في الإعداد. هذه البادئة مسار قديم يعيد openclaw doctor --fix كتابته إلى openai/gpt-* عبر النماذج الأساسية، والبدائل الاحتياطية، وتجاوزات Heartbeat/الوكيل الفرعي/Compaction، والخطافات، وتجاوزات القنوات، ومسامير مسارات الجلسات المستمرة القديمة.

ما الذي يغيّره هذا Plugin

يساهم Plugin codex المضمّن بعدة قدرات منفصلة:

القدرة كيف تستخدمها ما الذي تفعله
وقت تشغيل مضمّن أصلي agentRuntime.id: "codex" يشغّل دورات وكيل OpenClaw المضمّنة عبر خادم تطبيق Codex.
أوامر تحكم دردشة أصلية /codex bind, /codex resume, /codex steer, ... يربط سلاسل خادم تطبيق Codex ويتحكم بها من محادثة مراسلة.
مزوّد/فهرس خادم تطبيق Codex داخلية codex، مكشوفة عبر الحزمة يتيح لوقت التشغيل اكتشاف نماذج خادم التطبيق والتحقق منها.
مسار فهم الوسائط في Codex مسارات توافق نماذج الصور codex/* يشغّل دورات محدودة في خادم تطبيق Codex لنماذج فهم الصور المدعومة.
ترحيل الخطافات الأصلي خطافات Plugin حول أحداث Codex الأصلية يتيح لـ OpenClaw مراقبة/حظر أحداث الأدوات/الإنهاء الأصلية المدعومة في Codex.

تفعيل Plugin يجعل هذه القدرات متاحة. لكنه لا:

  • يبدأ باستخدام Codex لكل نموذج OpenAI
  • يحوّل مراجع نماذج openai-codex/* إلى وقت التشغيل الأصلي من دون أن يتحقق doctor من أن Codex مثبت، ومفعّل، ويساهم بحزمة codex، وجاهز لـ OAuth
  • يجعل ACP/acpx مسار Codex الافتراضي
  • يبدّل الجلسات الحالية فورياً إذا كانت قد سجّلت وقت تشغيل PI بالفعل
  • يستبدل تسليم قنوات OpenClaw، أو ملفات الجلسات، أو تخزين ملفات المصادقة الشخصية، أو توجيه الرسائل

يمتلك Plugin نفسه أيضاً سطح أوامر التحكم بالدردشة الأصلية /codex. إذا كان Plugin مفعّلاً وطلب المستخدم ربط سلاسل Codex أو استئنافها أو توجيهها أو إيقافها أو فحصها من الدردشة، فيجب أن تفضّل الوكلاء /codex ... على ACP. يظل ACP البديل الصريح عندما يطلب المستخدم ACP/acpx أو يختبر محوّل Codex ACP.

تحافظ دورات Codex الأصلية على خطافات Plugin في OpenClaw كطبقة التوافق العامة. هذه خطافات OpenClaw داخل العملية، وليست خطافات أوامر hooks.json في Codex:

  • before_prompt_build
  • before_compaction, after_compaction
  • llm_input, llm_output
  • before_tool_call, after_tool_call
  • before_message_write لسجلات النص المعكوسة
  • before_agent_finalize عبر ترحيل Stop في Codex
  • agent_end

يمكن لـ Plugins أيضاً تسجيل وسيط نتائج أدوات محايد لوقت التشغيل لإعادة كتابة نتائج أدوات OpenClaw الديناميكية بعد أن ينفّذ OpenClaw الأداة وقبل إعادة النتيجة إلى Codex. هذا منفصل عن خطاف Plugin العام tool_result_persist، الذي يحوّل كتابات نتائج الأدوات في النصوص التي يملكها OpenClaw.

للاطلاع على دلالات خطافات Plugin نفسها، راجع خطافات Plugin وسلوك حارس Plugin.

تكون الحزمة معطّلة افتراضياً. يجب أن تُبقي الإعدادات الجديدة مراجع نماذج OpenAI معيارية كـ openai/gpt-* وأن تفرض صراحةً agentRuntime.id: "codex" أو OPENCLAW_AGENT_RUNTIME=codex عندما تريد تنفيذ خادم التطبيق الأصلي. لا تزال مراجع نماذج codex/* القديمة تختار الحزمة تلقائياً للتوافق، لكن بادئات المزوّد القديمة المدعومة بوقت تشغيل لا تظهر كخيارات نموذج/مزوّد عادية.

إذا كان أي مسار نموذج مضبوط لا يزال openai-codex/*، فإن openclaw doctor --fix يعيد كتابته إلى openai/*. وبالنسبة إلى مسارات الوكلاء المطابقة، يعيّن وقت تشغيل الوكيل إلى codex فقط عندما يكون Plugin Codex مثبتاً، ومفعّلاً، ويساهم بحزمة codex، ولديه OAuth صالح للاستخدام؛ وإلا فيعيّن وقت التشغيل إلى pi.

خريطة المسارات

استخدم هذا الجدول قبل تغيير الإعداد:

السلوك المطلوب مرجع النموذج إعداد وقت التشغيل مسار المصادقة/الملف الشخصي تسمية الحالة المتوقعة
اشتراك ChatGPT/Codex مع وقت تشغيل Codex أصلي openai/gpt-* agentRuntime.id: "codex" Codex OAuth أو حساب Codex Runtime: OpenAI Codex
OpenAI API عبر مشغّل OpenClaw العادي openai/gpt-* محذوف أو runtime: "pi" مفتاح OpenAI API Runtime: OpenClaw Pi Default
إعداد قديم يحتاج إصلاح doctor openai-codex/gpt-* مُصلح إلى codex أو pi المصادقة الحالية المضبوطة أعد التحقق بعد doctor --fix
مزوّدون مختلطون مع وضع تلقائي محافظ مراجع خاصة بالمزوّد agentRuntime.id: "auto" حسب المزوّد المحدد يعتمد على وقت التشغيل المحدد
جلسة محوّل Codex ACP صريحة يعتمد على مطالبة/نموذج ACP sessions_spawn مع runtime: "acp" مصادقة خلفية ACP حالة مهمة/جلسة ACP

الفصل المهم هو بين المزوّد ووقت التشغيل:

  • openai-codex/* مسار قديم يعيد doctor كتابته.
  • يتطلب agentRuntime.id: "codex" حزمة Codex ويفشل بشكل مغلق إذا لم تكن متاحة.
  • يتيح agentRuntime.id: "auto" للحزم المسجلة المطالبة بمسارات المزوّد المطابقة، لكن مراجع OpenAI المعيارية تظل مملوكة لـ PI ما لم تدعم حزمة زوج المزوّد/النموذج ذلك.
  • يجيب /codex ... عن سؤال "أي محادثة Codex أصلية يجب أن ترتبط بها هذه الدردشة أو تتحكم بها؟"
  • يجيب ACP عن سؤال "أي عملية حزمة خارجية يجب أن يطلقها acpx؟"

اختر بادئة النموذج الصحيحة

مسارات عائلة OpenAI محددة بالبادئة. للإعداد الشائع القائم على الاشتراك مع وقت تشغيل Codex الأصلي، استخدم openai/* مع agentRuntime.id: "codex". تعامل مع openai-codex/* كإعداد قديم يجب أن يعيد doctor كتابته:

مرجع النموذج مسار وقت التشغيل استخدمه عندما
openai/gpt-5.4 مزوّد OpenAI عبر توصيلات OpenClaw/PI تريد وصول OpenAI Platform API المباشر الحالي باستخدام OPENAI_API_KEY.
openai-codex/gpt-5.5 مسار قديم يُصلحه doctor تستخدم إعداداً قديماً؛ شغّل openclaw doctor --fix لإعادة كتابته.
openai/gpt-5.5 + agentRuntime.id: "codex" حزمة خادم تطبيق Codex تريد مصادقة اشتراك ChatGPT/Codex مع تنفيذ Codex الأصلي.

يمكن أن يظهر GPT-5.5 في كلٍ من مسارات مفتاح OpenAI API المباشر ومسارات اشتراك Codex عندما يتيحها حسابك. استخدم openai/gpt-5.5 مع حزمة خادم تطبيق Codex لوقت تشغيل Codex الأصلي، أو openai/gpt-5.5 من دون تجاوز وقت تشغيل Codex لحركة مرور مفتاح API المباشر.

تظل مراجع codex/gpt-* القديمة مقبولة كأسماء بديلة للتوافق. تعيد ترحيلة توافق doctor كتابة مراجع وقت التشغيل القديمة إلى مراجع نماذج معيارية وتسجيل سياسة وقت التشغيل بشكل منفصل. يجب أن تستخدم إعدادات حزمة خادم التطبيق الأصلية الجديدة openai/gpt-* مع agentRuntime.id: "codex".

يتبع agents.defaults.imageModel فصل البادئة نفسه. استخدم openai/gpt-* لمسار OpenAI العادي وcodex/gpt-* عندما يجب أن يعمل فهم الصور عبر دورة محدودة في خادم تطبيق Codex. لا تستخدم openai-codex/gpt-*؛ يعيد doctor كتابة تلك البادئة القديمة إلى openai/gpt-*. يجب أن يعلن نموذج خادم تطبيق Codex دعمه لإدخال الصور؛ تفشل نماذج Codex النصية فقط قبل بدء دورة الوسائط.

استخدم /status لتأكيد الحزمة الفعلية للجلسة الحالية. إذا كان الاختيار مفاجئاً، فعّل تسجيل التصحيح لنظام agents/harness الفرعي وافحص سجل Gateway المنظم agent harness selected. يتضمن معرّف الحزمة المحددة، وسبب الاختيار، وسياسة وقت التشغيل/الاحتياط، وفي وضع auto نتيجة دعم كل مرشح Plugin.

ماذا تعني تحذيرات doctor

يحذّر openclaw doctor عندما لا تزال مراجع النماذج المضبوطة أو حالة مسار الجلسات المستمرة تستخدم openai-codex/*. يعيد openclaw doctor --fix كتابة تلك المسارات إلى:

  • openai/<model>
  • agentRuntime.id: "codex" عندما يكون Codex مثبتاً، ومفعّلاً، ويساهم بحزمة codex، ولديه OAuth صالح للاستخدام
  • agentRuntime.id: "pi" خلاف ذلك

يفرض مسار codex حزمة Codex الأصلية. يحافظ مسار pi على الوكيل في مشغّل OpenClaw الافتراضي بدلاً من تفعيل Codex أو تثبيته كأثر جانبي لتنظيف المسار القديم. يصلح doctor أيضاً مسامير الجلسات المستمرة القديمة عبر مخازن جلسات الوكلاء المكتشفة حتى لا تبقى المحادثات القديمة عالقة على المسار المُزال.

تحديد مُشغّل التشغيل ليس عنصر تحكم في جلسة مباشرة. عند تشغيل دورة مضمنة، يسجّل OpenClaw معرّف مُشغّل التشغيل المحدد في تلك الجلسة ويستمر في استخدامه للدورات اللاحقة ضمن معرّف الجلسة نفسه. غيّر إعداد agentRuntime أو OPENCLAW_AGENT_RUNTIME عندما تريد أن تستخدم الجلسات المستقبلية مُشغّل تشغيل آخر؛ استخدم /new أو /reset لبدء جلسة جديدة قبل تبديل محادثة حالية بين PI وCodex. يمنع هذا إعادة تشغيل نص جلسة واحد عبر نظامي جلسات أصليين غير متوافقين.

تُعامل الجلسات القديمة التي أُنشئت قبل تثبيت مُشغّلات التشغيل كجلسات مثبتة على PI بعد أن يصبح لديها سجل نصي. استخدم /new أو /reset لإدخال تلك المحادثة في Codex بعد تغيير الإعدادات.

يعرض /status وقت تشغيل النموذج الفعّال. يظهر مُشغّل PI الافتراضي باسم Runtime: OpenClaw Pi Default، ويظهر مُشغّل خادم تطبيق Codex باسم Runtime: OpenAI Codex.

المتطلبات

  • OpenClaw مع إتاحة Plugin codex المضمّن.
  • خادم تطبيق Codex الإصدار 0.125.0 أو أحدث. يدير Plugin المضمّن ملفًا ثنائيًا متوافقًا لخادم تطبيق Codex افتراضيًا، لذلك لا تؤثر أوامر codex المحلية على PATH في بدء تشغيل مُشغّل التشغيل العادي.
  • توفر مصادقة Codex لعملية خادم التطبيق أو لجسر مصادقة Codex في OpenClaw. تستخدم عمليات تشغيل خادم التطبيق المحلية منزلاً لـ Codex مُدارًا من OpenClaw لكل وكيل وHOME فرعيًا معزولًا، لذلك لا تقرأ افتراضيًا حسابك الشخصي في ~/.codex أو Skills أو plugins أو الإعدادات أو حالة الخيط أو $HOME/.agents/skills الأصلية.

يحظر Plugin مصافحات خادم التطبيق الأقدم أو غير المرقمة. يحافظ ذلك على بقاء OpenClaw ضمن سطح البروتوكول الذي اختُبر عليه.

بالنسبة لاختبارات الدخان المباشرة واختبارات Docker، تأتي المصادقة عادةً من حساب Codex CLI أو من ملف تعريف مصادقة OpenClaw openai-codex. يمكن لعمليات تشغيل خادم التطبيق المحلية عبر stdio أيضًا الرجوع إلى CODEX_API_KEY / OPENAI_API_KEY عند عدم وجود حساب.

ملفات تمهيد مساحة العمل

يتعامل Codex مع AGENTS.md بنفسه من خلال اكتشاف مستندات المشروع الأصلية. لا يكتب OpenClaw ملفات مستندات مشروع Codex اصطناعية ولا يعتمد على أسماء ملفات Codex الاحتياطية لملفات الشخصية، لأن بدائل Codex لا تنطبق إلا عند غياب AGENTS.md.

لتحقيق تكافؤ مساحة عمل OpenClaw، يحل مُشغّل Codex ملفات التمهيد الأخرى (SOUL.md وTOOLS.md وIDENTITY.md وUSER.md وHEARTBEAT.md و BOOTSTRAP.md وMEMORY.md عند وجودها) ويمررها عبر تعليمات مطوري Codex في thread/start وthread/resume. يُبقي هذا SOUL.md وسياق الشخصية/الملف التعريفي المرتبط بمساحة العمل مرئيين في مسار تشكيل سلوك Codex الأصلي من دون تكرار AGENTS.md.

إضافة Codex إلى جانب نماذج أخرى

لا تضبط agentRuntime.id: "codex" عالميًا إذا كان يجب أن يتمكن الوكيل نفسه من التبديل بحرية بين نماذج مزودي Codex وغير Codex. ينطبق وقت تشغيل مفروض على كل دورة مضمنة لذلك الوكيل أو تلك الجلسة. إذا حددت نموذج Anthropic بينما وقت التشغيل ذلك مفروض، فسيظل OpenClaw يحاول استخدام مُشغّل Codex ويفشل بإغلاق صارم بدلًا من توجيه تلك الدورة بصمت عبر PI.

استخدم أحد هذه الأشكال بدلًا من ذلك:

  • ضع Codex على وكيل مخصص مع agentRuntime.id: "codex".
  • أبقِ الوكيل الافتراضي على agentRuntime.id: "auto" واحتياطي توافق PI للاستخدام المختلط العادي للمزودين.
  • استخدم مراجع codex/* القديمة للتوافق فقط. ينبغي أن تفضّل الإعدادات الجديدة openai/* مع سياسة وقت تشغيل Codex صريحة.

على سبيل المثال، يُبقي هذا الوكيل الافتراضي على الاختيار التلقائي العادي ويضيف وكيل Codex منفصلًا:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      agentRuntime: {
        id: "auto",
      },
    },
    list: [
      {
        id: "main",
        default: true,
        model: "anthropic/claude-opus-4-6",
      },
      {
        id: "codex",
        name: "Codex",
        model: "openai/gpt-5.5",
        agentRuntime: {
          id: "codex",
        },
      },
    ],
  },
}

بهذا الشكل:

  • يستخدم الوكيل الافتراضي main مسار المزود العادي واحتياطي توافق PI.
  • يستخدم الوكيل codex مُشغّل خادم تطبيق Codex.
  • إذا كان Codex مفقودًا أو غير مدعوم للوكيل codex، تفشل الدورة بدلًا من استخدام PI بصمت.

توجيه أوامر الوكيل

ينبغي للوكلاء توجيه طلبات المستخدم حسب القصد، لا حسب كلمة "Codex" وحدها:

ما يطلبه المستخدم... ينبغي للوكيل استخدام...
"اربط هذه الدردشة بـ Codex" /codex bind
"استأنف خيط Codex <id> هنا" /codex resume <id>
"اعرض خيوط Codex" /codex threads
"أرسل تقرير دعم عن تشغيل Codex سيئ" /diagnostics [note]
"أرسل ملاحظات Codex فقط لهذا الخيط المرفق" /codex diagnostics [note]
"استخدم اشتراكي في ChatGPT/Codex مع وقت تشغيل Codex" openai/* زائد agentRuntime.id: "codex"
"أصلح تثبيتات إعداد/جلسة openai-codex/* القديمة" openclaw doctor --fix
"شغّل Codex عبر ACP/acpx" ACP sessions_spawn({ runtime: "acp", ... })
"ابدأ Claude Code/Gemini/OpenCode/Cursor في خيط" ACP/acpx، وليس /codex ولا الوكلاء الفرعيين الأصليين

لا يعلن OpenClaw إرشادات إنشاء ACP للوكلاء إلا عندما يكون ACP مفعّلًا، وقابلًا للإرسال، ومدعومًا بواجهة خلفية لوقت تشغيل محمّلة. إذا لم يكن ACP متاحًا، فلا ينبغي لموجّه النظام وSkills الخاصة بالـ Plugin تعليم الوكيل عن توجيه ACP.

عمليات نشر Codex فقط

افرض مُشغّل Codex عندما تحتاج إلى إثبات أن كل دورة وكيل مضمنة تستخدم Codex. تفشل أوقات تشغيل Plugin الصريحة بإغلاق صارم ولا يُعاد تجربتها بصمت عبر PI:

{
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
      agentRuntime: {
        id: "codex",
      },
    },
  },
}

تجاوز البيئة:

OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run

مع فرض Codex، يفشل OpenClaw مبكرًا إذا كان Plugin الخاص بـ Codex معطلًا، أو كان خادم التطبيق قديمًا جدًا، أو تعذر بدء خادم التطبيق.

Codex لكل وكيل

يمكنك جعل وكيل واحد يعمل على Codex فقط بينما يحتفظ الوكيل الافتراضي بالاختيار التلقائي العادي:

{
  agents: {
    defaults: {
      agentRuntime: {
        id: "auto",
      },
    },
    list: [
      {
        id: "main",
        default: true,
        model: "anthropic/claude-opus-4-6",
      },
      {
        id: "codex",
        name: "Codex",
        model: "openai/gpt-5.5",
        agentRuntime: {
          id: "codex",
        },
      },
    ],
  },
}

استخدم أوامر الجلسات العادية للتبديل بين الوكلاء والنماذج. ينشئ /new جلسة OpenClaw جديدة، وينشئ مُشغّل Codex خيط خادم التطبيق الجانبي الخاص به أو يستأنفه حسب الحاجة. يمحو /reset ارتباط جلسة OpenClaw بذلك الخيط ويتيح للدورة التالية حل مُشغّل التشغيل من الإعدادات الحالية مرة أخرى.

اكتشاف النماذج

افتراضيًا، يطلب Plugin الخاص بـ Codex من خادم التطبيق النماذج المتاحة. إذا فشل الاكتشاف أو انتهت مهلته، يستخدم فهرسًا احتياطيًا مضمّنًا من أجل:

  • GPT-5.5
  • GPT-5.4 mini
  • GPT-5.2

يمكنك ضبط الاكتشاف ضمن plugins.entries.codex.config.discovery:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          discovery: {
            enabled: true,
            timeoutMs: 2500,
          },
        },
      },
    },
  },
}

عطّل الاكتشاف عندما تريد أن يتجنب بدء التشغيل فحص Codex وأن يلتزم بالفهرس الاحتياطي:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          discovery: {
            enabled: false,
          },
        },
      },
    },
  },
}

اتصال خادم التطبيق والسياسة

افتراضيًا، يبدأ Plugin ملف Codex الثنائي المُدار من OpenClaw محليًا باستخدام:

codex app-server --listen stdio://

يُشحن الملف الثنائي المُدار مع حزمة Plugin codex. يحافظ هذا على ربط إصدار خادم التطبيق بالـ Plugin المضمّن بدلًا من أي Codex CLI منفصل مثبت محليًا. اضبط appServer.command فقط عندما تريد عن قصد تشغيل ملف تنفيذي مختلف.

افتراضيًا، يبدأ OpenClaw جلسات مُشغّل Codex المحلية في وضع YOLO: approvalPolicy: "never" وapprovalsReviewer: "user" و sandbox: "danger-full-access". هذا هو وضع المشغل المحلي الموثوق المستخدم لـ Heartbeat المستقلة: يمكن لـ Codex استخدام أدوات الصدفة والشبكة من دون التوقف عند مطالبات الموافقة الأصلية التي لا يوجد أحد للإجابة عنها.

للاشتراك في موافقات Codex التي يراجعها الحارس، اضبط appServer.mode: "guardian":

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            mode: "guardian",
            serviceTier: "fast",
          },
        },
      },
    },
  },
}

يستخدم وضع الحارس مسار موافقة المراجعة التلقائية الأصلي في Codex. عندما يطلب Codex مغادرة صندوق العزل، أو الكتابة خارج مساحة العمل، أو إضافة أذونات مثل الوصول إلى الشبكة، يوجّه Codex طلب الموافقة ذلك إلى المراجع الأصلي بدلًا من مطالبة بشرية. يطبّق المراجع إطار مخاطر Codex ويوافق على الطلب المحدد أو يرفضه. استخدم الحارس عندما تريد ضوابط أكثر من وضع YOLO ولكنك لا تزال بحاجة إلى أن يتقدم الوكلاء غير الخاضعين للمراقبة.

يتوسع الإعداد المسبق guardian إلى approvalPolicy: "on-request" و approvalsReviewer: "auto_review" وsandbox: "workspace-write". لا تزال حقول السياسة الفردية تتجاوز mode، لذلك يمكن لعمليات النشر المتقدمة مزج الإعداد المسبق مع اختيارات صريحة. لا تزال قيمة المراجع الأقدم guardian_subagent مقبولة كاسم مستعار للتوافق، لكن ينبغي أن تستخدم الإعدادات الجديدة auto_review.

بالنسبة إلى خادم تطبيق قيد التشغيل بالفعل، استخدم نقل WebSocket:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            transport: "websocket",
            url: "ws://127.0.0.1:39175",
            authToken: "${CODEX_APP_SERVER_TOKEN}",
            requestTimeoutMs: 60000,
          },
        },
      },
    },
  },
}

ترث عمليات تشغيل خادم التطبيق عبر stdio بيئة عملية OpenClaw افتراضيًا، لكن OpenClaw يملك جسر حساب خادم تطبيق Codex ويضبط كلًا من CODEX_HOME وHOME على أدلة لكل وكيل ضمن حالة OpenClaw لذلك الوكيل. يقرأ محمّل Skills الخاص بـ Codex $CODEX_HOME/skills و$HOME/.agents/skills، لذلك تكون كلتا القيمتين معزولتين لعمليات تشغيل خادم التطبيق المحلية. يُبقي ذلك Skills وplugins والإعدادات والحسابات وحالة الخيط الأصلية في Codex ضمن نطاق وكيل OpenClaw بدلًا من تسربها من منزل Codex CLI الشخصي للمشغل.

لا تزال plugins الخاصة بـ OpenClaw ولقطات Skills الخاصة بـ OpenClaw تتدفق عبر سجل plugins ومحمّل Skills الخاصين بـ OpenClaw. أما أصول Codex CLI الشخصية فلا تفعل ذلك. إذا كانت لديك Skills أو plugins مفيدة في Codex CLI ينبغي أن تصبح جزءًا من وكيل OpenClaw، فاحصرها صراحةً:

openclaw migrate codex --dry-run
openclaw migrate apply codex --yes

ينسخ مزود ترحيل Codex‏ Skills إلى مساحة عمل وكيل OpenClaw الحالية. تُبلّغ plugins الأصلية في Codex والخطافات وملفات الإعداد أو تُؤرشف للمراجعة اليدوية بدلًا من تفعيلها تلقائيًا، لأنها يمكن أن تنفذ أوامر، أو تكشف خوادم MCP، أو تحمل بيانات اعتماد.

تُحدد المصادقة بهذا الترتيب:

  1. ملف تعريف مصادقة OpenClaw Codex صريح للوكيل.
  2. حساب خادم التطبيق الحالي في منزل Codex لذلك الوكيل.
  3. لعمليات تشغيل خادم التطبيق المحلية عبر stdio فقط، CODEX_API_KEY، ثم OPENAI_API_KEY، عندما لا يكون هناك حساب خادم تطبيق وكانت مصادقة OpenAI لا تزال مطلوبة.

عندما يرى OpenClaw ملف تعريف مصادقة Codex بنمط اشتراك ChatGPT، فإنه يزيل CODEX_API_KEY وOPENAI_API_KEY من عملية Codex الفرعية المنشأة. هذا يبقي مفاتيح API على مستوى Gateway متاحة للتضمينات أو نماذج OpenAI المباشرة من دون جعل دورات خادم تطبيق Codex الأصلي تُحاسب عبر API عن طريق الخطأ. تستخدم ملفات تعريف مفتاح API الصريحة لـ Codex والرجوع المحلي إلى مفتاح البيئة عبر stdio تسجيل دخول خادم التطبيق بدلا من بيئة العملية الفرعية الموروثة. اتصالات خادم التطبيق عبر WebSocket لا تتلقى رجوع مفتاح API من بيئة Gateway؛ استخدم ملف تعريف مصادقة صريحا أو حساب خادم التطبيق البعيد نفسه.

إذا كان النشر يحتاج إلى عزل إضافي للبيئة، فأضف تلك المتغيرات إلى appServer.clearEnv:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
          },
        },
      },
    },
  },
}

يؤثر appServer.clearEnv فقط في عملية خادم تطبيق Codex الفرعية المنشأة.

تستخدم أدوات Codex الديناميكية ملف التعريف native-first افتراضيا. في ذلك الوضع، لا يكشف OpenClaw الأدوات الديناميكية التي تكرر عمليات مساحة العمل الأصلية في Codex: read وwrite وedit وapply_patch وexec وprocess و update_plan. تبقى أدوات تكامل OpenClaw مثل المراسلة والجلسات والوسائط و cron والمتصفح والعقد وgateway وheartbeat_respond وweb_search متاحة.

حقول Codex Plugin العليا المدعومة:

الحقل الافتراضي المعنى
codexDynamicToolsProfile "native-first" استخدم "openclaw-compat" لكشف مجموعة أدوات OpenClaw الديناميكية الكاملة لخادم تطبيق Codex.
codexDynamicToolsExclude [] أسماء أدوات OpenClaw الديناميكية الإضافية المراد حذفها من دورات خادم تطبيق Codex.

حقول appServer المدعومة:

الحقل الافتراضي المعنى
transport "stdio" ينشئ "stdio" Codex؛ ويتصل "websocket" بـ url.
command ملف Codex الثنائي المدار الملف التنفيذي لنقل stdio. اتركه غير معين لاستخدام الملف الثنائي المدار؛ عينه فقط عند وجود تجاوز صريح.
args ["app-server", "--listen", "stdio://"] الوسائط لنقل stdio.
url غير معين عنوان URL لخادم التطبيق عبر WebSocket.
authToken غير معين رمز Bearer لنقل WebSocket.
headers {} ترويسات WebSocket إضافية.
clearEnv [] أسماء متغيرات البيئة الإضافية التي تزال من عملية خادم التطبيق المنشأة عبر stdio بعد أن يبني OpenClaw بيئته الموروثة. CODEX_HOME وHOME محجوزان لعزل Codex لكل وكيل في OpenClaw عند التشغيل المحلي.
requestTimeoutMs 60000 مهلة استدعاءات مستوى التحكم في خادم التطبيق.
mode "yolo" إعداد مسبق لتنفيذ YOLO أو التنفيذ الخاضع لمراجعة الحارس.
approvalPolicy "never" سياسة موافقة Codex الأصلية المرسلة إلى بدء/استئناف/دورة الخيط.
sandbox "danger-full-access" وضع صندوق رمل Codex الأصلي المرسل إلى بدء/استئناف الخيط.
approvalsReviewer "user" استخدم "auto_review" للسماح لـ Codex بمراجعة مطالبات الموافقة الأصلية. يبقى guardian_subagent اسما مستعارا قديما.
serviceTier غير معين مستوى خدمة خادم تطبيق Codex الاختياري: "fast" أو "flex" أو null. يتم تجاهل القيم القديمة غير الصالحة.

تكون استدعاءات الأدوات الديناميكية المملوكة لـ OpenClaw مقيدة بشكل مستقل عن appServer.requestTimeoutMs: يجب أن يتلقى كل طلب Codex من نوع item/tool/call استجابة OpenClaw خلال 30 ثانية. عند انتهاء المهلة، يجهض OpenClaw إشارة الأداة حيث يكون ذلك مدعوما، ويعيد استجابة أداة ديناميكية فاشلة إلى Codex حتى تستطيع الدورة المتابعة بدلا من ترك الجلسة في processing.

بعد أن يستجيب OpenClaw لطلب خادم تطبيق ضمن نطاق دورة Codex، يتوقع الحاضن أيضا أن ينهي Codex الدورة الأصلية باستخدام turn/completed. إذا بقي خادم التطبيق صامتا لمدة 60 ثانية بعد تلك الاستجابة، يقاطع OpenClaw دورة Codex بأفضل جهد، ويسجل مهلة تشخيصية، ويحرر مسار جلسة OpenClaw حتى لا تصطف رسائل الدردشة اللاحقة خلف دورة أصلية قديمة.

تبقى تجاوزات البيئة متاحة للاختبار المحلي:

  • OPENCLAW_CODEX_APP_SERVER_BIN
  • OPENCLAW_CODEX_APP_SERVER_ARGS
  • OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian
  • OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY
  • OPENCLAW_CODEX_APP_SERVER_SANDBOX

يتجاوز OPENCLAW_CODEX_APP_SERVER_BIN الملف الثنائي المدار عندما يكون appServer.command غير معين.

تمت إزالة OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1. استخدم plugins.entries.codex.config.appServer.mode: "guardian" بدلا من ذلك، أو OPENCLAW_CODEX_APP_SERVER_MODE=guardian للاختبار المحلي لمرة واحدة. يفضل الإعداد لعمليات النشر القابلة للتكرار لأنه يبقي سلوك Plugin في الملف المراجع نفسه مثل بقية إعداد حاضن Codex.

استخدام الحاسوب

يُغطى استخدام الحاسوب في دليل الإعداد الخاص به: استخدام الحاسوب في Codex.

الخلاصة: لا يضمن OpenClaw تطبيق التحكم بسطح المكتب ولا ينفذ إجراءات سطح المكتب بنفسه. إنه يجهز خادم تطبيق Codex، ويتحقق من أن خادم MCP computer-use متاح، ثم يترك Codex يتعامل مع استدعاءات أدوات MCP الأصلية أثناء دورات وضع Codex.

للوصول المباشر إلى برنامج تشغيل TryCua خارج مسار سوق Codex، سجل cua-driver mcp باستخدام openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'. راجع استخدام الحاسوب في Codex للتمييز بين استخدام الحاسوب المملوك لـ Codex وتسجيل MCP المباشر.

أدنى إعداد:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          computerUse: {
            autoInstall: true,
          },
        },
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
      agentRuntime: {
        id: "codex",
      },
    },
  },
}

يمكن فحص الإعداد أو تثبيته من سطح الأوامر:

  • /codex computer-use status
  • /codex computer-use install
  • /codex computer-use install --source <marketplace-source>
  • /codex computer-use install --marketplace-path <path>

استخدام الحاسوب خاص بـ macOS وقد يتطلب أذونات نظام تشغيل محلية قبل أن يتمكن خادم Codex MCP من التحكم في التطبيقات. إذا كان computerUse.enabled صحيحا وكان خادم MCP غير متاح، تفشل دورات وضع Codex قبل بدء الخيط بدلا من العمل بصمت من دون أدوات استخدام الحاسوب الأصلية. راجع استخدام الحاسوب في Codex لمعرفة خيارات السوق، وحدود الكتالوج البعيد، وأسباب الحالة، واستكشاف المشكلات وإصلاحها.

عندما يكون computerUse.autoInstall صحيحا، يستطيع OpenClaw تسجيل سوق Codex Desktop القياسي المضمن من /Applications/Codex.app/Contents/Resources/plugins/openai-bundled إذا لم يكتشف Codex سوقا محليا بعد. استخدم /new أو /reset بعد تغيير إعدادات وقت التشغيل أو استخدام الحاسوب حتى لا تحتفظ الجلسات القائمة بربط PI أو خيط Codex قديم.

وصفات شائعة

Codex محلي مع نقل stdio الافتراضي:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}

تحقق حاضن Codex فقط:

{
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
      agentRuntime: {
        id: "codex",
      },
    },
  },
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}

موافقات Codex الخاضعة لمراجعة الحارس:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            mode: "guardian",
            approvalPolicy: "on-request",
            approvalsReviewer: "auto_review",
            sandbox: "workspace-write",
          },
        },
      },
    },
  },
}

خادم تطبيق بعيد مع ترويسات صريحة:

{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            transport: "websocket",
            url: "ws://gateway-host:39175",
            headers: {
              "X-OpenClaw-Agent": "main",
            },
          },
        },
      },
    },
  },
}

يبقى تبديل النموذج تحت تحكم OpenClaw. عندما تكون جلسة OpenClaw مرتبطة بخيط Codex قائم، ترسل الدورة التالية نموذج OpenAI المحدد حاليا، والمزود، وسياسة الموافقة، وصندوق الرمل، ومستوى الخدمة إلى خادم التطبيق مرة أخرى. يحافظ التبديل من openai/gpt-5.5 إلى openai/gpt-5.2 على ربط الخيط، لكنه يطلب من Codex المتابعة بالنموذج المحدد حديثا.

أمر Codex

يسجل Plugin المضمن /codex كأمر شرطة مائلة مصرح به. إنه عام ويعمل على أي قناة تدعم أوامر OpenClaw النصية.

الصيغ الشائعة:

  • يعرض /codex status اتصال خادم التطبيق المباشر، والنماذج، والحساب، وحدود المعدل، وخوادم MCP، وSkills.
  • يسرد /codex models نماذج خادم تطبيق Codex المباشرة.
  • يسرد /codex threads [filter] سلاسل Codex الحديثة.
  • يربط /codex resume <thread-id> جلسة OpenClaw الحالية بسلسلة Codex موجودة.
  • يطلب /codex compact من خادم تطبيق Codex ضغط السلسلة المرفقة.
  • يبدأ /codex review المراجعة الأصلية في Codex للسلسلة المرفقة.
  • يطلب /codex diagnostics [note] التأكيد قبل إرسال ملاحظات تشخيص Codex للسلسلة المرفقة.
  • يتحقق /codex computer-use status من Plugin ‏Computer Use المكوّن وخادم MCP.
  • يثبّت /codex computer-use install ‏Plugin ‏Computer Use المكوّن ويعيد تحميل خوادم MCP.
  • يعرض /codex account حالة الحساب وحدود المعدل.
  • يسرد /codex mcp حالة خادم MCP في خادم تطبيق Codex.
  • يسرد /codex skills ‏Skills خادم تطبيق Codex.

عندما يبلّغ Codex عن فشل بسبب حد الاستخدام، يضمّن OpenClaw وقت إعادة التعيين التالي لخادم التطبيق عندما يوفّره Codex. استخدم /codex account في نفس المحادثة لفحص الحساب الحالي ونوافذ حدود المعدل.

سير عمل التصحيح الشائع

عندما يفعل وكيل مدعوم بـ Codex شيئًا غير متوقع في Telegram أو Discord أو Slack أو قناة أخرى، ابدأ بالمحادثة التي حدثت فيها المشكلة:

  1. شغّل /diagnostics bad tool choice after image upload أو ملاحظة قصيرة أخرى تصف ما رأيته.
  2. وافق على طلب التشخيص مرة واحدة. تنشئ الموافقة ملف التشخيص المضغوط المحلي لـ Gateway وبما أن الجلسة تستخدم حزام Codex، فإنها ترسل أيضًا حزمة ملاحظات Codex ذات الصلة إلى خوادم OpenAI.
  3. انسخ رد التشخيص المكتمل إلى تقرير الخطأ أو سلسلة الدعم. يتضمن مسار الحزمة المحلية، وملخص الخصوصية، ومعرّفات جلسات OpenClaw، ومعرّفات سلاسل Codex، وسطر Inspect locally لكل سلسلة Codex.
  4. إذا أردت تصحيح التشغيل بنفسك، فشغّل أمر Inspect locally المطبوع في الطرفية. يبدو مثل codex resume <thread-id> ويفتح سلسلة Codex الأصلية حتى تتمكن من فحص المحادثة، أو متابعتها محليًا، أو سؤال Codex عن سبب اختياره أداة أو خطة معينة.

استخدم /codex diagnostics [note] فقط عندما تريد تحديدًا رفع ملاحظات Codex للسلسلة المرفقة حاليًا بدون حزمة تشخيص OpenClaw Gateway الكاملة. بالنسبة إلى معظم تقارير الدعم، يكون /diagnostics [note] نقطة البداية الأفضل لأنه يربط حالة Gateway المحلية ومعرّفات سلاسل Codex معًا في رد واحد. راجع تصدير التشخيص للاطلاع على نموذج الخصوصية الكامل وسلوك الدردشة الجماعية.

يكشف OpenClaw الأساسي أيضًا الأمر /diagnostics [note] المخصص للمالكين فقط كأمر التشخيص العام لـ Gateway. تعرض مطالبة الموافقة الخاصة به تمهيد البيانات الحساسة، وتضع روابط إلى تصدير التشخيص، وتطلب openclaw gateway diagnostics export --json عبر موافقة تنفيذ صريحة في كل مرة. لا توافق على التشخيص بقاعدة سماح شاملة. بعد الموافقة، يرسل OpenClaw تقريرًا قابلًا للصق يتضمن مسار الحزمة المحلية وملخص البيان. عندما تستخدم جلسة OpenClaw النشطة حزام Codex، فإن نفس الموافقة تفوّض أيضًا إرسال حزم ملاحظات Codex ذات الصلة إلى خوادم OpenAI. تذكر مطالبة الموافقة أنه سيتم إرسال ملاحظات Codex، لكنها لا تسرد معرّفات جلسات Codex أو السلاسل قبل الموافقة.

إذا استدعى مالك /diagnostics في دردشة جماعية، يحافظ OpenClaw على نظافة القناة المشتركة: تتلقى المجموعة إشعارًا قصيرًا فقط، بينما تُرسل مقدمة التشخيص، ومطالبات الموافقة، ومعرّفات جلسات/سلاسل Codex إلى المالك عبر مسار الموافقة الخاص. إذا لم يوجد مسار مالك خاص، يرفض OpenClaw طلب المجموعة ويطلب من المالك تشغيله من رسالة مباشرة.

يستدعي رفع Codex المعتمد مسار feedback/upload في خادم تطبيق Codex ويطلب من خادم التطبيق تضمين السجلات لكل سلسلة مدرجة وسلاسل Codex الفرعية المنشأة عند توفرها. يمر الرفع عبر مسار الملاحظات العادي في Codex إلى خوادم OpenAI؛ إذا كانت ملاحظات Codex معطلة في خادم التطبيق ذاك، يعيد الأمر خطأ خادم التطبيق. يسرد رد التشخيص المكتمل القنوات، ومعرّفات جلسات OpenClaw، ومعرّفات سلاسل Codex، وأوامر codex resume <thread-id> المحلية للسلاسل التي أُرسلت. إذا رفضت الموافقة أو تجاهلتها، لا يطبع OpenClaw معرّفات Codex تلك. لا يستبدل هذا الرفع تصدير تشخيص Gateway المحلي.

يكتب /codex resume ملف الربط الجانبي نفسه الذي يستخدمه الحزام في الدورات العادية. في الرسالة التالية، يستأنف OpenClaw سلسلة Codex تلك، ويمرر نموذج OpenClaw المحدد حاليًا إلى خادم التطبيق، ويبقي السجل الموسّع مفعّلًا.

فحص سلسلة Codex من CLI

غالبًا ما تكون أسرع طريقة لفهم تشغيل Codex سيئ هي فتح سلسلة Codex الأصلية مباشرة:

codex resume <thread-id>

استخدم هذا عندما تلاحظ خطأ في محادثة قناة وتريد فحص جلسة Codex المسببة للمشكلة، أو متابعتها محليًا، أو سؤال Codex عن سبب اتخاذه اختيارًا معينًا للأداة أو الاستدلال. عادةً ما يكون أسهل مسار هو تشغيل /diagnostics [note] أولًا: بعد الموافقة عليه، يسرد التقرير المكتمل كل سلسلة Codex ويطبع أمر Inspect locally، مثل codex resume <thread-id>. يمكنك نسخ ذلك الأمر مباشرة إلى الطرفية.

يمكنك أيضًا الحصول على معرّف سلسلة من /codex binding للدردشة الحالية أو /codex threads [filter] لسلاسل خادم تطبيق Codex الحديثة، ثم تشغيل أمر codex resume نفسه في الصدفة.

يتطلب سطح الأوامر خادم تطبيق Codex بالإصدار 0.125.0 أو أحدث. تُعرض طرق التحكم الفردية على أنها unsupported by this Codex app-server إذا كان خادم تطبيق مستقبلي أو مخصص لا يكشف طريقة JSON-RPC تلك.

حدود الخطافات

يحتوي حزام Codex على ثلاث طبقات خطافات:

الطبقة المالك الغرض
خطافات Plugin في OpenClaw OpenClaw توافق المنتج/Plugin عبر أحزمة PI وCodex.
وسيط امتداد خادم تطبيق Codex Plugins المضمنة في OpenClaw سلوك المحوّل لكل دورة حول أدوات OpenClaw الديناميكية.
خطافات Codex الأصلية Codex دورة حياة Codex منخفضة المستوى وسياسة الأدوات الأصلية من إعدادات Codex.

لا يستخدم OpenClaw ملفات hooks.json الخاصة بالمشروع أو العامة في Codex لتوجيه سلوك Plugin في OpenClaw. بالنسبة إلى جسر الأداة الأصلية والأذونات المدعوم، يحقن OpenClaw إعدادات Codex لكل سلسلة لـ PreToolUse وPostToolUse وPermissionRequest وStop. عندما تكون موافقات خادم تطبيق Codex مفعّلة (approvalPolicy ليست "never")، يحذف إعداد الخطاف الأصلي الافتراضي المحقون PermissionRequest حتى يتولى مراجع خادم تطبيق Codex وجسر موافقات OpenClaw معالجة التصعيدات الحقيقية بعد المراجعة. لا يزال بإمكان المشغلين إضافة permission_request صراحةً إلى nativeHookRelay.events عندما يحتاجون إلى مرحّل التوافق. تبقى خطافات Codex الأخرى مثل SessionStart وUserPromptSubmit عناصر تحكم على مستوى Codex؛ ولا تُكشف كخطافات Plugin في OpenClaw ضمن عقد v1.

بالنسبة إلى أدوات OpenClaw الديناميكية، ينفذ OpenClaw الأداة بعد أن يطلب Codex الاستدعاء، ولذلك يشغّل OpenClaw سلوك Plugin والوسيط الذي يملكه في محوّل الحزام. بالنسبة إلى أدوات Codex الأصلية، يملك Codex سجل الأداة الرسمي. يمكن لـ OpenClaw عكس أحداث مختارة، لكنه لا يستطيع إعادة كتابة سلسلة Codex الأصلية ما لم يكشف Codex تلك العملية عبر خادم التطبيق أو استدعاءات الخطاف الأصلية.

تأتي إسقاطات Compaction ودورة حياة LLM من إشعارات خادم تطبيق Codex وحالة محوّل OpenClaw، وليس من أوامر خطاف Codex الأصلية. أحداث OpenClaw وهي before_compaction وafter_compaction وllm_input و llm_output هي ملاحظات على مستوى المحوّل، وليست لقطات حرفية لطلب Codex الداخلي أو حمولات Compaction.

تُسقط إشعارات خادم تطبيق Codex الأصلية hook/started وhook/completed كأحداث وكيل codex_app_server.hook للمسار والتصحيح. إنها لا تستدعي خطافات Plugin في OpenClaw.

عقد دعم V1

وضع Codex ليس PI مع استدعاء نموذج مختلف في الأسفل. يملك Codex جزءًا أكبر من حلقة النموذج الأصلية، ويوائم OpenClaw أسطح Plugin والجلسة الخاصة به حول ذلك الحد.

مدعوم في وقت تشغيل Codex v1:

السطح الدعم السبب
حلقة نموذج OpenAI عبر Codex مدعوم يمتلك خادم تطبيق Codex دور OpenAI، واستئناف سلسلة المحادثة الأصلية، ومتابعة الأدوات الأصلية.
توجيه قنوات OpenClaw وتسليمها مدعوم تبقى Telegram وDiscord وSlack وWhatsApp وiMessage والقنوات الأخرى خارج وقت تشغيل النموذج.
أدوات OpenClaw الديناميكية مدعوم يطلب Codex من OpenClaw تنفيذ هذه الأدوات، لذلك يبقى OpenClaw ضمن مسار التنفيذ.
Plugins المطالبات والسياق مدعوم يبني OpenClaw طبقات المطالبات ويسقط السياق في دور Codex قبل بدء سلسلة المحادثة أو استئنافها.
دورة حياة محرك السياق مدعوم تعمل عمليات التجميع، أو الاستيعاب، أو صيانة ما بعد الدور، وتنسيق Compaction لمحرك السياق لأدوار Codex.
خطافات الأدوات الديناميكية مدعوم تعمل before_tool_call وafter_tool_call والبرمجيات الوسيطة لنتائج الأدوات حول الأدوات الديناميكية المملوكة لـ OpenClaw.
خطافات دورة الحياة مدعوم كملاحظات للمحوّل تنطلق llm_input وllm_output وagent_end وbefore_compaction وafter_compaction بحمولات صادقة لوضع Codex.
بوابة مراجعة الإجابة النهائية مدعوم عبر ترحيل الخطاف الأصلي يتم ترحيل Codex Stop إلى before_agent_finalize؛ ويطلب revise من Codex مرور نموذج إضافيًا قبل الإنهاء.
حظر أو مراقبة الصدفة الأصلية، والرقع، وMCP مدعوم عبر ترحيل الخطاف الأصلي يتم ترحيل Codex PreToolUse وPostToolUse لأسطح الأدوات الأصلية المعتمدة، بما في ذلك حمولات MCP على خادم تطبيق Codex 0.125.0 أو أحدث. الحظر مدعوم؛ أما إعادة كتابة الوسائط فليست مدعومة.
سياسة الأذونات الأصلية مدعوم عبر موافقات خادم تطبيق Codex وترحيل الخطاف الأصلي للتوافق تمر طلبات موافقة خادم تطبيق Codex عبر OpenClaw بعد مراجعة Codex. ترحيل الخطاف الأصلي PermissionRequest اختياري لأوضاع الموافقة الأصلية لأن Codex يرسله قبل مراجعة الحارس.
التقاط مسار خادم التطبيق مدعوم يسجل OpenClaw الطلب الذي أرسله إلى خادم التطبيق وإشعارات خادم التطبيق التي يتلقاها.

غير مدعوم في وقت تشغيل Codex v1:

السطح حد V1 المسار المستقبلي
تعديل وسائط الأدوات الأصلية يمكن لخطافات Codex الأصلية قبل الأداة أن تحظر، لكن OpenClaw لا يعيد كتابة وسائط أدوات Codex الأصلية. يتطلب دعم خطافات/مخطط Codex لاستبدال إدخال الأداة.
سجل محادثة Codex الأصلي القابل للتحرير يمتلك Codex سجل سلسلة المحادثة الأصلي المعياري. يمتلك OpenClaw مرآة ويمكنه إسقاط سياق مستقبلي، لكن يجب ألا يغيّر الأجزاء الداخلية غير المدعومة. أضف واجهات API صريحة لخادم تطبيق Codex إذا كانت جراحة سلسلة المحادثة الأصلية مطلوبة.
tool_result_persist لسجلات أدوات Codex الأصلية يحوّل ذلك الخطاف كتابات سجل المحادثة المملوكة لـ OpenClaw، لا سجلات أدوات Codex الأصلية. يمكن عكس السجلات المحوّلة، لكن إعادة الكتابة المعيارية تحتاج إلى دعم Codex.
بيانات وصفية غنية لـ Compaction الأصلي يراقب OpenClaw بدء Compaction واكتماله، لكنه لا يتلقى قائمة ثابتة بما تم الاحتفاظ به/إسقاطه، أو فرق الرموز، أو حمولة ملخص. يحتاج إلى أحداث Compaction أكثر ثراءً من Codex.
التدخل في Compaction خطافات Compaction الحالية في OpenClaw هي على مستوى الإشعار في وضع Codex. أضف خطافات Codex قبل/بعد Compaction إذا احتاجت plugins إلى رفض Compaction الأصلي أو إعادة كتابته.
التقاط طلب API النموذج حرفيًا يمكن لـ OpenClaw التقاط طلبات خادم التطبيق والإشعارات، لكن نواة Codex تبني طلب OpenAI API النهائي داخليًا. يحتاج إلى حدث تتبع لطلب نموذج Codex أو API تصحيح.

الأدوات والوسائط وCompaction

يغيّر حاضن Codex منفّذ الوكيل المضمّن منخفض المستوى فقط.

لا يزال OpenClaw يبني قائمة الأدوات ويتلقى نتائج الأدوات الديناميكية من الحاضن. تستمر النصوص والصور والفيديو والموسيقى وTTS والموافقات ومخرجات أدوات المراسلة عبر مسار التسليم العادي في OpenClaw.

ترحيل الخطاف الأصلي عام عمدًا، لكن عقد دعم v1 محدود بمسارات أدوات Codex الأصلية والأذونات التي يختبرها OpenClaw. في وقت تشغيل Codex، يشمل ذلك حمولات الصدفة والرقع وMCP PreToolUse، وPostToolUse، وPermissionRequest. لا تفترض أن كل حدث خطاف مستقبلي في Codex هو سطح Plugin في OpenClaw إلى أن يسميه عقد وقت التشغيل.

بالنسبة إلى PermissionRequest، لا يعيد OpenClaw إلا قرارات السماح أو الرفض الصريحة عندما تقرر السياسة. النتيجة بلا قرار ليست سماحًا. يتعامل Codex معها كعدم وجود قرار خطاف وينتقل إلى مساره الخاص للحارس أو موافقة المستخدم. تحذف أوضاع موافقة خادم تطبيق Codex هذا الخطاف الأصلي افتراضيًا؛ تنطبق هذه الفقرة عندما يتم تضمين permission_request صراحة في nativeHookRelay.events أو عندما يثبته وقت تشغيل للتوافق. عندما يختار مشغّل allow-always لطلب إذن أصلي في Codex، يتذكر OpenClaw البصمة الدقيقة لذلك المزوّد/الجلسة/إدخال الأداة/cwd ضمن نافذة جلسة محدودة. القرار المتذكّر هو مطابقة دقيقة فقط عمدًا: أي تغيير في الأمر أو الوسائط أو حمولة الأداة أو cwd ينشئ موافقة جديدة.

يتم توجيه طلبات استجلاب موافقة أدوات Codex MCP عبر تدفق موافقات plugins في OpenClaw عندما يحدد Codex أن _meta.codex_approval_kind هو "mcp_tool_call". تُعاد مطالبات Codex request_user_input إلى الدردشة الأصلية، وتجيب رسالة المتابعة التالية في الطابور على طلب الخادم الأصلي ذلك بدلًا من توجيهها كسياق إضافي. تفشل طلبات استجلاب MCP الأخرى مغلقة.

يتطابق توجيه طابور التشغيل النشط مع turn/steer في خادم تطبيق Codex. مع الإعداد الافتراضي messages.queue.mode: "steer"، يجمع OpenClaw رسائل الدردشة الموضوعة في الطابور خلال نافذة الهدوء المكوّنة ويرسلها كطلب turn/steer واحد بترتيب وصولها. يرسل وضع queue القديم طلبات turn/steer منفصلة. يمكن أن ترفض مراجعة Codex وأدوار Compaction اليدوية التوجيه في الدور نفسه، وفي هذه الحالة يستخدم OpenClaw طابور المتابعة عندما يسمح الوضع المحدد بالرجوع. راجع طابور التوجيه.

عندما يستخدم النموذج المحدد حاضن Codex، يتم تفويض Compaction سلسلة المحادثة الأصلية إلى خادم تطبيق Codex. يحتفظ OpenClaw بمرآة لسجل المحادثة من أجل سجل القناة، والبحث، و/new، و/reset، وتبديل النموذج أو الحاضن مستقبلًا. تتضمن المرآة مطالبة المستخدم، ونص المساعد النهائي، وسجلات تفكير أو خطة Codex الخفيفة عندما يصدرها خادم التطبيق. اليوم، لا يسجل OpenClaw إلا إشارات بدء Compaction الأصلي واكتماله. ولا يعرّض حتى الآن ملخص Compaction قابلًا للقراءة البشرية أو قائمة قابلة للتدقيق بالإدخالات التي أبقاها Codex بعد Compaction.

لأن Codex يمتلك سلسلة المحادثة الأصلية المعيارية، فإن tool_result_persist لا يعيد حاليًا كتابة سجلات نتائج أدوات Codex الأصلية. ينطبق فقط عندما يكتب OpenClaw نتيجة أداة في سجل جلسة مملوك لـ OpenClaw.

لا يتطلب توليد الوسائط PI. تستمر الصور والفيديو والموسيقى وPDF وTTS وفهم الوسائط في استخدام إعدادات المزوّد/النموذج المطابقة مثل agents.defaults.imageGenerationModel وvideoGenerationModel وpdfModel و messages.tts.

استكشاف الأخطاء وإصلاحها

لا يظهر Codex كمزوّد /model عادي: هذا متوقع في الإعدادات الجديدة. اختر نموذج openai/gpt-* مع agentRuntime.id: "codex" (أو مرجع codex/* قديم)، وفعّل plugins.entries.codex.enabled، وتحقق مما إذا كان plugins.allow يستبعد codex.

يستخدم OpenClaw PI بدلًا من Codex: لا يزال بإمكان agentRuntime.id: "auto" استخدام PI كخلفية توافق عندما لا يطالب أي حاضن Codex بالتشغيل. عيّن agentRuntime.id: "codex" لفرض اختيار Codex أثناء الاختبار. يفشل وقت تشغيل Codex المفروض بدلًا من الرجوع إلى PI. بمجرد اختيار خادم تطبيق Codex، تظهر إخفاقاته مباشرة.

يتم رفض خادم التطبيق: قم بترقية Codex بحيث تبلغ مصافحة خادم التطبيق عن الإصدار 0.125.0 أو أحدث. تُرفض إصدارات ما قبل الإصدار من نفس الإصدار أو الإصدارات ذات لاحقة البناء مثل 0.125.0-alpha.2 أو 0.125.0+custom لأن حد بروتوكول 0.125.0 المستقر هو ما يختبره OpenClaw.

اكتشاف النماذج بطيء: خفّض plugins.entries.codex.config.discovery.timeoutMs أو عطّل الاكتشاف.

يفشل نقل WebSocket فورًا: تحقق من appServer.url وauthToken وأن خادم التطبيق البعيد يتحدث إصدار بروتوكول خادم تطبيق Codex نفسه.

يستخدم نموذج غير Codex ‏PI: هذا متوقع ما لم تفرض agentRuntime.id: "codex" لذلك الوكيل أو تختار مرجع codex/* قديمًا. تبقى مراجع openai/gpt-* العادية ومراجع المزوّدين الآخرين على مسار المزوّد الطبيعي في وضع auto. إذا فرضت agentRuntime.id: "codex"، فيجب أن يكون كل دور مضمّن لذلك الوكيل نموذج OpenAI مدعومًا من Codex.

Computer Use مثبت لكن الأدوات لا تعمل: تحقّق من /codex computer-use status من جلسة جديدة. إذا أبلغت أداة عن Native hook relay unavailable، فاستخدم /new أو /reset؛ وإذا استمر ذلك، فأعد تشغيل Gateway لمسح تسجيلات الخطافات الأصلية القديمة. إذا انتهت مهلة computer-use.list_apps، فأعد تشغيل Codex Computer Use أو Codex Desktop ثم أعد المحاولة.

ذات صلة