Codex harness

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

عقد وقت التشغيل لأدوار حاضنة Codex. للإعداد والتوجيه، راجع حاضنة Codex. ولحقول الإعداد، راجع مرجع حاضنة Codex.

نظرة عامة

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

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

يبدأ OpenClaw سلاسل Codex الأصلية ويستأنفها مع تعطيل الشخصية المضمّنة في Codex (personality: "none")، بحيث تظل ملفات شخصية مساحة العمل وهوية وكيل OpenClaw هي المرجع المعتمد. بخلاف ذلك، يحتفظ Codex الأصلي بتعليمات الأساس/النموذج المملوكة لـ Codex وتحميل مستندات المشروع. وتستمر عمليات OpenClaw الخفيفة (مثل cron) في منع تحميل مستندات المشروع.

تغطي تعليمات مطوّر OpenClaw اهتمامات وقت تشغيل OpenClaw: التسليم عبر القناة المصدر، وأدوات OpenClaw الديناميكية، وتفويض ACP، وسياق المهايئ، وملفات ملف تعريف مساحة عمل الوكيل النشط. وتُعرض كتالوجات Skills ومؤشرات MEMORY.md الموجّهة عبر الأدوات على هيئة تعليمات مطوّر للتعاون ضمن نطاق الدور. وعندما لا تتوفر أدوات الذاكرة، يُستخدم محتوى BOOTSTRAP.md النشط وملف MEMORY.md الكامل بديلًا كسياق إدخال نصي عادي للدور.

تستخدم معظم أدوات OpenClaw الديناميكية نطاق الأسماء القابل للبحث openclaw. أما الأدوات الموسومة بـ catalogMode: "direct-only" فتستخدم openclaw_direct، الذي يبقيه Codex مرئيًا للنموذج مباشرةً بوصفه DirectModelOnly بدلًا من إتاحته للتنفيذ المتداخل في وضع البرمجة.

ارتباطات سلاسل المحادثات وتغييرات النموذج

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

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

الإشراف والمتابعة الآمنة

إشراف Codex هو إمكانية اختيارية ضمن Plugin codex نفسه. يكتشف السلاسل الأصلية عبر اتصال منفصل، ولا يعرض في كتالوج Gateway سوى الجلسات غير المؤرشفة. وفي غياب إعدادات اتصال appServer الصريحة، يستخدم ذلك الاتصال الإدخال/الإخراج القياسي المُدار في المجلد الرئيسي للمستخدم، بينما تظل الحاضنة العادية ضمن نطاق الوكيل. تكون قراءات القوائم والبيانات الوصفية سلبية: فهي لا تستأنف سلسلة، ولا تشترك بـ OpenClaw في أحداثها المباشرة، ولا تجيب عن موافقاتها.

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

يظل المصدر الأصلي في CLI أو VS Code مؤهلًا للظهور في كلا الكتالوجين. الفرع المرجعي هو سلسلة Codex أصلية، لكن نوع مصدره هو appServer؛ وقد ترشّح البرامج العميلة الأصلية نوع المصدر هذا، لذلك لا يُضمن ظهوره في Codex Desktop.

لا يمكن للمصادر النشطة بدء فرع جديد أو أن تُؤرشف؛ ومع ذلك، يمكن فتح محادثة خاضعة للإشراف موجودة. تعني notLoaded أن النشاط غير معروف، لا أن المصدر خامل؛ ولا يسمح OpenClaw بالأرشفة لصف محلي حالته idle أو notLoaded إلا بعد تأكيد صريح بعدم وجود مشغّل آخر وقراءة حديثة للحالة محليًا داخل العملية. يسلسل Codex تغييرات سلاسل المحادثات داخل عملية واحدة لخادم التطبيق، لكنه لا يوفر عقد إيجار حصريًا لمشغّل أو مالك موافقات عبر العمليات، لذلك لا يمكن لتلك القراءة إثبات أن عملية أخرى لا تستخدم السلسلة. يحظر OpenClaw مالك ارتباط معروفًا نشطًا للهدف نفسه أو لأي سليل غير مؤرشف ناتج تُعيده استعلامات Codex المُرقّمة للنسل. تؤدي أخطاء التعداد، والدورات، واستنفاد حدود الأمان إلى الإغلاق الآمن. مع ذلك، قد تتسابق الأرشفة الأصلية مع دور جديد في عملية أخرى، لذلك يشمل التأكيد البرامج العميلة غير المعروفة والفجوة بين قراءة الحالة والأرشفة. ولا يمكن حذف محادثة خاضعة للإشراف ومقفلة على النموذج ما دامت تحمي الارتباط الأصلي.

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

راجع إشراف Codex للاطلاع على إعداد المشغّل والسلوك المرئي لواجهة التحكم.

الردود المرئية ونبضات Heartbeat

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

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

حدود نقاط الربط

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

لا يستخدم OpenClaw ملفات hooks.json الخاصة بالمشروع أو العامة في Codex لتوجيه سلوك Plugin. وبالنسبة إلى جسر الأدوات الأصلية والأذونات، يحقن OpenClaw إعداد Codex لكل سلسلة من أجل PreToolUse وPostToolUse وPermissionRequest وStop.

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

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

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

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

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

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

عقد دعم الإصدار الأول

المدعوم في وقت تشغيل Codex بالإصدار الأول:

السطح الدعم السبب
حلقة نموذج OpenAI عبر Codex مدعوم يمتلك خادم تطبيق Codex دورة OpenAI، والاستئناف الأصلي للسلسلة، والمتابعة الأصلية للأداة.
توجيه قنوات OpenClaw والتسليم مدعوم تظل Telegram وDiscord وSlack وWhatsApp وiMessage والقنوات الأخرى خارج وقت تشغيل النموذج.
أدوات OpenClaw الديناميكية مدعوم يطلب Codex من OpenClaw تنفيذ هذه الأدوات، لذا يظل 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.142.0 أو أحدث. الحظر مدعوم، أما إعادة كتابة الوسيطات فغير مدعومة.
سياسة الأذونات الأصلية مدعومة عبر موافقات خادم تطبيق Codex وترحيل الخطاف الأصلي للتوافق تمر طلبات موافقة خادم تطبيق Codex عبر OpenClaw بعد مراجعة Codex. ويكون ترحيل الخطاف الأصلي PermissionRequest اختياريًا لأوضاع الموافقة الأصلية، لأن Codex يصدره قبل مراجعة الحارس.
التقاط مسار خادم التطبيق مدعوم يسجّل OpenClaw الطلب الذي أرسله إلى خادم التطبيق والإشعارات التي يتلقاها منه.

غير مدعوم في الإصدار 1 من وقت تشغيل Codex:

السطح حدود الإصدار 1 المسار المستقبلي
تعديل وسيطات الأدوات الأصلية يمكن لخطافات ما قبل الأداة الأصلية في Codex الحظر، لكن OpenClaw لا يعيد كتابة وسيطات أدوات Codex الأصلية. يتطلب دعم خطافات/مخطط Codex لاستبدال مدخلات الأداة.
سجل نصي أصلي قابل للتحرير في Codex يمتلك Codex السجل الأساسي للسلسلة الأصلية. ويمتلك OpenClaw نسخة مرآة ويمكنه إسقاط سياق مستقبلي، لكن ينبغي ألا يعدّل الأجزاء الداخلية غير المدعومة. أضف واجهات API صريحة لخادم تطبيق Codex إذا لزم تعديل السلسلة الأصلية جراحيًا.
tool_result_persist لسجلات أدوات Codex الأصلية يحوّل ذلك الخطاف عمليات كتابة السجل النصي التي يملكها OpenClaw، لا سجلات أدوات Codex الأصلية. يمكن عكس السجلات المحوّلة، لكن إعادة الكتابة الأساسية تتطلب دعم Codex.
بيانات وصفية غنية لعملية Compaction الأصلية يمكن لـ OpenClaw طلب Compaction أصلي، لكنه لا يتلقى قائمة مستقرة بالمحتفظ به/المسقَط، أو فرق الرموز، أو ملخص الإكمال، أو حمولة الملخص. يتطلب أحداث Compaction أكثر ثراءً من Codex.
التدخل في Compaction لا يتيح OpenClaw للإضافات أو محركات السياق الاعتراض على Compaction الأصلي في Codex أو إعادة كتابته أو استبداله. أضف خطافات قبل/بعد Compaction في Codex إذا احتاجت الإضافات إلى الاعتراض عليه أو إعادة كتابته.
التقاط طلب API للنموذج بايتًا ببايت يمكن لـ OpenClaw التقاط طلبات خادم التطبيق وإشعاراته، لكن نواة Codex تبني طلب API النهائي لـ OpenAI داخليًا. يتطلب حدث تتبع لطلب نموذج 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 الأصلي. يحتفظ OpenClaw بنسخة مطابقة من السجل لسجل القناة والبحث و/new و/reset والتبديل المستقبلي للنموذج أو بيئة التشغيل.

تبدأ طلبات Compaction الصريحة، مثل /compact أو عملية Compaction يدوية يطلبها Plugin، عملية Compaction الأصلية في Codex باستخدام thread/compact/start. يبقي OpenClaw الطلب واستئجار العميل المشترك مفتوحين حتى يصدر Codex عنصر الإكمال contextCompaction المطابق، ثم يُبلغ عن اكتمال دورة Compaction. إذا تجاوزت تلك الدورة النهائية مهلة Compaction المكوّنة، يطلب OpenClaw مقاطعة أصلية للدورة. يظل الاستئجار وحاجز Compaction الخاص بكل سلسلة محتجزين حتى يُبلغ Codex عن الحالة النهائية أو يؤكد استدعاء RPC الخاص بالمقاطعة. إذا لم يؤكد Codex خلال فترة السماح للمقاطعة، يُخرج OpenClaw الاتصال من الخدمة قبل تحرير الحاجز. كما تفصل الاتصالات البعيدة ارتباط السلسلة المطابق كي لا يتداخل العمل اللاحق مع دورة بعيدة غير مؤكدة. تفشل الدورات الأخرى على اتصال أُخرج من الخدمة ويمكنها إعادة المحاولة باستخدام عميل جديد. يؤدي إغلاق العميل أو إلغاء الطلب أو فشل دورة Compaction إلى إرجاع عملية فاشلة. تقع مسؤولية Compaction التلقائي الناتج عن ضغط السياق على Codex؛ ولا يبدأ OpenClaw عملية Compaction الأصلية إلا للمشغلات المطلوبة يدويًا.

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

تتضمن النسخة المطابقة موجّه المستخدم والنص النهائي للمساعد وسجلات استدلال Codex أو خططه الخفيفة عندما يصدرها خادم التطبيق. يسجل OpenClaw بدء 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