> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# تشغيلات الوكيل

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

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

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

سترى أيضاً كلمة **harness** في الكود. الـ harness هو التنفيذ
الذي يوفّر وقت تشغيل وكيل. على سبيل المثال، ينفذ Codex harness المضمّن
وقت التشغيل `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](/ar/plugins/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 المباشرة مثل الصور، والتضمينات، والكلام، والوقت الحقيقي.               |

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

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

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
    },
  },
}
```

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

عند تمكين Plugin `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.

هذه شجرة القرار الموجهة للوكيل:

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

لتقسيم بادئات عائلة OpenAI، راجع [OpenAI](/ar/providers/openai) و
[مزوّدي النماذج](/ar/concepts/model-providers). لعقد دعم وقت تشغيل Codex،
راجع [وقت تشغيل Codex harness](/ar/plugins/codex-harness-runtime#v1-support-contract).

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

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

| السطح                         | 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 وقت تشغيل مضمّناً بعد حل المزوّد والنموذج:

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`، يمكن لأوقات تشغيل Plugin المسجلة المطالبة بأزواج المزوّد/النموذج
   المدعومة.
4. إذا لم يطالب أي وقت تشغيل بدورة في وضع `auto`، يستخدم OpenClaw `openclaw` كوقت تشغيل
   للتوافق. استخدم معرّف وقت تشغيل صريحاً عندما يجب أن يكون التشغيل
   صارماً.

يتم تجاهل تثبيتات وقت التشغيل على مستوى الجلسة كلها والوكيل كله. يشمل ذلك
`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 هي:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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 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`:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agents: {
    defaults: {
      model: "github-copilot/gpt-5.5",
      models: {
        "github-copilot/gpt-5.5": {
          agentRuntime: { id: "copilot" },
        },
      },
    },
  },
}
```

يطالب الحاضن بالمزوّد وRuntime ومفتاح جلسة CLI وبادئة ملف تعريف المصادقة في `extensions/copilot/doctor-contract-api.ts`، والذي يحمّله `openclaw doctor` تلقائياً. للإعدادات والمصادقة ونسخ النصوص المطابق وCompaction وعقد doctor التصريحي والقرار الأوسع بين PI وCodex وCopilot SDK، راجع [Runtime وكيل GitHub Copilot](/ar/plugins/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 الأصلي حالة أكثر.                                    |

تم توثيق عقد دعم Runtime الخاص بـ Codex في
[Runtime حاضن Codex](/ar/plugins/codex-harness-runtime#v1-support-contract).

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

قد يعرض مخرج الحالة تسميتي `Execution` و`Runtime` معاً. اقرأهما كتشخيصات، وليس كأسماء مزوّدين.

* مرجع نموذج مثل `openai/gpt-5.5` يخبرك بالمزوّد/النموذج المحدد.
* معرّف Runtime مثل `codex` يخبرك بأي حلقة تنفّذ الدور.
* تسمية قناة مثل Telegram أو Discord تخبرك بمكان حدوث المحادثة.

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

## ذات صلة

* [حاضن Codex](/ar/plugins/codex-harness)
* [Runtime حاضن Codex](/ar/plugins/codex-harness-runtime)
* [Runtime وكيل GitHub Copilot](/ar/plugins/copilot)
* [OpenAI](/ar/providers/openai)
* [Plugins حاضن الوكيل](/ar/plugins/sdk-agent-harness)
* [حلقة الوكيل](/ar/concepts/agent-loop)
* [النماذج](/ar/concepts/models)
* [الحالة](/ar/cli/status)
