Codex harness

وقت تشغيل حزمة Codex

توثق هذه الصفحة عقد التشغيل لدورات Codex harness. للإعداد والتوجيه، ابدأ بـ Codex harness. ولحقول الإعدادات، راجع مرجع Codex harness.

نظرة عامة

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

ما زال OpenClaw يملك توجيه القنوات، وملفات الجلسات، وتسليم الرسائل المرئية، وأدوات OpenClaw الديناميكية، والموافقات، وتسليم الوسائط، ونسخة مرآة للنص الكامل. ويملك Codex الخيط الأصلي المعياري، وحلقة النموذج الأصلية، واستكمال الأدوات الأصلي، وCompaction الأصلي.

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

يحافظ Codex الأصلي على تعليمات القاعدة/النموذج وسلوك مستندات المشروع المملوكة لـ Codex وفقا لإعداد خيط Codex النشط. يبدأ OpenClaw ويستأنف خيوط Codex الأصلية مع تعطيل الشخصية المدمجة في Codex حتى تبقى ملفات شخصية مساحة العمل وهوية وكيل OpenClaw هي المرجع. ما زالت تشغيلات OpenClaw الخفيفة تحافظ على كبت مستندات المشروع الموجود لديها. تغطي تعليمات مطور OpenClaw اهتمامات وقت تشغيل OpenClaw مثل تسليم قناة المصدر، وأدوات OpenClaw الديناميكية، وتفويض ACP، وسياق المحول، وملفات ملف تعريف مساحة عمل الوكيل النشط. تُعرض كتالوجات Skills في OpenClaw ومؤشرات MEMORY.md الموجهة عبر الأدوات كتعليمات مطور تعاونية محددة بنطاق الدورة لـ Codex الأصلي. وما زال محتوى BOOTSTRAP.md النشط وحقن الاحتياطي الكامل لـ MEMORY.md يستخدمان سياق مراجع إدخال الدورة.

ارتباطات الخيوط وتغييرات النموذج

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

الردود المرئية وHeartbeats

عند تشغيل دورة دردشة مباشرة/مصدرية عبر Codex harness، تكون الردود المرئية افتراضيا تسليما تلقائيا لرد المساعد النهائي لأسطح WebChat الداخلية. يحافظ هذا على اتساق Codex مع عقد مطالبة Pi harness: يرد الوكلاء بشكل طبيعي، وينشر OpenClaw النص النهائي إلى محادثة المصدر. عيّن messages.visibleReplies: "message_tool" عندما يجب أن تبقي دردشة مباشرة/مصدرية نص المساعد النهائي خاصا عمدا ما لم يستدع الوكيل message(action="send").

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

تُرسل إرشادات المبادرة الخاصة بـ Heartbeat كتعليمة مطور في وضع التعاون في Codex على دورة Heartbeat نفسها. تعيد دورات الدردشة العادية وضع Codex Default بدلا من حمل فلسفة Heartbeat في مطالبة وقت التشغيل العادية. عند وجود ملف HEARTBEAT.md غير فارغ، توجه تعليمات وضع التعاون الخاصة بـ Heartbeat في Codex نحو الملف بدلا من تضمين محتوياته مباشرة.

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

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

الطبقة المالك الغرض
خطافات Plugin في OpenClaw OpenClaw توافق المنتج/Plugin عبر OpenClaw وCodex harnesses.
وسيط امتداد خادم تطبيق Codex إضافات 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 والوسيط الذي يملكه في محول harness. أما بالنسبة إلى أدوات Codex الأصلية، فيملك Codex سجل الأداة المعياري. يمكن لـ OpenClaw عكس أحداث محددة، لكنه لا يستطيع إعادة كتابة خيط Codex الأصلي ما لم يكشف Codex تلك العملية عبر خادم التطبيق أو استدعاءات الخطافات الأصلية.

تؤجل أحداث PreToolUse في وضع تقرير خادم تطبيق Codex طلبات موافقة Plugin إلى موافقة خادم التطبيق المطابقة. إذا أعاد خطاف OpenClaw before_tool_call القيمة requireApproval بينما تحدد الحمولة الأصلية وضع موافقة التقرير (openclaw_approval_mode هو "report")، يسجل مرحل الخطاف الأصلي متطلب موافقة Plugin ولا يعيد أي قرار أصلي. عندما يرسل Codex طلب موافقة خادم التطبيق لاستخدام الأداة نفسه، يفتح OpenClaw مطالبة موافقة Plugin ويطابق القرار مرة أخرى مع Codex. أحداث PermissionRequest في Codex هي مسار موافقة منفصل، وما زال بإمكانها التوجيه عبر موافقات OpenClaw عندما يكون وقت التشغيل مضبوطا لذلك الجسر.

توفر إشعارات عناصر خادم تطبيق Codex أيضا ملاحظات after_tool_call غير متزامنة لإكمالات الأدوات الأصلية التي لا يغطيها مرحل PostToolUse الأصلي مسبقا. هذه الملاحظات للقياس عن بعد وتوافق Plugin فقط؛ ولا يمكنها حظر استدعاء الأداة الأصلي أو تأخيره أو تعديله.

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

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

عقد دعم V1

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

السطح الدعم السبب
حلقة نموذج OpenAI عبر Codex مدعوم يتولى خادم تطبيق Codex دورة OpenAI، واستئناف السلسلة الأصلي، ومتابعة الأدوات الأصلية.
توجيه قنوات OpenClaw وتسليمها مدعوم تبقى Telegram وDiscord وSlack وWhatsApp وiMessage والقنوات الأخرى خارج وقت تشغيل النموذج.
أدوات OpenClaw الديناميكية مدعوم يطلب Codex من OpenClaw تنفيذ هذه الأدوات، لذلك يبقى OpenClaw ضمن مسار التنفيذ.
Plugins الموجه والسياق مدعوم يسقط OpenClaw الموجه/السياق الخاص بـ OpenClaw في دورة Codex مع إبقاء موجهات الأساس والنموذج ومستندات المشروع المهيأة التي يملكها Codex في مسار Codex الأصلي. يعطل OpenClaw الشخصية المضمنة في Codex للسلاسل الأصلية حتى تظل ملفات شخصية مساحة عمل الوكيل هي المرجع. تقبل تعليمات مطور Codex الأصلية إرشادات الأوامر المحددة صراحة ضمن نطاق codex_app_server فقط؛ وتبقى تلميحات الأوامر العامة القديمة لأسطح الموجه غير الخاصة بـ Codex.
دورة حياة محرك السياق مدعوم يعمل التجميع والإدخال والصيانة بعد الدورة حول دورات Codex. لا تستبدل محركات السياق Compaction الأصلي في Codex.
خطافات الأدوات الديناميكية مدعوم تعمل before_tool_call وafter_tool_call والبرمجيات الوسيطة لنتائج الأدوات حول الأدوات الديناميكية التي يملكها OpenClaw.
خطافات دورة الحياة مدعوم كملاحظات محول يتم إطلاق llm_input وllm_output وagent_end وbefore_compaction وafter_compaction مع حمولات صادقة لوضع Codex.
بوابة مراجعة الإجابة النهائية مدعوم عبر ترحيل الخطاف الأصلي يتم ترحيل Stop في Codex إلى before_agent_finalize؛ ويطلب revise من Codex إجراء مرور نموذج إضافي قبل الإنهاء.
الحظر أو الملاحظة للقشرة الأصلية والتصحيح وMCP مدعوم عبر ترحيل الخطاف الأصلي يتم ترحيل PreToolUse وPostToolUse في Codex لأسطح الأدوات الأصلية الملتزم بها، بما في ذلك حمولات 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 لا يسمح OpenClaw للـ Plugins أو محركات السياق برفض Compaction الأصلي في Codex أو إعادة كتابته أو استبداله. أضف خطافات ما قبل/بعد Compaction في Codex إذا احتاجت Plugins إلى رفض Compaction الأصلي أو إعادة كتابته.
التقاط طلب API النموذج بايت مقابل بايت يستطيع OpenClaw التقاط طلبات خادم التطبيق والإشعارات، لكن نواة Codex تبني طلب OpenAI API النهائي داخليا. يحتاج إلى حدث تتبع طلب النموذج في Codex أو API تصحيح أخطاء.

الأذونات الأصلية واستدعاءات MCP

بالنسبة إلى PermissionRequest، يعيد OpenClaw قرارات السماح أو الرفض الصريحة فقط عندما تقرر السياسة ذلك. نتيجة عدم وجود قرار ليست سماحا. يعاملها Codex على أنها عدم وجود قرار خطاف ويتابع إلى مسار الحارس الخاص به أو موافقة المستخدم.

تحذف أوضاع موافقة خادم تطبيق Codex هذا الخطاف الأصلي افتراضيا. ينطبق هذا السلوك عندما يتم تضمين permission_request صراحة في nativeHookRelay.events أو عندما يثبته وقت تشغيل توافق.

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

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

للاطلاع على تدفق موافقات Plugin العام الذي يحمل هذه المطالبات، راجع طلبات أذونات Plugin.

توجيه الطابور

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

يمكن أن ترفض مراجعة Codex وأدوار Compaction اليدوية التوجيه في الدور نفسه. في هذه الحالة، ينتظر OpenClaw انتهاء التشغيل النشط قبل بدء الموجّه. استخدم /queue followup أو /queue collect عندما ينبغي للرسائل أن تدخل قائمة الانتظار افتراضيًا بدلًا من التوجيه. راجع قائمة انتظار التوجيه.

رفع ملاحظات Codex

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

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

إذا رفضت الموافقة أو تجاهلتها، لا يطبع OpenClaw معرّفات Codex تلك ولا يرسل ملاحظات Codex. لا يستبدل الرفع تصدير تشخيصات Gateway المحلي. راجع تصدير التشخيصات لمعرفة سلوك الموافقة والخصوصية والحزمة المحلية والدردشة الجماعية.

استخدم /codex diagnostics [note] فقط عندما تريد تحديدًا رفع ملاحظات Codex للسلسلة المرفقة حاليًا من دون حزمة تشخيصات Gateway الكاملة.

Compaction ومرآة النص

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

تبدأ طلبات Compaction الصريحة، مثل /compact أو عملية compact يدوية يطلبها Plugin، تشغيل Compaction الأصلية في Codex باستخدام thread/compact/start. يعود OpenClaw بعد بدء تلك العملية الأصلية. ولا ينتظر اكتمالها، ولا يفرض مهلة OpenClaw منفصلة، ولا يعيد تشغيل خادم تطبيق Codex المشترك، ولا يسجل العملية على أنها Compaction مكتملة بواسطة OpenClaw.

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

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

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

الوسائط والتسليم

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

تستمر النصوص والصور والفيديو والموسيقى وTTS والموافقات ومخرجات أدوات المراسلة عبر مسار تسليم OpenClaw المعتاد. لا يتطلب توليد الوسائط وقت التشغيل القديم. عندما يصدر Codex عنصر توليد صور أصليًا يحتوي على savedPath، يمرر OpenClaw ذلك الملف نفسه عبر مسار وسائط الرد المعتاد حتى إذا لم يكن دور Codex يحتوي على نص مساعد.

ذو صلة

Was this useful?
On this page

On this page