Get started
ناظر Claw
سرپرست 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 است.
معماری
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,initializedthread/loaded/listthread/listthread/readthread/resumethread/startturn/startturn/steerturn/interruptmodel/list
Codex تعاملی باید با codex --remote <endpoint> راهاندازی شود تا TUI و سرپرست به همان app-server وصل شوند. codex exec مستقل امروز یک نشست زنده مشترک نیست؛ تا زمانی که Codex از exec --remote پشتیبانی کند، برای کار خودمختار از APIهای app-server استفاده کنید.
رجیستری نشست
سرپرست برای هر ریسمان مشاهدهشده Codex یک رکورد ذخیره میکند:
{ "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://sessionscodex://sessions/{sessionId}codex://sessions/{sessionId}/transcript
سطح کنترل Claw
Claw همیشهروشن همان عملیات پایه را بهصورت ابزارهای داخلی دریافت میکند:
- فهرست کردن نشستها و نقاط پایانی
- خواندن رونوشتها
- ارسال/هدایت متن
- قطع کار فعال
- ایجاد نشستهای جدید
- خلاصهسازی و تخصیص نشستها
- پخش دستورالعملها برای یک گروه فیلترشده
- علامتگذاری نشستها بهعنوان مسدود، انجامشده، یا رهاشده
رفتار ابزار:
- اگر ریسمان هدف بیکار باشد،
codex_session_sendبهturn/startنگاشت میشود. - اگر ریسمان هدف فعال باشد و شناسه نوبت در حال اجرا قابل مشاهده باشد، به
turn/steerنگاشت میشود. - اگر نوبت فعال قابل شناسایی نباشد، ابزار بهجای ایجاد یک نوبت نامرتبط، بسته و ناموفق میشود.
- کنترلهای نوشتن MCP که در اختیار Codex قرار گرفتهاند غیرفعال میمانند، مگر اینکه یک سیاست مورد اعتماد فقط مخصوص سرپرست آنها را فعال کند.
- خواندن خام رونوشتها غیرفعال میماند، مگر اینکه یک سیاست مورد اعتماد فقط مخصوص سرپرست آن را فعال کند.
- پیشفرض تأیید خودمختار، تأییدهای ابزار/فایل را رد میکند، مگر اینکه یک سیاست صریح خلاف آن را بگوید.
جریان راهاندازی
ورود تعاملی میزبان:
- کاربر با SSH وارد یک میزبان CRAB میشود.
- سرویس SSH،
codex app-server daemon startرا شروع یا راستیآزمایی میکند. - پوشش ورود،
codex --remote unix:// --cd <workspace>را راهاندازی میکند. - اتصالدهنده میزبان، نقطه پایانی و ریسمان بارگذاریشده را ثبت میکند.
- سرپرست یک رویداد ناوگان با اولویت بالا منتشر میکند: نشست جدید Codex، فضای کاری، وضعیت اتصال انسان، پیشنمایش کار فعلی.
- Supervisor Claw میتواند بلافاصله بخواند و هدایت کند.
ایجاد خودمختار:
- سرپرست میزبان و فضای کاری را انتخاب میکند.
- اتصالدهنده میزبان یک ریسمان app-server در Codex را باز یا از سر میگیرد.
- سرپرست نخستین نوبت را با متن کار و پیکربندی MCP شروع میکند.
- رجیستری نشست آن را خودمختار و قابل اتصال علامتگذاری میکند.
- انسان میتواند بعدا، پس از پشتیبانی 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 همیشهروشن تزریق شود در برابر اینکه بهعنوان ابزار/منبع نگه داشته شود.