---
read_when:
    - تصميم الإشراف على أسطول Codex
    - بناء أدوات OpenClaw التي تقرأ جلسات Codex أو توجّهها أو تُنشئها
    - الاختيار بين النشر المحلي وCloudflare وVPS لتشغيل Codex تحت الإشراف
summary: خطة الإشراف على الأسطول لجلسات خادم تطبيق Codex التي يتحكم بها OpenClaw.
title: مشرف المخلب
x-i18n:
    generated_at: "2026-06-27T18:36:01Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: ecdd58730011c94796c6df1d757606aad7112d2f36f30921541ac7f5d46ad91f
    source_path: specs/claw-supervisor.md
    workflow: 16
---

# مشرف Claw

## الهدف

يتيح مشرف Claw لمثيل OpenClaw واحد يعمل دائمًا مراقبة أسطول من جلسات Codex وتوجيهه من دون تغيير تجربة مستخدم Codex المعتادة. يمكن للمستخدم الاتصال بمضيف عبر SSH، وبدء Codex، والعمل في TUI، ومع ذلك يستطيع المشرف قراءة الجلسة، وتوجيهها، ومقاطعتها، وإنشاء جلسات مرتبطة، وقبول عمليات التسليم. يمكن لجلسات Codex أيضًا معاودة الاتصال بـ OpenClaw عبر MCP.

## نموذج المنتج

يبقى Codex سطح العمل الأساسي. يشرف OpenClaw على Codex بدلًا من إخفاء Codex داخل وكيل فرعي معتم تابع لـ OpenClaw.

اسم OpenClaw plugin هو `codex-supervisor`. يبقى `crabfleet` ملف تعريف النشر
وأسطول المضيفين لأجهزة CRAB بدلًا من أن يكون اسم Plugin القابل لإعادة الاستخدام.

يتضمن النموذج ثلاثة أدوار:

- Codex مرفق ببشر: TUI تفاعلي عادي لـ Codex يُشغّل عبر خادم تطبيقات مشترك.
- Codex ذاتي التشغيل: سلسلة خادم تطبيقات Codex ينشئها المشرف ويمكن لبشري الارتباط بها لاحقًا.
- مشرف Claw: وكيل OpenClaw يعمل دائمًا مع أدوات لحالة الأسطول، وقراءات النصوص، والتوجيه، والمقاطعة، والإنشاء، والتسليم.

قد يستخدم OpenClaw آلية الوكلاء الفرعيين الموجودة لديه داخليًا، لكن العقد الخارجي هو جلسة Codex قابلة للإرفاق مع معرّف سلسلة Codex.

## البنية

```text
user SSH session
  -> codex --remote unix://... or ws://...
      -> local codex app-server daemon
          <-> host sidecar / supervisor connector
              <-> OpenClaw fleet supervisor
                  <-> supervisor MCP exposed back to Codex
```

يشغّل كل مضيف قادر على Codex ما يلي:

- عفريت خادم تطبيقات Codex.
- مشغّل يبدأ Codex التفاعلي دائمًا باستخدام `--remote`.
- موصّل يسجّل نقاط نهاية خادم التطبيقات والسلاسل الحية لدى المشرف.

يشغّل المشرف ما يلي:

- سجل نقاط النهاية.
- سجل الجلسات.
- تجمع عملاء JSON-RPC لخادم تطبيقات Codex.
- خادم MCP لاستدعاءات Codex إلى Claw.
- أدوات OpenClaw للتحكم من Claw إلى Codex.
- محرك سياسات للإجراءات الذاتية والموافقات ومنع الحلقات.

## عقد خادم تطبيقات Codex

استخدم واجهات برمجة تطبيقات خادم تطبيقات Codex بوصفها مستوى التحكم القانوني:

- `initialize`, `initialized`
- `thread/loaded/list`
- `thread/list`
- `thread/read`
- `thread/resume`
- `thread/start`
- `turn/start`
- `turn/steer`
- `turn/interrupt`
- `model/list`

يجب تشغيل Codex التفاعلي باستخدام `codex --remote <endpoint>` حتى يتصل TUI والمشرف بخادم التطبيقات نفسه. لا يُعد `codex exec` المستقل جلسة مشتركة مباشرة اليوم؛ استخدم واجهات برمجة تطبيقات خادم التطبيقات للعمل الذاتي إلى أن يدعم Codex الأمر `exec --remote`.

## سجل الجلسات

يخزن المشرف سجلًا واحدًا لكل سلسلة Codex مرصودة:

```json
{
  "sessionId": "codex-thread-id",
  "endpointId": "host-a",
  "host": "host-a.example",
  "workspace": "/workspace/repo",
  "repo": "owner/repo",
  "branch": "feature/example",
  "source": "vscode",
  "status": "idle",
  "humanAttached": true,
  "lastSeenAt": "2026-05-28T10:00:00.000Z",
  "summary": "Short working-state summary"
}
```

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

## سطح MCP لـ Codex

يحصل كل Codex خاضع للإشراف على خادم MCP باسم `openclaw-codex-supervisor`.

الأدوات:

- `codex_sessions_list`: سرد جلسات Codex المرئية.
- `codex_session_read`: قراءة نص جلسة واحدة.
- `codex_session_send`: إرسال رسالة إلى سلسلة خاملة أو توجيه سلسلة نشطة.
- `codex_session_interrupt`: مقاطعة الدور النشط.
- `codex_endpoint_probe`: التحقق من اتصال نقطة النهاية.
- `claw_report_progress`: نشر حالة المهمة الحالية إلى المشرف.
- `claw_ask`: طلب المساعدة أو التفويض من المشرف.
- `codex_spawn`: إنشاء جلسة Codex ذاتية جديدة.
- `codex_handoff`: طلب تسليم إلى بشري أو نظير.

الموارد:

- `codex://sessions`
- `codex://sessions/{sessionId}`
- `codex://sessions/{sessionId}/transcript`

## سطح تحكم Claw

يحصل Claw الذي يعمل دائمًا على البدائيات نفسها كأدوات داخلية:

- سرد الجلسات ونقاط النهاية
- قراءة النصوص
- إرسال/توجيه النص
- مقاطعة العمل النشط
- إنشاء جلسات جديدة
- تلخيص الجلسات وإسنادها
- بث التعليمات إلى مجموعة مصفاة
- وسم الجلسات بأنها محجوبة أو منجزة أو متروكة

سلوك الأداة:

- إذا كانت السلسلة الهدف خاملة، يطابق `codex_session_send` الأمر `turn/start`.
- إذا كانت السلسلة الهدف نشطة وكان معرّف دور قيد التقدم مرئيًا، فإنه يطابق `turn/steer`.
- إذا تعذر تحديد الدور النشط، تفشل الأداة على نحو مغلق بدلًا من إنشاء دور غير مرتبط.
- تبقى عناصر تحكم الكتابة في MCP المعروضة لـ Codex معطلة ما لم تمكّنها سياسة موثوقة خاصة بالمشرف فقط.
- تبقى قراءات النص الخام معطلة ما لم تمكّنها سياسة موثوقة خاصة بالمشرف فقط.
- ترفض الموافقة الذاتية افتراضيًا موافقات الأدوات/الملفات ما لم تنص سياسة صريحة على خلاف ذلك.

## تدفق التشغيل

تسجيل دخول تفاعلي إلى المضيف:

1. يتصل المستخدم بمضيف CRAB عبر SSH.
2. تبدأ خدمة SSH أو تتحقق من `codex app-server daemon start`.
3. يطلق مغلف تسجيل الدخول `codex --remote unix:// --cd <workspace>`.
4. يسجل موصّل المضيف نقطة النهاية والسلسلة المحملة.
5. يصدر المشرف حدث أسطول عالي الأولوية: جلسة Codex جديدة، ومساحة العمل، وحالة الإرفاق البشري، ومعاينة المهمة الحالية.
6. يستطيع مشرف Claw القراءة والتوجيه فورًا.

إنشاء ذاتي:

1. يحدد المشرف المضيف ومساحة العمل.
2. يفتح موصّل المضيف سلسلة خادم تطبيقات Codex أو يستأنفها.
3. يبدأ المشرف الدور الأول بنص المهمة وتكوين MCP.
4. يوسم سجل الجلسات الجلسة بأنها ذاتية وقابلة للإرفاق.
5. يمكن لبشري لاحقًا الإرفاق باستخدام `codex --remote <endpoint> resume <threadId>` بمجرد أن يدعم Codex تجربة المستخدم هذه بدقة، أو عبر تدفق الاستئناف الحالي على خادم التطبيقات نفسه.

## النشر

مستوى التحكم المفضل:

- تحتفظ موصّلات المضيف باتصالات WebSocket صادرة إلى المشرف.
- تعيش حالة المشرف في تخزين OpenClaw Gateway.
- يبقى خادم تطبيقات Codex محليًا لكل مضيف؛ لا تعرض أبدًا خادم تطبيقات خامًا غير موثق للإنترنت العام.

ملاءمة Cloudflare:

- جيد للسجل، والكائنات المعمّرة، وتجميع WebSocket، وتوجيه الأحداث الخفيف، ونقاط نهاية MCP/Gateway العامة.
- غير كافٍ وحده للتحكم المباشر بالمضيفين الخاصين لأن Workers لا يستطيع الاتصال بمقابس Unix خاصة عشوائية أو خوادم تطبيقات local loopback.
- استخدم Cloudflare عندما يتصل كل موصّل مضيف إلى المنزل عبر WebSocket صادر.

بديل VPS:

- استخدم خدمة Hetzner عندما تكون هناك حاجة إلى تحكم طويل الأمد بالعمليات، أو أنفاق SSH، أو توجيه الشبكات الخاصة، أو الوصول إلى نظام الملفات المحلي.
- حافظ على البروتوكول نفسه: موصّلات المضيف صادرة، وسجل المشرف مركزي، وخادم تطبيقات Codex محلي.

## الأمان

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

## خطة التنفيذ

المرحلة 1: MVP محلي للمشرف

- أضف عميل JSON-RPC لخادم تطبيقات Codex لوكيل stdio ونقاط نهاية WebSocket.
- أضف سجل نقاط نهاية/جلسات للمشرف.
- أضف أدوات MCP: السرد، القراءة، الإرسال، المقاطعة، الفحص.
- أضف تكوين بيئة محليًا لنقاط النهاية.
- أضف اختبارات خادم تطبيقات وهمية واختبار دخان واحدًا لخادم تطبيقات محلي مباشر.

المرحلة 2: تكامل OpenClaw

- سجل أدوات المشرف في `codex-supervisor` plugin.
- احقن MCP الخاص بالمشرف في تكوين سلسلة Codex.
- أضف ملخصات الجلسات إلى سياق الوكيل.
- أضف إشعارات أحداث عند ظهور سلاسل Codex جديدة.
- أضف تكوين سياسة للإرسال/المقاطعة/الإنشاء الذاتي.

المرحلة 3: موصّل الأسطول

- يسجل المكوّن الجانبي للمضيف نقطة نهاية خادم التطبيقات، وبيانات تعريف المضيف، وبيانات تعريف git/مساحة العمل، وحالة الإرفاق البشري.
- أضف موصّل WebSocket صادرًا لمستوى تحكم Cloudflare أو VPS.
- أضف إعادة الاتصال، وHeartbeat، وتنظيف الجلسات المتقادمة.
- أضف مغلف مشغّل SSH لـ CRAB.

المرحلة 4: التشغيل الذاتي

- أضف تدفقات الإنشاء/الاستئناف/الاستحواذ.
- أضف البث والتفويض.
- أضف تقارير التقدم وملخصات حالة المهمة.
- أضف منع الحلقات وحدود المعدل.
- أضف عروض لوحة المعلومات.

المرحلة 5: تعدد Claw

- جزّئ الجلسات حسب المجموعة.
- أضف قيادة/إيجارًا لكل جلسة.
- أضف سجل تدقيق وإعادة تشغيل.
- أضف التصعيد بين مجموعات Claw.

## اختبارات القبول

- يطلق بشري TUI لـ Codex عبر خادم تطبيقات مشترك.
- يسرد المشرف السلسلة الحية عبر `thread/loaded/list`.
- يقرأ المشرف النص عبر `thread/read`.
- يرسل المشرف نصًا إلى سلسلة خاملة عبر `turn/start`.
- يوجه المشرف سلسلة نشطة عبر `turn/steer`.
- توقف مقاطعة المشرف دورًا نشطًا عبر `turn/interrupt`.
- يستدعي Codex MCP الخاص بالمشرف ويسرد جلسات النظراء.
- يُنشأ Codex ذاتي ثم يُرفق به بشري لاحقًا.
- يوسم فقدان موصّل المضيف الجلسات بأنها متقادمة من دون حذف السجل.

## أسئلة مفتوحة

- تجربة إرفاق Codex TUI الدقيقة لسلسلة خادم تطبيقات أُنشئت من دون TUI.
- ما إذا كان ينبغي لـ Codex إضافة `exec --remote` للتشغيلات عديمة الواجهة والمشتركة مباشرة.
- مالك الحالة المعمّرة: قاعدة بيانات OpenClaw Gateway، أو Cloudflare Durable Object، أو قاعدة بيانات VPS.
- دقة سياسة الموافقة للأدوار الصادرة من المشرف.
- مقدار ملخص النص الذي ينبغي حقنه في سياق Claw الدائم مقابل إبقائه كأداة/مورد.
