---
read_when:
    - طراحی نظارت بر ناوگان Codex
    - ساخت ابزارهای OpenClaw که نشست‌های Codex را می‌خوانند، هدایت می‌کنند یا راه‌اندازی می‌کنند
    - انتخاب میان استقرار محلی، Cloudflare و VPS برای Codex نظارت‌شده
summary: برنامه نظارت بر ناوگان برای نشست‌های app-server مربوط به Codex که توسط OpenClaw کنترل می‌شوند.
title: ناظر Claw
x-i18n:
    generated_at: "2026-06-27T18:52:59Z"
    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 همچنین می‌توانند از طریق MCP به OpenClaw فراخوانی برگشتی انجام دهند.

## مدل محصول

Codex سطح کاری اصلی باقی می‌ماند. OpenClaw به‌جای پنهان کردن Codex داخل یک زیردستیار مبهم OpenClaw، بر Codex نظارت می‌کند.

Plugin مربوط به OpenClaw با نام `codex-supervisor` شناخته می‌شود. `crabfleet` همچنان پروفایل استقرار
و ناوگان میزبان برای ماشین‌های CRAB است، نه نام Plugin قابل استفاده مجدد.

این مدل سه نقش دارد:

- Codex متصل به انسان: یک TUI تعاملی معمول Codex که از طریق یک app-server مشترک راه‌اندازی شده است.
- Codex خودمختار: یک ریسمان app-server در Codex که توسط سرپرست ایجاد شده و انسان می‌تواند بعدا به آن متصل شود.
- Supervisor 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 این موارد را اجرا می‌کند:

- دیمن app-server در Codex.
- راه‌اندازی‌کننده‌ای که همیشه Codex تعاملی را با `--remote` شروع می‌کند.
- اتصال‌دهنده‌ای که نقاط پایانی app-server و ریسمان‌های زنده را نزد سرپرست ثبت می‌کند.

سرپرست این موارد را اجرا می‌کند:

- رجیستری نقطه پایانی.
- رجیستری نشست.
- مخزن کلاینت JSON-RPC برای app-server در Codex.
- سرور MCP برای فراخوانی‌های Codex به Claw.
- ابزارهای OpenClaw برای کنترل Claw به Codex.
- موتور سیاست برای اقدامات خودمختار، تأییدها، و جلوگیری از حلقه.

## قرارداد App-Server در Codex

از APIهای app-server در 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 و سرپرست به همان app-server وصل شوند. `codex exec` مستقل امروز یک نشست زنده مشترک نیست؛ تا زمانی که Codex از `exec --remote` پشتیبانی کند، برای کار خودمختار از APIهای app-server استفاده کنید.

## رجیستری نشست

سرپرست برای هر ریسمان مشاهده‌شده 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. کاربر با SSH وارد یک میزبان CRAB می‌شود.
2. سرویس SSH، `codex app-server daemon start` را شروع یا راستی‌آزمایی می‌کند.
3. پوشش ورود، `codex --remote unix:// --cd <workspace>` را راه‌اندازی می‌کند.
4. اتصال‌دهنده میزبان، نقطه پایانی و ریسمان بارگذاری‌شده را ثبت می‌کند.
5. سرپرست یک رویداد ناوگان با اولویت بالا منتشر می‌کند: نشست جدید Codex، فضای کاری، وضعیت اتصال انسان، پیش‌نمایش کار فعلی.
6. Supervisor Claw می‌تواند بلافاصله بخواند و هدایت کند.

ایجاد خودمختار:

1. سرپرست میزبان و فضای کاری را انتخاب می‌کند.
2. اتصال‌دهنده میزبان یک ریسمان app-server در Codex را باز یا از سر می‌گیرد.
3. سرپرست نخستین نوبت را با متن کار و پیکربندی MCP شروع می‌کند.
4. رجیستری نشست آن را خودمختار و قابل اتصال علامت‌گذاری می‌کند.
5. انسان می‌تواند بعدا، پس از پشتیبانی Codex از همان UX دقیق، با `codex --remote <endpoint> resume <threadId>` به آن متصل شود، یا از طریق جریان فعلی ازسرگیری روی همان app-server.

## استقرار

صفحه کنترل ترجیحی:

- اتصال‌دهنده‌های میزبان، اتصال‌های خروجی WebSocket را به سرپرست نگه می‌دارند.
- وضعیت سرپرست در ذخیره‌سازی OpenClaw Gateway قرار می‌گیرد.
- app-server در Codex برای هر میزبان محلی باقی می‌ماند؛ هرگز یک app-server خام و بدون احراز هویت را در اینترنت عمومی در معرض دسترسی قرار ندهید.

امکان‌پذیری Cloudflare:

- برای رجیستری، اشیای پایدار، گردآوری WebSocket، مسیریابی سبک رویداد، و نقاط پایانی عمومی MCP/Gateway مناسب است.
- به‌تنهایی برای کنترل مستقیم میزبان خصوصی کافی نیست، زیرا Workers نمی‌توانند به سوکت‌های Unix خصوصی دلخواه یا app-serverهای local loopback وصل شوند.
- زمانی از Cloudflare استفاده کنید که هر اتصال‌دهنده میزبان از طریق WebSocket خروجی با مرکز تماس می‌گیرد.

جایگزین VPS:

- وقتی کنترل فرایندهای بلندمدت، تونل‌های SSH، مسیریابی شبکه خصوصی، یا دسترسی به فایل‌سیستم محلی لازم است، از سرویس Hetzner استفاده کنید.
- همان پروتکل را نگه دارید: اتصال‌دهنده‌های میزبان خروجی، رجیستری مرکزی سرپرست، app-server محلی در Codex.

## امنیت

- اتصال پیش‌فرض، سوکت Unix محلی است.
- app-server راه دور از توکن یا احراز هویت bearer امضاشده استفاده می‌کند.
- اتصال‌دهنده میزبان با یک توکن محدودشده میزبان نزد سرپرست احراز هویت می‌کند.
- ابزارهای سرپرست سیاست هر نشست را اعمال می‌کنند: خواندن، هدایت، قطع، ایجاد، تأیید.
- پیام‌های بین‌عامل شامل `originSessionId` هستند؛ پژواک به خود حذف می‌شود.
- پخش نیازمند یک فیلتر صریح و شمار هدف محدود است.
- خواندن رونوشت‌ها رازها را در مرز OpenClaw پنهان‌سازی می‌کند.
- درخواست‌های تأیید برای نوبت‌های منشأگرفته از سرپرست به‌صورت پیش‌فرض رد می‌شوند، مگر اینکه سیاست اجازه دهد.

## برنامه پیاده‌سازی

مرحله ۱: MVP سرپرست محلی

- افزودن کلاینت JSON-RPC برای app-server در Codex برای پراکسی stdio و نقاط پایانی WebSocket.
- افزودن رجیستری نقطه پایانی/نشست سرپرست.
- افزودن ابزارهای MCP: فهرست، خواندن، ارسال، قطع، بررسی.
- افزودن پیکربندی env محلی برای نقاط پایانی.
- افزودن آزمون‌های app-server جعلی و یک دودآزمون app-server محلی زنده.

مرحله ۲: یکپارچه‌سازی OpenClaw

- ثبت ابزارهای سرپرست در Plugin `codex-supervisor`.
- تزریق MCP سرپرست به پیکربندی ریسمان Codex.
- افزودن خلاصه‌های نشست به زمینه عامل.
- افزودن اعلان‌های رویداد هنگام ظاهر شدن ریسمان‌های جدید Codex.
- افزودن پیکربندی سیاست برای ارسال/قطع/ایجاد خودمختار.

مرحله ۳: اتصال‌دهنده ناوگان

- سایدکار میزبان، نقطه پایانی app-server، فراداده میزبان، فراداده git/فضای کاری، و وضعیت اتصال انسان را ثبت می‌کند.
- افزودن اتصال‌دهنده WebSocket خروجی برای صفحه کنترل Cloudflare یا VPS.
- افزودن اتصال مجدد، Heartbeat، و پاک‌سازی نشست‌های کهنه.
- افزودن پوشش راه‌انداز SSH برای CRAB.

مرحله ۴: عملیات خودمختار

- افزودن جریان‌های ایجاد/ازسرگیری/تصاحب.
- افزودن پخش و واگذاری.
- افزودن گزارش‌های پیشرفت و خلاصه‌های وضعیت کار.
- افزودن جلوگیری از حلقه و محدودیت نرخ.
- افزودن نماهای داشبورد.

مرحله ۵: چند-Claw

- شارد کردن نشست‌ها بر اساس گروه.
- افزودن رهبری/اجاره برای هر نشست.
- افزودن گزارش حسابرسی و بازپخش.
- افزودن تشدید بین گروه‌های Claw.

## آزمون‌های پذیرش

- انسان TUI در Codex را از طریق یک app-server مشترک راه‌اندازی می‌کند.
- سرپرست ریسمان زنده را از طریق `thread/loaded/list` فهرست می‌کند.
- سرپرست رونوشت را از طریق `thread/read` می‌خواند.
- سرپرست متن را از طریق `turn/start` به یک ریسمان بیکار ارسال می‌کند.
- سرپرست یک ریسمان فعال را از طریق `turn/steer` هدایت می‌کند.
- قطع توسط سرپرست، یک نوبت فعال را از طریق `turn/interrupt` متوقف می‌کند.
- Codex سرپرست MCP را فراخوانی می‌کند و نشست‌های همتا را فهرست می‌کند.
- یک Codex خودمختار ایجاد می‌شود و بعدا به انسان متصل می‌شود.
- اتصال‌دهنده میزبانِ ازدست‌رفته، نشست‌ها را بدون حذف تاریخچه به‌عنوان کهنه علامت‌گذاری می‌کند.

## پرسش‌های باز

- UX دقیق اتصال TUI در Codex برای یک ریسمان app-server که بدون TUI ایجاد شده است.
- اینکه آیا Codex باید برای اجراهای بی‌سر و زنده مشترک، `exec --remote` را اضافه کند یا نه.
- مالک وضعیت پایدار: پایگاه داده OpenClaw Gateway، Cloudflare Durable Object، یا پایگاه داده VPS.
- دانه‌بندی سیاست تأیید برای نوبت‌های منشأگرفته از سرپرست.
- اینکه چه مقدار از خلاصه رونوشت باید به زمینه Claw همیشه‌روشن تزریق شود در برابر اینکه به‌عنوان ابزار/منبع نگه داشته شود.
