Fundamentals

بيئات تشغيل الوكلاء

يمتلك وقت تشغيل الوكيل حلقة نموذج مُعدّة واحدة: يتلقى الموجّه، ويدير مخرجات النموذج، ويتعامل مع استدعاءات الأدوات الأصلية، ويعيد الدور المكتمل إلى OpenClaw.

يسهل الخلط بين أوقات التشغيل والموفّرين لأن كليهما يظهر بالقرب من إعدادات النموذج. وهما طبقتان مختلفتان:

الطبقة أمثلة المعنى
الموفّر anthropic, github-copilot, openai كيفية مصادقة OpenClaw واكتشافه للنماذج وتسميته لمراجع النماذج.
النموذج claude-opus-4-6, gpt-5.6-sol النموذج المحدد لدور الوكيل.
وقت تشغيل الوكيل claude-cli, codex, copilot, openclaw الحلقة منخفضة المستوى أو الواجهة الخلفية التي تنفّذ الدور المُعدّ.
القناة Discord, Slack, Telegram, WhatsApp المكان الذي تدخل منه الرسائل إلى OpenClaw وتخرج منه.

الحاضنة هي التنفيذ الذي يوفّر وقت تشغيل الوكيل (مصطلح برمجي). على سبيل المثال، تنفّذ حاضنة Codex المضمّنة وقت التشغيل codex. تستخدم الإعدادات العامة agentRuntime.id في إدخالات الموفّر أو النموذج؛ أما مفاتيح وقت التشغيل على مستوى الوكيل بالكامل فهي قديمة ويجري تجاهلها. يزيل openclaw doctor --fix تثبيتات وقت التشغيل القديمة على مستوى الوكيل بالكامل، ويعيد كتابة مراجع نماذج وقت التشغيل القديمة إلى مراجع موفّر/نموذج معيارية، مع سياسة وقت تشغيل محددة النطاق بالنموذج عند الحاجة.

عائلتان من أوقات التشغيل:

  • تعمل الحاضنات المضمّنة داخل حلقة الوكيل المُعدّة في OpenClaw: وقت التشغيل المدمج openclaw، إضافةً إلى حاضنات Plugins المسجّلة مثل codex وcopilot.
  • تشغّل واجهات CLI الخلفية عملية CLI محلية مع إبقاء مرجع النموذج معياريًا. على سبيل المثال، يعني anthropic/claude-opus-4-8 مع agentRuntime.id: "claude-cli" محدد النطاق بالنموذج: «حدّد نموذج Anthropic ونفّذه عبر Claude CLI». لا يُعد claude-cli معرّف حاضنة مضمّنة، ويجب عدم تمريره إلى تحديد AgentHarness.

حاضنة copilot هي حاضنة Plugin خارجية منفصلة واختيارية لـ GitHub Copilot CLI؛ راجع وقت تشغيل وكيل GitHub Copilot للتعرّف على القرار الموجّه للمستخدم بين PI وCodex ووقت تشغيل وكيل GitHub Copilot.

واجهات Codex

تشترك عدة واجهات في اسم Codex:

الواجهة الاسم/الإعداد في OpenClaw ما تفعله
وقت تشغيل خادم تطبيق Codex الأصلي مراجع نماذج openai/* يشغّل أدوار الوكيل المضمّنة لـ OpenAI عبر خادم تطبيق Codex. هذا هو إعداد اشتراك ChatGPT/Codex المعتاد.
ملفات تعريف مصادقة OAuth الخاصة بـ Codex ملفات تعريف OAuth من openai تخزّن مصادقة اشتراك ChatGPT/Codex التي تستهلكها حاضنة خادم تطبيق Codex.
محوّل ACP الخاص بـ Codex runtime: "acp", agentId: "codex" يشغّل Codex عبر مستوى التحكم الخارجي ACP/acpx. استخدمه فقط عندما يُطلب ACP/acpx صراحةً.
مجموعة أوامر التحكم الأصلي في محادثات Codex /codex ... تربط سلاسل خادم تطبيق Codex وتستأنفها وتوجّهها وتوقفها وتفحصها من المحادثة.
مسار OpenAI Platform API للواجهات غير الوكيلة openai/* مع مصادقة مفتاح API واجهات OpenAI API المباشرة، مثل الصور والتضمينات والكلام والوقت الفعلي.

هذه الواجهات مستقلة عن بعضها عمدًا. يؤدي تمكين Plugin ‏codex إلى إتاحة ميزات خادم التطبيق الأصلية؛ ويتولى openclaw doctor --fix إصلاح مسارات Codex القديمة وتنظيف تثبيتات الجلسات المتقادمة. يعني تحديد openai/* لنموذج وكيل الآن «تشغيل هذا عبر Codex»، ما لم تكن هناك واجهة OpenAI API غير وكيلة قيد الاستخدام.

يستخدم إعداد اشتراك ChatGPT/Codex الشائع OAuth الخاص بـ Codex للمصادقة، لكنه يبقي مرجع النموذج بصيغة openai/* ويحدد وقت التشغيل codex:

json5
{  agents: {    defaults: {      model: "openai/gpt-5.6-sol",    },  },}

يعني ذلك أن OpenClaw يحدد مرجع نموذج OpenAI، ثم يطلب من وقت تشغيل خادم تطبيق Codex تشغيل دور الوكيل المضمّن. ولا يعني ذلك «استخدام فوترة API»، كما لا يعني أن القناة أو كتالوج موفّري النماذج أو مخزن جلسات OpenClaw يصبح Codex.

عند تمكين Plugin ‏codex المضمّن، استخدم واجهة أوامر /codex الأصلية (/codex bind و/codex threads و/codex resume و/codex steer و/codex stop) للتحكم في Codex باللغة الطبيعية بدلًا من ACP. استخدم ACP مع Codex فقط عندما يطلب المستخدم ACP/acpx صراحةً أو يختبر مسار محوّل ACP. تظل Claude Code وGemini CLI وOpenCode وCursor والحاضنات الخارجية المشابهة مستخدمةً لـ ACP.

شجرة القرار:

  1. ربط Codex أو التحكم فيه أو إدارة سلاسله أو استئنافها أو توجيهها أو إيقافها -> واجهة أوامر /codex الأصلية عند تمكين Plugin ‏codex المضمّن.
  2. استخدام Codex كوقت تشغيل مضمّن أو تجربة وكيل Codex المعتادة المدعومة بالاشتراك -> openai/<model>.
  3. تحديد OpenClaw صراحةً لنموذج OpenAI -> أبقِ مرجع النموذج بصيغة openai/<model> واضبط سياسة وقت تشغيل الموفّر/النموذج على agentRuntime.id: "openclaw". يُوجَّه ملف تعريف OAuth المحدد من openai داخليًا عبر نقل مصادقة Codex في OpenClaw.
  4. مراجع نماذج Codex القديمة في الإعدادات -> أصلحها باستخدام openclaw doctor --fix إلى openai/<model>؛ ويحافظ doctor على مسار مصادقة Codex بإضافة agentRuntime.id: "codex" محدد النطاق بالموفّر/النموذج عندما يدل مرجع النموذج القديم على ذلك. تُصلح مراجع نماذج codex-cli/* القديمة إلى مسار خادم تطبيق Codex نفسه openai/<model>؛ ولم يعد OpenClaw يحتفظ بواجهة Codex CLI خلفية مضمّنة.
  5. طلب ACP أو acpx أو محوّل ACP الخاص بـ Codex صراحةً -> runtime: "acp" وagentId: "codex".
  6. Claude Code أو Gemini CLI أو OpenCode أو Cursor أو Droid أو حاضنة خارجية أخرى -> ACP/acpx، وليس وقت تشغيل الوكيل الفرعي الأصلي.
ما تقصده... استخدم...
التحكم في محادثات/سلاسل خادم تطبيق Codex /codex ... من Plugin ‏codex المضمّن
وقت تشغيل وكيل خادم تطبيق Codex المضمّن مراجع نماذج الوكيل openai/*
OAuth الخاص بـ OpenAI Codex ملفات تعريف OAuth من openai
Claude Code أو حاضنة خارجية أخرى ACP/acpx

للتعرّف على تقسيم بادئات عائلة OpenAI، راجع OpenAI وموفّري النماذج. وللتعرّف على عقد دعم وقت تشغيل Codex، راجع وقت تشغيل حاضنة Codex.

ملكية وقت التشغيل

تمتلك أوقات التشغيل المختلفة مقادير مختلفة من الحلقة:

الواجهة OpenClaw المضمّن خادم تطبيق Codex
مالك حلقة النموذج OpenClaw، عبر مشغّل OpenClaw المضمّن خادم تطبيق Codex
حالة السلسلة المعيارية سجل محادثة OpenClaw سلسلة Codex، إضافةً إلى نسخة مطابقة من سجل محادثة OpenClaw
أدوات OpenClaw الديناميكية حلقة أدوات OpenClaw الأصلية تُجسَّر عبر محوّل Codex
أدوات الصدفة والملفات الأصلية مسار OpenClaw أدوات Codex الأصلية، وتُجسَّر عبر الخطافات الأصلية حيثما كان ذلك مدعومًا
محرك السياق تجميع سياق OpenClaw الأصلي يعرض OpenClaw السياق المجمّع على دور Codex
Compaction OpenClaw أو محرك السياق المحدد Compaction أصلي من Codex، مع إشعارات OpenClaw وصيانة النسخة المطابقة
تسليم القناة OpenClaw OpenClaw

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

تحديد وقت التشغيل

يحل OpenClaw وقت التشغيل المضمّن بعد حل الموفّر والنموذج، بالترتيب التالي:

  1. تتغلب سياسة وقت التشغيل محددة النطاق بالنموذج. توجد هذه السياسة في إدخال نموذج لموفّر مُعدّ، أو في agents.defaults.models["provider/model"].agentRuntime / agents.list[].models["provider/model"].agentRuntime. يُطبَّق حرف بدل للموفّر مثل agents.defaults.models["vllm/*"].agentRuntime بعد سياسة النموذج المطابقة تمامًا، بحيث يمكن لنماذج الموفّر المكتشفة ديناميكيًا مشاركة وقت تشغيل واحد من دون تجاوز الاستثناءات الدقيقة الخاصة بكل نموذج.
  2. سياسة وقت التشغيل محددة النطاق بالموفّر: models.providers.<provider>.agentRuntime.
  3. وضع auto: يمكن لأوقات تشغيل Plugins المسجّلة المطالبة بأزواج الموفّر/النموذج المدعومة.
  4. إذا لم يطالب أي وقت تشغيل بالدور في وضع auto، يعود OpenClaw إلى openclaw بوصفه وقت تشغيل التوافق. استخدم معرّف وقت تشغيل صريحًا عندما يجب أن يكون التشغيل صارمًا.

يجري تجاهل تثبيتات وقت التشغيل على مستوى الجلسة بالكامل والوكيل بالكامل: OPENCLAW_AGENT_RUNTIME، وحالة الجلسة agentHarnessId/agentRuntimeOverride، وagents.defaults.agentRuntime، وagents.list[].agentRuntime. شغّل openclaw doctor --fix لإزالة إعدادات وقت التشغيل المتقادمة على مستوى الوكيل بالكامل وتحويل مراجع نماذج وقت التشغيل القديمة عندما يمكن الحفاظ على القصد.

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

تختلف الأسماء البديلة لواجهات CLI الخلفية عن معرّفات الحاضنات المضمّنة. الصيغة المفضلة لـ Claude CLI:

json5
{  agents: {    defaults: {      model: "anthropic/claude-opus-4-8",      models: {        "anthropic/claude-opus-4-8": {          agentRuntime: { id: "claude-cli" },        },      },    },  },}

تظل المراجع القديمة مثل claude-cli/claude-opus-4-7 مدعومةً للتوافق، لكن ينبغي للإعدادات الجديدة إبقاء الموفّر/النموذج معياريًا ووضع واجهة التنفيذ الخلفية في سياسة وقت تشغيل الموفّر/النموذج.

تختلف مراجع codex-cli/* القديمة: يرحّلها doctor إلى openai/* كي تعمل عبر حاضنة خادم تطبيق Codex بدلًا من الحفاظ على واجهة Codex CLI خلفية.

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

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

وقت تشغيل وكيل GitHub Copilot

يسجّل Plugin الخارجي @openclaw/copilot بيئة تشغيل copilot اختيارية مدعومة بواجهة GitHub Copilot CLI (@github/copilot-sdk). وهو يطالب بموفّر الاشتراك القياسي github-copilot، ولا يحدده auto مطلقًا. فعّله لكل نموذج أو لكل موفّر عبر agentRuntime.id:

json5
{  agents: {    defaults: {      model: "github-copilot/gpt-5.5",      models: {        "github-copilot/gpt-5.5": {          agentRuntime: { id: "copilot" },        },      },    },  },}

تطالب حزمة التشغيل بموفّرها وبيئة تشغيلها ومفتاح جلسة CLI وبادئة ملف تعريف المصادقة في extensions/copilot/doctor-contract-api.ts، الذي يحمّله openclaw doctor تلقائيًا. لمعرفة تفاصيل الإعداد والمصادقة وعكس نسخة السجل وCompaction وعقد الفحص التصريحي والقرار الأشمل بين PI وCodex وCopilot SDK، راجع بيئة تشغيل وكيل GitHub Copilot.

عقد التوافق

عندما لا تكون بيئة التشغيل هي OpenClaw، ينبغي أن توضّح وثائقها أسطح OpenClaw التي تدعمها:

السؤال سبب أهميته
من يملك حلقة النموذج؟ يحدد موضع إجراء المحاولات مجددًا ومتابعة الأدوات واتخاذ قرارات الإجابة النهائية.
من يملك السجل القياسي لمؤشر الترابط؟ يحدد ما إذا كان بإمكان OpenClaw تعديل السجل أم عكس نسخة منه فقط.
هل تعمل أدوات OpenClaw الديناميكية؟ تعتمد على ذلك المراسلة والجلسات وCron والأدوات المملوكة لـ OpenClaw.
هل تعمل خطافات الأدوات الديناميكية؟ تتوقع Plugins وجود before_tool_call وafter_tool_call والبرمجيات الوسيطة حول الأدوات المملوكة لـ OpenClaw.
هل تعمل خطافات الأدوات الأصلية؟ تحتاج الصدفة والترقيع والأدوات المملوكة لبيئة التشغيل إلى دعم الخطافات الأصلية لتطبيق السياسات والمراقبة.
هل تعمل دورة حياة محرك السياق؟ تعتمد Plugins الذاكرة والسياق على دورات حياة التجميع والاستيعاب وما بعد الدور وCompaction.
ما بيانات Compaction المتاحة؟ لا تحتاج بعض Plugins إلا إلى الإشعارات، بينما تحتاج أخرى إلى بيانات التعريف الخاصة بالمحتفَظ به والمُسقَط.
ما الذي لا يُدعم عمدًا؟ ينبغي ألا يفترض المستخدمون التكافؤ مع OpenClaw عندما تملك بيئة التشغيل الأصلية قدرًا أكبر من الحالة.

عقد دعم بيئة تشغيل Codex موثّق في بيئة تشغيل حزمة Codex.

تسميات الحالة

يمكن أن تعرض مخرجات الحالة تسميتي Execution وRuntime. اقرأهما بوصفهما معلومات تشخيصية، لا أسماء موفّرين:

  • مرجع نموذج مثل openai/gpt-5.6-sol هو الموفّر/النموذج المحدد.
  • معرّف بيئة تشغيل مثل codex هو الحلقة التي تنفّذ الدور.
  • تسمية قناة مثل Telegram أو Discord هي المكان الذي تجري فيه المحادثة.

إذا أظهر تشغيلٌ ما بيئة تشغيل غير متوقعة، فتحقق أولًا من سياسة بيئة التشغيل للموفّر/النموذج المحدد. لم تعد تثبيتات بيئة تشغيل الجلسات القديمة تحدد التوجيه.

ذو صلة

Was this useful?
On this page

On this page