| الطبقة | أمثلة | ما يعنيه ذلك |
|---|---|---|
| المزوّد | openai, anthropic, github-copilot | كيف يصادق OpenClaw، ويكتشف النماذج، ويسمّي مراجع النماذج. |
| النموذج | gpt-5.5, claude-opus-4-6 | النموذج المحدد لدورة الوكيل. |
| وقت تشغيل الوكيل | openclaw, codex, copilot, claude-cli | الحلقة أو الخلفية منخفضة المستوى التي تنفذ الدورة المُحضّرة. |
| القناة | Telegram, Discord, Slack, WhatsApp | أين تدخل الرسائل إلى OpenClaw وتخرج منه. |
codex. تستخدم الإعدادات العامة agentRuntime.id في
إدخالات المزوّد أو النموذج؛ أما مفاتيح وقت التشغيل على مستوى الوكيل كله فهي قديمة ويتم تجاهلها.
يزيل openclaw doctor --fix تثبيتات وقت التشغيل القديمة على مستوى الوكيل كله ويعيد كتابة
مراجع نماذج وقت التشغيل القديمة إلى مراجع مزوّد/نموذج معيارية إضافةً إلى سياسة وقت تشغيل
محددة بالنموذج عند الحاجة.
هناك عائلتان لوقت التشغيل:
- تعمل harnesses المضمّنة داخل حلقة وكيل OpenClaw المُحضّرة. اليوم يشمل ذلك
وقت التشغيل
openclawالمدمج إضافةً إلى plugin harnesses المسجلة مثلcodexوcopilot. - تشغّل خلفيات CLI عملية CLI محلية مع إبقاء مرجع النموذج
معيارياً. على سبيل المثال،
anthropic/claude-opus-4-8معagentRuntime.id: "claude-cli"محدد بالنموذج يعني “حدد نموذج Anthropic ونفّذه عبر Claude CLI.” لا يُعدclaude-cliمعرّف harness مضمّن ويجب عدم تمريره إلى اختيار AgentHarness.
copilot harness منفصلاً، واختيارياً، وPlugin خارجياً لـ
GitHub Copilot CLI؛ راجع وقت تشغيل وكيل GitHub Copilot
للقرار الموجّه للمستخدم بين PI وCodex ووقت تشغيل وكيل GitHub Copilot.
أسطح Codex
ينشأ معظم الالتباس من عدة أسطح مختلفة تشترك في اسم Codex:| السطح | اسم/إعداد OpenClaw | ما يفعله |
|---|---|---|
| وقت تشغيل خادم تطبيق Codex الأصلي | مراجع نماذج openai/* | يشغّل دورات وكيل OpenAI المضمّنة عبر خادم تطبيق Codex. هذا هو إعداد اشتراك ChatGPT/Codex المعتاد. |
| ملفات تعريف مصادقة Codex OAuth | ملفات تعريف OAuth لـ openai | تخزن مصادقة اشتراك ChatGPT/Codex التي يستهلكها Codex app-server harness. |
| مهايئ Codex ACP | runtime: "acp", agentId: "codex" | يشغّل Codex عبر مستوى التحكم الخارجي ACP/acpx. استخدمه فقط عندما يُطلب ACP/acpx صراحةً. |
| مجموعة أوامر التحكم الأصلية في محادثة Codex | /codex ... | تربط خيوط خادم تطبيق Codex من الدردشة وتستأنفها وتوجهها وتوقفها وتفحصها. |
| مسار OpenAI Platform API للأسطح غير الوكيلة | openai/* مع مصادقة مفتاح API | يُستخدم لواجهات OpenAI API المباشرة مثل الصور، والتضمينات، والكلام، والوقت الحقيقي. |
codex إلى إتاحة
ميزات خادم التطبيق الأصلية؛ ويتولى openclaw doctor --fix إصلاح مسارات
Codex القديمة وتنظيف تثبيتات الجلسات البالية. يعني تحديد
openai/* لنموذج وكيل الآن “شغّل هذا عبر Codex” ما لم يكن
سطح OpenAI API غير وكيل قيد الاستخدام.
يستخدم إعداد اشتراك ChatGPT/Codex الشائع Codex OAuth للمصادقة، لكنه يُبقي
مرجع النموذج كـ openai/* ويحدد وقت التشغيل codex:
codex المضمّن، يجب أن يستخدم التحكم بـ Codex باللغة الطبيعية
سطح أوامر /codex الأصلي (/codex bind, /codex threads,
/codex resume, /codex steer, /codex stop) بدلاً من ACP. استخدم ACP لـ
Codex فقط عندما يطلب المستخدم ACP/acpx صراحةً أو يختبر مسار
مهايئ ACP. لا تزال Claude Code وGemini CLI وOpenCode وCursor وما شابهها من
harnesses الخارجية تستخدم ACP.
هذه شجرة القرار الموجهة للوكيل:
- إذا طلب المستخدم ربط/تحكم/خيط/استئناف/توجيه/إيقاف Codex، فاستخدم
سطح أوامر
/codexالأصلي عندما يكون Plugincodexالمضمّن ممكّناً. - إذا طلب المستخدم Codex كوقت التشغيل المضمّن أو أراد تجربة وكيل Codex
العادية المدعومة بالاشتراك، فاستخدم
openai/<model>. - إذا اختار المستخدم صراحةً OpenClaw لنموذج OpenAI، فأبقِ مرجع النموذج
كـ
openai/<model>واضبط سياسة وقت تشغيل المزوّد/النموذج إلىagentRuntime.id: "openclaw". يُوجَّه ملف تعريف OAuthopenaiالمحدد داخلياً عبر نقل مصادقة Codex في OpenClaw. - إذا كانت الإعدادات القديمة لا تزال تحتوي على مراجع نماذج Codex قديمة، فأصلحها إلى
openai/<model>باستخدامopenclaw doctor --fix؛ يحافظ doctor على مسار مصادقة Codex بإضافةagentRuntime.id: "codex"محدد بنطاق المزوّد/النموذج حيث كان مرجع النموذج القديم يشير إلى ذلك. تُصلح مراجع نماذجcodex-cli/*القديمة إلى مسار خادم تطبيق Codex نفسهopenai/<model>؛ لم يعد OpenClaw يحتفظ بخلفية Codex CLI مضمّنة. - إذا قال المستخدم صراحةً ACP، أو acpx، أو مهايئ Codex ACP، فاستخدم
ACP مع
runtime: "acp"وagentId: "codex". - إذا كان الطلب لـ Claude Code أو Gemini CLI أو OpenCode أو Cursor أو Droid أو harness خارجي آخر، فاستخدم ACP/acpx، لا وقت تشغيل الوكيل الفرعي الأصلي.
| تقصد… | استخدم… |
|---|---|
| تحكم محادثة/خيط خادم تطبيق Codex | /codex ... من Plugin codex المضمّن |
| وقت تشغيل وكيل خادم تطبيق Codex المضمّن | مراجع نماذج الوكيل openai/* |
| OpenAI Codex OAuth | ملفات تعريف OAuth لـ openai |
| Claude Code أو harness خارجي آخر | ACP/acpx |
ملكية وقت التشغيل
تملك أوقات التشغيل المختلفة مقادير مختلفة من الحلقة.| السطح | OpenClaw المضمّن | خادم تطبيق Codex |
|---|---|---|
| مالك حلقة النموذج | OpenClaw عبر مشغّل OpenClaw المضمّن | خادم تطبيق Codex |
| حالة الخيط المعيارية | نص OpenClaw | خيط Codex، إضافةً إلى مرآة نص OpenClaw |
| أدوات OpenClaw الديناميكية | حلقة أدوات OpenClaw الأصلية | موصولة عبر مهايئ Codex |
| أدوات الصدفة والملفات الأصلية | مسار OpenClaw | أدوات Codex الأصلية، موصولة عبر الخطافات الأصلية حيث تكون مدعومة |
| محرك السياق | تجميع سياق OpenClaw الأصلي | يُجمّع OpenClaw سياق المشاريع في دورة Codex |
| Compaction | OpenClaw أو محرك السياق المحدد | ضغط Codex الأصلي، مع إشعارات OpenClaw وصيانة المرآة |
| تسليم القناة | OpenClaw | OpenClaw |
- إذا كان OpenClaw يملك السطح، فيمكن لـ OpenClaw توفير سلوك خطافات Plugin العادي.
- إذا كان وقت التشغيل الأصلي يملك السطح، يحتاج OpenClaw إلى أحداث وقت تشغيل أو خطافات أصلية.
- إذا كان وقت التشغيل الأصلي يملك حالة الخيط المعيارية، فيجب أن يعكس OpenClaw السياق ويسقطه، لا أن يعيد كتابة داخليات غير مدعومة.
اختيار وقت التشغيل
يختار OpenClaw وقت تشغيل مضمّناً بعد حل المزوّد والنموذج:- سياسة وقت التشغيل المحددة بالنموذج لها الأولوية. يمكن أن توجد في إدخال نموذج مزوّد
مُعدّ أو في
agents.defaults.models["provider/model"].agentRuntime/agents.list[].models["provider/model"].agentRuntime. تُطبَّق صيغة بدل المزوّد مثلagents.defaults.models["vllm/*"].agentRuntimeبعد سياسة النموذج الدقيقة، بحيث يمكن للنماذج المكتشفة ديناميكياً لدى المزوّد مشاركة وقت تشغيل واحد دون تجاوز الاستثناءات الدقيقة لكل نموذج. - تأتي سياسة وقت التشغيل المحددة بالمزوّد بعد ذلك في
models.providers.<provider>.agentRuntime. - في وضع
auto، يمكن لأوقات تشغيل Plugin المسجلة المطالبة بأزواج المزوّد/النموذج المدعومة. - إذا لم يطالب أي وقت تشغيل بدورة في وضع
auto، يستخدم OpenClawopenclawكوقت تشغيل للتوافق. استخدم معرّف وقت تشغيل صريحاً عندما يجب أن يكون التشغيل صارماً.
OPENCLAW_AGENT_RUNTIME، وحالة جلسة agentHarnessId/agentRuntimeOverride،
وagents.defaults.agentRuntime، وagents.list[].agentRuntime. شغّل
openclaw doctor --fix لإزالة إعدادات وقت التشغيل البالية على مستوى الوكيل كله وتحويل
مراجع نماذج وقت التشغيل القديمة حيث يمكن لـ OpenClaw الحفاظ على القصد.
تفشل أوقات تشغيل Plugin الصريحة على مستوى المزوّد/النموذج بإغلاق صارم. على سبيل المثال،
agentRuntime.id: "codex" على مزوّد أو نموذج يعني Codex أو خطأ
اختيار/وقت تشغيل واضحاً؛ ولا يُعاد توجيهه بصمت إلى OpenClaw أبداً.
تختلف أسماء خلفيات CLI المستعارة عن معرّفات harness المضمّنة. الصيغة المفضلة
لـ Claude CLI هي:
claude-cli/claude-opus-4-7 مدعومة لأغراض
التوافق، لكن يجب أن تُبقي الإعدادات الجديدة المزوّد/النموذج معيارياً وتضع
خلفية التنفيذ في سياسة وقت تشغيل المزوّد/النموذج.
مراجع codex-cli/* القديمة مختلفة: يرحّلها doctor إلى openai/* لكي
تعمل عبر Codex app-server harness بدلاً من الحفاظ على خلفية Codex CLI.
وضع auto محافظ عمداً لمعظم المزوّدين. تُعد نماذج وكلاء OpenAI
الاستثناء: كل من وقت التشغيل غير المضبوط وauto يُحلّان إلى Codex
harness. تبقى إعدادات وقت تشغيل OpenClaw الصريحة مسار توافق اختياري لدورات وكلاء
openai/*؛ وعند إقرانها بملف تعريف OAuth openai محدد،
يوجّه OpenClaw ذلك المسار داخلياً عبر نقل مصادقة Codex مع
إبقاء مرجع النموذج العام كـ openai/*. يتم تجاهل تثبيتات جلسات وقت تشغيل OpenAI البالية
عند اختيار وقت التشغيل ويمكن تنظيفها باستخدام openclaw doctor --fix.
إذا حذّر openclaw doctor من أن Plugin codex مفعّل بينما لا تزال مراجع نماذج Codex القديمة موجودة في الإعدادات، فتعامل مع ذلك كحالة توجيه قديمة. شغّل openclaw doctor --fix لإعادة كتابتها إلى openai/* مع Runtime الخاص بـ Codex.
Runtime وكيل GitHub Copilot
يسجّل Plugin الخارجي@openclaw/copilot Runtime اختيارياً باسم copilot مدعوماً بـ GitHub Copilot CLI (@github/copilot-sdk). وهو يطالب بمزوّد الاشتراك القياسي github-copilot ولا يتم اختياره أبداً بواسطة auto. فعّله لكل نموذج أو لكل مزوّد عبر agentRuntime.id:
extensions/copilot/doctor-contract-api.ts، والذي يحمّله openclaw doctor تلقائياً. للإعدادات والمصادقة ونسخ النصوص المطابق وCompaction وعقد doctor التصريحي والقرار الأوسع بين PI وCodex وCopilot SDK، راجع Runtime وكيل GitHub Copilot.
عقد التوافق
عندما لا يكون Runtime هو OpenClaw، يجب أن يوثّق أسطح OpenClaw التي يدعمها. استخدم هذا الشكل لوثائق Runtime:| السؤال | لماذا يهم |
|---|---|
| من يملك حلقة النموذج؟ | يحدد أين تحدث عمليات إعادة المحاولة ومتابعة الأدوات وقرارات الإجابة النهائية. |
| من يملك سجل المحادثة القياسي؟ | يحدد ما إذا كان OpenClaw يستطيع تعديل السجل أم نسخه فقط. |
| هل تعمل أدوات OpenClaw الديناميكية؟ | تعتمد الرسائل والجلسات وcron والأدوات المملوكة لـ OpenClaw على ذلك. |
| هل تعمل خطافات الأدوات الديناميكية؟ | تتوقع Plugins وجود before_tool_call وafter_tool_call والبرمجيات الوسيطة حول الأدوات المملوكة لـ OpenClaw. |
| هل تعمل خطافات الأدوات الأصلية؟ | تحتاج أدوات shell وpatch والأدوات المملوكة لـ Runtime إلى دعم خطافات أصلية للسياسة والمراقبة. |
| هل تعمل دورة حياة محرك السياق؟ | تعتمد Plugins الذاكرة والسياق على دورة حياة التجميع والاستيعاب وما بعد الدور وCompaction. |
| ما بيانات Compaction المعروضة؟ | تحتاج بعض Plugins إلى إشعارات فقط، بينما تحتاج أخرى إلى بيانات وصفية لما تم الاحتفاظ به أو إسقاطه. |
| ما غير المدعوم عمداً؟ | يجب ألا يفترض المستخدمون تكافؤ OpenClaw حيث يملك Runtime الأصلي حالة أكثر. |
تسميات الحالة
قد يعرض مخرج الحالة تسميتيExecution وRuntime معاً. اقرأهما كتشخيصات، وليس كأسماء مزوّدين.
- مرجع نموذج مثل
openai/gpt-5.5يخبرك بالمزوّد/النموذج المحدد. - معرّف Runtime مثل
codexيخبرك بأي حلقة تنفّذ الدور. - تسمية قناة مثل Telegram أو Discord تخبرك بمكان حدوث المحادثة.