---
read_when:
    - می‌خواهید نشست‌های Codex Desktop یا CLI در OpenClaw نمایش داده شوند
    - لازم است از یک نشست محلی ذخیره‌شده یا غیرفعال Codex شاخه بسازید یا آن را بایگانی کنید
    - شما نشست‌های Codex و تاریخچه رونوشت‌ها را از Nodeهای جفت‌شده در دسترس قرار می‌دهید
sidebarTitle: Codex supervision
summary: مرور نشست‌های بومی و بایگانی‌نشدهٔ Codex و رونوشت‌های صفحه‌بندی‌شده در میان Nodeهای OpenClaw
title: نظارت بر نشست‌های Codex
x-i18n:
    generated_at: "2026-07-27T15:28:08Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: f365e3207dff092c3dfd8f7588d60d70a16f0cce484991eb4ab3fc0bd15f8051
    source_path: plugins/codex-supervision.md
    workflow: 16
---

نظارت Codex یک قابلیت اختیاری در Plugin رسمی `codex` است. این قابلیت
نشست‌های منبع بایگانی‌نشدهٔ Codex CLI، VS Code، Atlas و ChatGPT را از
رایانهٔ Gateway و رایانه‌های جفت‌شده‌ای که این قابلیت را فعال کرده‌اند، در نوار کناری معمول
نشست‌ها و پنل Chat نمایش می‌دهد.

نسخهٔ اولیه عمداً دامنهٔ مالکیت را محدود نگه می‌دارد:

- یک نشست محلی ذخیره‌شده یا بی‌کار می‌تواند از تاریخچهٔ محدود و ماندگارشدهٔ کاربر و دستیار،
  یک گفت‌وگوی OpenClaw با مدل قفل‌شده ایجاد کند. نخستین پیام یک انشعاب snapshot بومی
  را آغاز می‌کند و سپس رشتهٔ کامل harness مربوط به Codex را دقیقاً با همان مدل و
  ارائه‌دهنده‌ای شروع می‌کند که Codex App Server برای آن انشعاب انتخاب کرده است. در نوبت‌های
  بعدی، جفت ماندگارشدهٔ رشتهٔ بومی متعارف بازیابی می‌شود، درحالی‌که
  اتصال تحت نظارت مانع می‌شود OpenClaw زمان‌اجرای دیگر، مدل دیگر یا
  مسیر جایگزینی را جایگزین کند. یک کنترل بومی و جداگانهٔ Codex همچنان می‌تواند آن
  جفت ماندگارشده را تغییر دهد. شاخه‌ای که قبلاً ایجاد شده است، گفت‌وگوی موجود خود را باز می‌کند.
- فعالیت زندهٔ یک نشست ذخیره‌شده که از فرایند دیگری از Codex کشف شده است،
  نامشخص است. می‌توان از آن شاخه ساخت، یا تنها پس از آنکه اپراتور
  تأیید کند هیچ کلاینت دیگری از Codex از آن استفاده نمی‌کند، آن را بایگانی کرد.
- یک منبع فعال قابل‌مشاهده می‌ماند، اما تا پایان نوبت جاری آن نمی‌توان
  شاخه‌ای ایجاد کرد یا آن را بایگانی کرد. اگر از قبل گفت‌وگویی تحت نظارت داشته باشد، **Open Chat**
  همچنان در دسترس است.
- یک نشست روی Node جفت‌شده، رونوشت ماندگارشدهٔ خود را از طریق خواندن‌های محدود و
  صفحه‌بندی‌شده با مکان‌نما در App Server ارائه می‌کند. ادامه‌دادن از راه دور
  به یک پل Node جریانی در آینده نیاز دارد؛ بایگانی از راه دور نیز به
  اجارهٔ مالکیت اجراکننده یا حصارگذاری معادل نیاز دارد.
- نشست‌های بایگانی‌شده فهرست نمی‌شوند. یک نشست محلی ذخیره‌شده یا بی‌کار را
  تنها پس از آن می‌توان بایگانی کرد که اپراتور تأیید کند هیچ کلاینت دیگری از Codex از
  آن استفاده نمی‌کند.

## پیش از شروع

- Plugin رسمی `@openclaw/codex` را روی Gateway نصب کنید. برنامهٔ macOS
  مربوط به OpenClaw می‌تواند هنگام فعال‌کردن قابلیت‌های Codex آن را نصب کند؛ نصب‌های CLI می‌توانند
  `openclaw plugins install @openclaw/codex` را اجرا کنند.
- روی هر رایانه‌ای که می‌خواهید نشست‌هایش فهرست شوند، Codex Desktop یا Codex CLI را
  نصب کنید و وارد حساب شوید.
- رایانه‌های راه دور را به‌عنوان Nodeهای OpenClaw جفت کنید. هر رایانه باید این قابلیت را به‌صورت محلی فعال کند؛
  فعال‌کردن نظارت فقط روی Gateway، Node دیگری را مجاز نمی‌کند.
- از Gateway تحت کنترل مالک استفاده کنید. عنوان نشست‌ها، دایرکتوری‌های کاری و شاخه‌های Git
  می‌توانند اطلاعات حساس پروژه را آشکار کنند.

## فعال‌کردن نظارت

راه‌اندازی هدایت‌شدهٔ `openclaw onboard` و راه‌اندازی اولیهٔ macOS، پس از تشخیص نصب بومی Codex و
فعال‌سازی موفق زیرساخت استنتاج انتخاب‌شده، تلاش می‌کنند نظارت Codex را نصب و
فعال کنند. لازم نیست Codex زیرساخت اصلی باشد. نظارت زمانی در دسترس
قرار می‌گیرد که فعال‌سازی فرصت‌طلبانهٔ Plugin با موفقیت انجام شود. دردسترس‌بودن App Server
هنگام نخستین اتصال نظارت بررسی می‌شود. غیرفعال‌سازی صریح Plugin مربوط به Codex یا مسدودسازی
سیاستی، از فعال‌سازی فرصت‌طلبانه جلوگیری می‌کند و وجود یک
`supervision.enabled: false` صریح، ابزارهای نظارتی در دسترس عامل را غیرفعال می‌کند؛
تا زمانی که Plugin مربوط به Codex فعال باشد، کاتالوگ اپراتور ثبت‌شده باقی می‌ماند، مگر آنکه
`sessionCatalog.enabled: false` آن را غیرفعال کند. این کلید جداگانه، ارائه‌دهندهٔ
Codex، harness و سیاست نظارت در دسترس عامل را بدون تغییر باقی می‌گذارد و
هم‌زمان فرمان‌های فهرست‌کردن/خواندن کاتالوگ Nodeهای جفت‌شده را نیز از این میزبان حذف می‌کند.
نصب‌های موجود می‌توانند همین قابلیت را به‌صورت دستی فعال کنند:

Plugin مربوط به `codex` و قابلیت نظارت آن را در `openclaw.json` فعال کنید:

```json5
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          supervision: {
            enabled: true,
          },
        },
      },
    },
  },
}
```

اگر `plugins.allow` وجود دارد، `codex` را نیز اضافه کنید. پس از
تغییر فعال‌سازی Plugin، Gateway را راه‌اندازی مجدد کنید.

بدون تنظیمات اتصال صریح `appServer`، نظارت از یک اتصال نظارتی مدیریت‌شدهٔ
stdio و جداگانه در برابر خانهٔ بومی کاربر Codex استفاده می‌کند. harness معمولی
Codex به‌طور پیش‌فرض محدود به عامل باقی می‌ماند. در نتیجه نشست‌های بومی در هر دو
برنامه قابل‌مشاهده می‌شوند، بدون آنکه نوبت‌های معمول OpenClaw وضعیت بومی Codex را
به‌اشتراک بگذارند. اگر harness نیز باید آن وضعیت را به‌اشتراک بگذارد، `appServer.homeScope: "user"`
را صریحاً تنظیم کنید. نظارت به‌جای جایگزین‌کردن تنظیمات صریح اتصال
`appServer` با پیش‌فرض خانهٔ کاربر محلی خود، آن تنظیمات را رعایت می‌کند.

گفت‌وگویی که از گروه **Codex** در نوار کناری پذیرفته شده است، یک نشست معمولی harness نیست.
اتصال خصوصی نظارت آن برای خواندن منبع، ایجاد شاخهٔ متعارف، تزریق تاریخچه
و تمام نوبت‌های بعدی از اتصال نظارت استفاده می‌کند. با اتصال محلی پیش‌فرض،
خانهٔ بومی کاربر Codex، احراز هویت و پیکربندی ارائه‌دهنده حفظ می‌شود، بدون آنکه
پیش‌فرض سایر نشست‌ها تغییر کند. گفت‌وگوهای پذیرفته‌شده‌ای که تحت پایش هستند نیز در
[آگاهی از وضعیت نشست](/fa/concepts/session-state) مشارکت دارند.

برای اتصال نظارت محلی پیش‌فرض، مخزن با کلاینت‌های بومی Codex مشترک است.
OpenClaw فرض نمی‌کند کلاینت دیگری همان فرایند زندهٔ App Server را به‌اشتراک
می‌گذارد و مالکیت وضعیت بومی، محلیِ فرایند است. بنابراین رشته‌ای را که App Server
نظارتی آن به‌صورت `notLoaded` گزارش می‌کند، به‌عنوان
**Stored / activity unknown** در نظر می‌گیرد، نه بی‌کار.

همین فعال‌سازی اختیاری را روی هر میزبان Node بدون رابطی که نشست‌هایش باید نمایش داده شوند، اعمال کنید.
برنامهٔ بومی OpenClaw برای macOS هنگام معرفی کاتالوگ Codex محلی خود به Gateway
جفت‌شده، همان تنظیم محلی را می‌خواند. کاتالوگ Mac بومی جفت‌شده فقط از
پیش‌فرض یا `appServer.transport: "stdio"` صریح با `appServer.homeScope: "user"` تنظیم‌نشده یا
صریح پشتیبانی می‌کند. `command`، `args` و `clearEnv` برای
آن فرایند stdio رعایت می‌شوند. اگر پیکربندی Mac، `"unix"`،
`"websocket"` یا `homeScope: "agent"` را انتخاب کند، برنامه قابلیت یا فرمان
کاتالوگ را معرفی نمی‌کند و فراخوانی مستقیم قدیمی، به‌جای افشای خانهٔ کاربر Codex
یا ایجاد یک App Server محلی stdio متفاوت، با شکست مواجه می‌شود.

فرمان تازه معرفی‌شدهٔ Node، سطح فرمان‌های تأییدشدهٔ Node را تغییر می‌دهد.
به‌روزرسانی را از میزبان Gateway تأیید کنید:

```bash
openclaw nodes pending
openclaw nodes approve <requestId>
```

نشست‌های بایگانی‌نشدهٔ Codex همچنین در نوار کناری اصلی Control UI به‌صورت گروه‌بندی‌شده
بر اساس میزبان نمایش داده می‌شوند. برای خواندن رونوشت ماندگارشدهٔ یک نشست، آن را انتخاب کنید.
نمایشگر از جدیدترین API مربوط به `thread/turns/list` در Codex با `itemsView: "full"`
استفاده می‌کند و در هر درخواست حداکثر 20 نوبت بارگیری می‌کند؛ **Load older transcript items**
مکان‌نمای مبهم App Server را از جدیدترین صفحه دنبال می‌کند.
صفحه‌های بارگیری‌شده به ترتیب زمانی نمایش داده می‌شوند. نمایشگر هرگز تاریخچهٔ نامحدود
`thread/read` را بارگیری نمی‌کند. صفحه‌ای فراتر از سقف ایمنی انتقال 20 MiB
به‌صورت بسته شکست می‌خورد تا اتصال Node یا Gateway به خطر نیفتد.

گروه **Codex** را در نوار کناری معمول نشست‌ها باز کنید. همان نشست‌ها را به‌صورت
گروه‌بندی‌شده بر اساس میزبان فهرست می‌کند. **Load more sessions** صفحهٔ بعدی را از هر
میزبانی که ردیف‌های قدیمی‌تری دارد اضافه می‌کند و ردیف‌های افزوده‌شده پس از تازه‌سازی
دوره‌ای نوار کناری نیز باقی می‌مانند. هر میزبان به‌محض تثبیت فهرست بومی خودش ظاهر می‌شود.
صفحهٔ قابل‌مشاهده پس از تغییرات اتصال Node، هنگام بازیابی تمرکز و حداکثر
هر 30 ثانیه همگام‌سازی می‌شود؛ نتیجهٔ تغییریافته یک گذر پیگیری سریع‌تر دریافت می‌کند.
بنابراین نشست‌هایی که در Codex Desktop، CLI یا کلاینت بومی دیگری ایجاد شده‌اند، بدون
بارگیری مجدد کامل صفحه ظاهر می‌شوند. صفحهٔ نخست از ترتیب خود Codex بر اساس آخرین به‌روزرسانی
پیروی می‌کند، بنابراین نشست بومی تازه‌ای که ایجاد شده است، بلافاصله واجد شرایط است.
هر صفحهٔ جست‌وجوی بازگشتی، به‌جای ارسال پرس‌وجو به App Server، تعداد محدودی از
صفحه‌های بومی هر میزبان را بررسی می‌کند، زیرا جست‌وجوی بومی می‌تواند با پیش‌نمایش
رونوشت‌ها نیز مطابقت داشته باشد.

دردسترس‌بودن میزبان و وضعیت رشته از یکدیگر جدا هستند. **Offline** یا **Unavailable**
تازه‌سازی میزبان را توصیف می‌کند؛ میزبان دردسترس‌نبوده هیچ ردیف تازه‌ای از نشست‌ها
بازنمی‌گرداند و وضعیت بومی رشته را به `offline` تغییر نمی‌دهد. ردیف‌های نشست از
وضعیت‌های Codex مانند `idle`، `active`، `notLoaded` یا خطا استفاده می‌کنند. خرابی یک
میزبان، نتایج میزبان‌های سالم را پنهان نمی‌کند.

هشدار نوار کناری شامل کد خطای کاتالوگ و خطای ایمن زیربنایی
Gateway است. برای غیرفعال‌کردن کشف بدون غیرفعال‌کردن Codex، **Settings > Automation > Plugins > Codex > Native Session
Discovery** را باز کنید. برای
`NODE_LIST_FAILED`، `openclaw nodes list` و **Settings > Devices** را مقایسه کنید؛
علت تفصیلی مشخص می‌کند کدام خرابی مخزن جفت‌سازی، رجیستری Node، مجوز یا
چرخهٔ عمر Gateway نیاز به تعمیر دارد.

## استفاده از CLI اپراتور

CLI ترمینال، همان کاتالوگ بایگانی‌نشده و عملیات شاخه‌سازی و بایگانی محلیِ
Gateway را ارائه می‌کند:

```bash
openclaw codex sessions [--search <text>] [--host <id>] [--limit <count>] [--cursor <cursor>] [--json] [--url <url>] [--token <token>] [--timeout <ms>] [--expect-final]
openclaw codex continue <thread-id> [--json] [--url <url>] [--token <token>] [--timeout <ms>] [--expect-final]
openclaw codex archive <thread-id> --confirm-no-other-runner [--json] [--url <url>] [--token <token>] [--timeout <ms>] [--expect-final]
```

گزینه‌های `openclaw codex sessions`:

- `--search <text>` عنوان نشست‌ها را بدون حساسیت به بزرگی و کوچکی حروف جست‌وجو می‌کند.
- `--host <id>` پاسخ را به یک میزبان پایدار کاتالوگ، مانند
  `gateway:local` یا `node:<node-id>`، محدود می‌کند.
- `--limit <count>` تعداد ردیف‌های هر میزبان را از 1 تا 100 تنظیم می‌کند؛ مقدار پیش‌فرض 50 است.
- `--cursor <cursor>` یک صفحهٔ میزبان را ادامه می‌دهد و بنابراین به `--host` نیاز دارد.
- `--json` پاسخ ساختاریافتهٔ Gateway را چاپ می‌کند.

هر سه فرمان، `--url`، `--token` و `--timeout <ms>` را از
کلاینت Gateway به ارث می‌برند. زمان پیش‌فرض فهرست‌کردن نشست‌ها 75,000 ms است تا
کاتالوگ‌های سرد Nodeهای جفت‌شده فرصت تکمیل داشته باشند؛ زمان پیش‌فرض ادامه‌دادن و بایگانی‌کردن
30,000 ms است. آن‌ها همچنین کلید مشترک `--expect-final` را ارائه می‌کنند که این RPCهای
یک‌درخواستی نظارت را تغییر نمی‌دهد. هر فرمان به دامنهٔ Gateway با شناسهٔ
`operator.write` نیاز دارد. خروجی استاندارد `-h, --help` در هر زیرفرمان
در دسترس است. هیچ گزینه‌ای برای بایگانی‌شده‌ها یا شامل‌کردن بایگانی‌شده‌ها وجود ندارد.
`sessions` می‌تواند میزبان‌های جفت‌شده را فهرست کند، اما `continue` و
`archive` همیشه `gateway:local` را هدف می‌گیرند؛ ردیف‌های جفت‌شده فقط
قابل‌فهرست‌شدن هستند. بایگانی همیشه به `--confirm-no-other-runner` نیاز دارد.

این فرمان‌های پوسته با فرمان‌های زمان‌اجرای درون‌گفت‌وگویی `/codex` متفاوت هستند.
`/codex threads [filter]` رشته‌های App Server در دسترس اتصال مکالمهٔ جاری را فهرست می‌کند.
`/codex sessions --host <node>` فایل‌های قابل‌ازسرگیری نشست Codex CLI را روی یک Node فهرست می‌کند،
نه کاتالوگ ناوگان نظارت. `/codex
resume` و `/codex bind` مکالمهٔ جاری را
به‌جای ایجاد یک شاخهٔ امن تحت نظارت متصل می‌کنند و گفت‌وگوی تحت نظارت با مدل قفل‌شده،
این تغییرات اتصال را رد می‌کند. هیچ فرمان زمان‌اجرای `/codex continue` یا
`/codex archive` وجود ندارد.

## شاخه‌سازی از یک نشست محلی

در رایانهٔ Gateway، **Continue as branch** را روی یک ردیف ذخیره‌شده یا بی‌کار انتخاب کنید.
OpenClaw یک ورودی معمولی گفت‌وگو ایجاد می‌کند، تاریخچهٔ محدود کاربر و دستیار را
تا آخرین نوبت پایانیِ ماندگارشدهٔ منبع (تکمیل‌شده، قطع‌شده یا ناموفق) بازتاب می‌دهد،
یک شاخهٔ در انتظار harness ثبت می‌کند و گفت‌وگو را باز می‌کند. انتخاب‌گر عمومی مدل
قفل است، اما هنوز هیچ مدل یا ارائه‌دهندهٔ مشخصی انتخاب نشده است. منبع از سر گرفته
نمی‌شود و رشتهٔ متعارف harness نیز هنوز آغاز نشده است.
تکرار این اقدام به‌جای ایجاد شاخه‌ای دیگر، گفت‌وگوی موجود را باز می‌کند.

بازتاب، جدیدترین بخش انتهایی قابل‌مشاهده‌ای را نگه می‌دارد که در هر سه محدودیت جا شود:
حداکثر 200 پیام کاربر یا دستیار، در مجموع 512 KiB متن UTF-8 و 64 KiB برای هر
پیام. پیام‌های بیش‌ازحد بزرگ با یک نشانگر کوتاه می‌شوند و هنگام رسیدن به سقف،
پیام‌های قدیمی‌تر حذف می‌شوند. ورودی تصویر یا تصویر محلی به جای‌نگهدار تحت‌اللفظی
`[Image attachment]` تبدیل می‌شود؛ دادهٔ تصویر و مسیرهای محلی کپی نمی‌شوند.

برای آغاز کار، نخستین پیام عادی گفت‌وگو را ارسال کنید. هارنس Codex،
کنترل‌کننده‌های واقعی تأیید، درخواست ورودی، رویداد و تحویل را نصب می‌کند. این هارنس از یک
فورک بومی موقت روی اتصال نظارت استفاده می‌کند تا اسنپ‌شات منبع را بدون
ارائهٔ جایگزین برای مدل یا ارائه‌دهنده ثابت نگه دارد. Codex App Server هر دو را از
پیکربندی بومی فعلی خود انتخاب می‌کند و انتخاب واقعی را برمی‌گرداند. روی همان
اتصال، OpenClaw رشتهٔ کامل و استاندارد هارنس با منبع `appServer` را
در مسیر کاری جاری و تحت سیاست زمان اجرای آن، دقیقاً با همان جفت بازگشتی آغاز می‌کند، تاریخچهٔ
قابل‌مشاهدهٔ محدود را تزریق می‌کند و فورک موقت را بایگانی می‌کند. رشتهٔ استاندارد
به سطح کامل ابزارهای هارنس OpenClaw دسترسی دارد. این یک شاخه از تاریخچهٔ قابل‌مشاهده است، نه
یک همتای کامل از اجرای بومی: استدلال منبع، فراخوانی‌های ابزار و نتایج ابزار
حذف می‌شوند. این نوبت و همهٔ نوبت‌های بعدی روی اتصال تحت نظارت Codex باقی می‌مانند،
نه روی زمان اجرای مدل دیگری از OpenClaw یا هارنس عادی خانهٔ عامل.

انتخاب بازگشتی، اثباتی برای مدل تاریخی منبع نیست. اگر
پیکربندی بومی فعلی با مدل ثبت‌شده برای آخرین نوبت منبع
متفاوت باشد، Codex هشدار عادی تفاوت مدل را صادر می‌کند. OpenClaw از
جفت بازگشتی برای آغاز رشتهٔ استاندارد استفاده می‌کند. Codex مدل و ارائه‌دهندهٔ بومی
آن رشتهٔ استاندارد را ماندگار می‌کند و ازسرگیری‌های بعدی آن‌ها را حفظ می‌کنند، زیرا
OpenClaw جایگزین‌های مدل و ارائه‌دهنده را مشخص نمی‌کند. اگر رشتهٔ استاندارد
از طریق یک کنترل بومی جداگانهٔ Codex تغییر کند، OpenClaw انتخاب ماندگارشدهٔ
Codex را می‌پذیرد. OpenClaw هرگز مدل بیرونی یا زنجیرهٔ جایگزین خود را جانشین نمی‌کند.

گفت‌وگوی تحت نظارت و قفل‌شده به مدل را نمی‌توان حذف کرد، مدل آن را تغییر داد، از `/new`
یا `/reset` استفاده کرد، کنش بازنشانی نشست Gateway را فراخواند یا از کنش عمومی
**Fork session** استفاده کرد. تغییر `/codex model <model>`، `/codex
bind`، `/codex resume` (از جمله یک نشست Node با `--bind here`) و
`/codex detach` یا `/codex unbind` نیز رد می‌شود، زیرا این کار اتصال بومی
قفل‌شده را جایگزین یا پاک می‌کند. پرس‌وجوی `/codex model` و `/codex fast`،
`/codex permissions` و `/codex threads` همچنان در دسترس می‌مانند. هنگامی که
مدلی متفاوت یا رشته‌ای تازه می‌خواهید، نشست عادی دیگری را آغاز کنید.

نظارت را برای این گفت‌وگو فعال نگه دارید. اگر نظارت غیرفعال شود یا
اتصال ذخیره‌شدهٔ آن از دسترس خارج یا ناسازگار شود، نوبت به‌صورت بسته و ایمن شکست می‌خورد،
به‌جای آنکه به یک نشست عادی خانهٔ عامل منتقل شود.

غیرفعال‌کردن یا حذف Plugin ‏`codex`، آن مالکیت را آزاد نمی‌کند و
گفت‌وگو را واجد شرایط استفاده از مدلی دیگر نمی‌سازد. گفت‌وگوی قفل‌شده حفظ می‌شود، اما
در دسترس نخواهد بود؛ برای ازسرگیری آن، همان Plugin را دوباره نصب یا فعال کنید و Gateway را
راه‌اندازی مجدد کنید. این رفتار عمدیِ بسته و ایمن مانع از آن می‌شود که پاک‌سازی نگهداشت یا
اختلال موقت Plugin، اتصال بومی را بی‌سروصدا بدون مالک باقی بگذارد.

ابزار عامل `codex_threads` از همین مرز پیروی می‌کند. این ابزار نمی‌تواند
فورکی متفاوت را متصل کند یا رشتهٔ بومیِ متصل به گفت‌وگو را بایگانی کند. فهرست‌کردن و خواندن
صرفاً فراداده همچنان در دسترس‌اند. خواندن متن خام نشست به `allowRawTranscripts` نیاز دارد.
وقتی دسترسی خام غیرفعال است، `codex_threads` جست‌وجوی فهرست را نیز رد می‌کند، زیرا
جست‌وجوی بومی شامل پیش‌نمایش متن نشست است؛ Control UI و CLI اپراتور
همچنان جست‌وجوی محدود و صرفاً مبتنی بر عنوان را ارائه می‌کنند. تغییر نام، خارج‌کردن از بایگانی، فورک جداشده و
بایگانی یک رشتهٔ نامرتبط و بدون مالک به
`allowWriteControls` نیاز دارند. هیچ‌یک از گزینه‌ها اتصال قفل‌شده را دور نمی‌زنند.

OpenClaw هنگام صرفاً فهرست‌کردن رشتهٔ منبع یا نمایش گفت‌وگوی در انتظار،
درخواست‌های تأیید را دریافت نمی‌کند یا به آن‌ها پاسخ نمی‌دهد. آغاز یک رشتهٔ متمایز و استاندارد
هارنس در نخستین نوبت، به فرایند دیگری از Codex اجازه می‌دهد مالکیت منبع را حفظ کند،
بدون آنکه نویسندگان رقیب اجرا ایجاد شوند.

منبع اصلی CLI، ‏VS Code، ‏Atlas یا ChatGPT برای کلاینت‌های بومی
و کاتالوگ OpenClaw قابل‌مشاهده باقی می‌ماند. شاخهٔ استاندارد به‌صورت یک رشتهٔ بومی
Codex ذخیره می‌شود، اما نوع منبع آن `appServer` است؛ Codex Desktop یا یک
کلاینت بومی دیگر ممکن است آن نوع منبع را فیلتر کند، بنابراین تضمینی نیست که خود شاخه
در همهٔ نماهای تاریخچهٔ بومی ظاهر شود.

ردیفی فعال که App Server مربوط به OpenClaw گزارش کرده است، نمی‌تواند شاخه‌ای جدید آغاز کند. منتظر بمانید
تا نوبت فعلی پایان یابد و سپس کاتالوگ را تازه‌سازی کنید. Codex App Server
تغییرات را درون یک فرایند به‌ترتیب اجرا می‌کند، اما اجراکنندهٔ انحصاری
میان‌فرایندی یا اجارهٔ مالک تأیید ارائه نمی‌دهد.

برای ردیف **Stored / activity unknown**، آینهٔ گفت‌وگو و تثبیت اسنپ‌شات
نخستین نوبت، از وضعیت Codex تا آخرین نوبت نهاییِ ماندگارشده استفاده می‌کنند. رشتهٔ
منبع از سر گرفته، متوقف یا بایگانی نمی‌شود. اگر فرایند دیگری نوبتی
در حال اجرا داشته باشد، ممکن است جدیدترین کار در جریان آن در شاخه وجود نداشته باشد.

## بایگانی یک نشست محلی

در یک ردیف ذخیره‌شده یا غیرفعالِ محلی Gateway، گزینهٔ **Archive** را انتخاب کنید، سپس تأیید کنید که هیچ
کلاینت دیگری از Codex یا اجراکنندهٔ OpenClaw از آن رشته یا فرزندان ایجادشدهٔ
آن استفاده نمی‌کند. OpenClaw وضعیت محلی فرایند را دوباره و تازه می‌خواند، فقط برای
`idle` یا `notLoaded` ادامه می‌دهد، عملیات بومی بایگانی Codex را فراخوانی می‌کند و
نشست را از فهرست بایگانی‌نشده حذف می‌کند. Codex بومی همچنین تلاش می‌کند
فرزندان ایجادشدهٔ رشته را بایگانی کند.

وقتی خواندن تازه، نشست را فعال یا در وضعیت خطا گزارش کند، نشست متعلق به یک Node جفت‌شده
باشد یا گفت‌وگوی تحت نظارتی که به‌تازگی ایجاد شده هنوز شاخه‌ای در انتظار از آن منبع داشته باشد،
بایگانی در دسترس نیست. پیش از بایگانی منبع، نخستین پیام گفت‌وگو را ارسال کنید تا
شاخهٔ استاندارد آن محقق شود. همچنین وقتی OpenClaw بداند یک اتصال فعال مالک
دقیقاً همان رشتهٔ هدف یا هر فرزند ایجادشدهٔ بایگانی‌نشده‌ای است، بایگانی مسدود می‌شود. OpenClaw
پرس‌وجوی آزمایشی فرزندان Codex را در تمام صفحه‌ها دنبال می‌کند؛ پاسخ نامعتبر،
شکست درخواست، تکرار مکان‌نما یا رشته، یا تمام‌شدن حد ایمنی باعث رد
بایگانی می‌شود.

درخواست‌های خواندن، شمارش فرزندان و بایگانی یک عملیات شرطی واحد
نیستند، بنابراین ممکن است بین آن‌ها همچنان نوبتی آغاز شود. وضعیت App Server نیز
میان فرایندهای مستقل مشترک نیست. بنابراین تأیید، مرز
ایمنی برای کلاینت‌های ناشناخته و آن وضعیت رقابتی است: پیش از تأیید، همهٔ
کلاینت‌های دیگر را ببندید یا وضعیتشان را به روشی دیگر بررسی کنید. یک رشتهٔ بایگانی‌شده را با Codex
Desktop، ‏Codex CLI یا یک جریان مدیریت بومی رشته که مالک مجاز کرده است بازیابی کنید؛
پس از خارج‌شدن از بایگانی دوباره ظاهر می‌شود.

```bash
codex unarchive <thread-id>
```

## درک محدودیت‌های Node جفت‌شده

Nodeهای جفت‌شده فرمان‌های فقط‌خواندنی و نسخه‌بندی‌شدهٔ
`codex.appServer.threads.list.v1` و
`codex.appServer.thread.turns.list.v1` را ارائه می‌کنند. میزبان‌های بومی Node که
Codex CLI روی آن‌ها در دسترس است، فرمان مجازشدهٔ `codex.terminal.resume.v1` را نیز
ارائه می‌کنند. Gateway فرادادهٔ نرمال‌سازی‌شده و صفحه‌های محدود متن نشست را که صریحاً
درخواست شده‌اند دریافت می‌کند، نه نقاط پایانی خام App Server را. بازکردن یک ردیف در ترمینال
اپراتور، `codex resume <thread-id>` را روی میزبان مالک اجرا و PTY آن فرمان را بازپخش می‌کند؛
این کار پوسته‌ای عمومی یا argv تأمین‌شده از سوی Gateway را در معرض دسترس قرار نمی‌دهد.

بازپخش ترمینال، قراردادهای ادامهٔ هارنس یا مالکیت بایگانی را
ارائه نمی‌کند. بنابراین ردیف‌های راه‌دور قابل‌مشاهده باقی می‌مانند، اما **Continue** یا
**Archive** را ارائه نمی‌کنند، حتی وقتی رشتهٔ راه‌دور غیرفعال باشد. از طریق
**Open in terminal** روی همان رایانه از Codex استفاده کنید، یا از یک جریان ادامهٔ آینده
با مرز ایمن مالکیت اجراکننده بهره ببرید.

## فراداده و مجوزها

ردیف‌های کاتالوگ ممکن است شامل موارد زیر باشند:

- شناسه‌های رشته و نشست
- عنوان و دایرکتوری کاری
- وضعیت فعلی و پرچم‌های انتظار فعال
- مهرهای زمانی ایجاد، به‌روزرسانی و فعالیت
- منبع، ارائه‌دهندهٔ مدل، نسخهٔ Codex CLI و شاخهٔ Git

نمایش کاتالوگ، پیش‌نمایش متن نشست، نوبت‌ها، مسیرهای اجرا،
مسیر خانهٔ Codex، ‏remoteهای Git، ‏SHAهای commit و خطاهای خام App Server را حذف می‌کند. دسترسی
به کاتالوگ و خواندن متن نشست در Control UI به دامنهٔ Gateway یعنی `operator.write`
نیاز دارند، زیرا تجمیع ناوگان از مسیر استاندارد `node.invoke` استفاده می‌کند، حتی
با وجود آنکه هر دو فرمان Node فقط‌خواندنی هستند.

`supervision.allowRawTranscripts` و `supervision.allowWriteControls`
ابزارهای عامل خودکار و MCP مستقل را کنترل می‌کنند. مقدار پیش‌فرض هر دو `false` است. با
فعال‌بودن نظارت، `codex_threads` پیش‌نمایش‌های متن نشست و نوبت‌ها را از
نتایج فهرست و خواندن صرفاً فراداده حذف می‌کند، مگر آنکه متن خام نشست مجاز باشد؛
خواندنی که شامل نوبت‌ها باشد به‌صورت بسته و ایمن شکست می‌خورد. هر فورک، تغییر نام، بایگانی و خارج‌کردن از بایگانی
به کنترل‌های نوشتن نیاز دارد. این گزینه‌ها مشاهدهٔ احراز هویت‌شدهٔ متن نشست در Control UI را
محدود نمی‌کنند و بررسی‌های اتصال، میزبان، وضعیت یا تأیید را دور نمی‌زنند.

### ابزارهای سازگاری

Plugin رسمی `codex` پنج نام عرضه‌شدهٔ ابزار Supervisor را برای
عامل‌های موجود و کلاینت‌های مستقل MCP حفظ می‌کند:

- `codex_endpoint_probe`
- `codex_sessions_list`
- `codex_session_read`
- `codex_session_send`
- `codex_session_interrupt`

مقدار پیش‌فرض `codex_sessions_list` فقط بارگذاری‌شده است؛ پارامتر `loaded_only`
وجود ندارد. مقدار `include_stored: true` را تنظیم کنید تا ردیف‌های ذخیره‌شدهٔ بایگانی‌نشده نیز از
پایگاه دادهٔ وضعیت Codex خوانده شوند. سقف اختیاری `max_stored_sessions` به‌طور پیش‌فرض 200 است
و برای هر نقطهٔ پایانی از 1 تا 1,000 ردیف می‌پذیرد. این سقف ردیف‌های بارگذاری‌شده را محدود نمی‌کند.
بدون مجوز متن خام نشست، نتایج فهرست نام‌های استخراج‌شده از متن نشست،
پیش‌نمایش‌ها و خطاهای تفصیلی نقطهٔ پایانی را حذف می‌کنند.
`codex_session_read` به `allowRawTranscripts` نیاز دارد؛ `include_turns: true`
علاوه بر آن، نوبت‌ها را از Codex درخواست می‌کند.

`codex_session_send` و `codex_session_interrupt` به
`allowWriteControls` نیاز دارند. ارسال، `mode: "auto" | "start" | "steer"` را می‌پذیرد، اما
`"start"` همیشه رد می‌شود و هر دو `"auto"` و `"steer"` فقط می‌توانند یک
نوبت فعال و خواندنی را هدایت کنند. رشتهٔ غیرفعال رد می‌شود و راهنمای استفاده از **Codex
Sessions** ارائه می‌شود؛ جایی که هارنس کامل، کنترل‌کننده‌های تأیید و ابزار را پیش از
ادامه نصب می‌کند. وقفه نیز به یک نوبت فعال و خواندنی نیاز دارد. این ابزارها
رشتهٔ منبع غیرفعال را از سر نمی‌گیرند یا آغاز نمی‌کنند.

`openclaw doctor --fix` یک ورودی بازنشستهٔ `codex-supervisor`، فیلدهای نقطهٔ پایانی
و مجوز آن و ارجاع‌های سیاست مجاز/غیرمجاز Plugin را بدون بازنویسی تنظیمات صریح و استاندارد
به Plugin رسمی `codex` منتقل می‌کند. آداپتور مستقل سازگاری MCP همچنان
همان پنج ابزار را از آن Plugin بارگذاری می‌کند؛ متغیرهای محیطی سیاست قدیمی فقط
درون همان آداپتور قابل‌اعتماد اعمال می‌شوند.

برای همهٔ فیلدهای پیکربندی نظارت، به
[مرجع هارنس Codex](/fa/plugins/codex-harness-reference#supervision) مراجعه کنید.

## عیب‌یابی

**هیچ نشستی ظاهر نمی‌شود:** بررسی کنید که `@openclaw/codex` نصب شده باشد، هم
Plugin و هم `supervision.enabled` مقدار true داشته باشند، فهرست مجاز فعلی Plugin،
`codex` را مجاز بداند و نشست‌ها بایگانی نشده باشند. پس از
تغییر فعال‌سازی، Gateway یا Node را راه‌اندازی مجدد کنید.

**Continue غیرفعال است:** یک ردیف نگاشت‌نشده فعال است، به یک Node جفت‌شده تعلق دارد،
میزبان آن آفلاین است یا کنش دیگری در انتظار است. ردیف‌های محلی Gateway که ذخیره‌شده یا غیرفعال‌اند،
به‌جای تصاحب ناامن دقیق رشته، **Continue as branch** را ارائه می‌کنند. ردیفی
که از قبل گفت‌وگویی تحت نظارت دارد، **Open Chat** را ارائه می‌کند.

**Archive غیرفعال است:** پس از تأیید اینکه اجراکنندهٔ دیگری وجود ندارد، بایگانی برای ردیف‌های
محلی Gateway با وضعیت ذخیره‌شده/فعالیت نامشخص و غیرفعال در دسترس است. ردیف‌های فعال، خطادار،
آفلاین، مربوط به Node جفت‌شده، دارای شاخهٔ در انتظار و دارای مالک شناخته‌شدهٔ اتصال دقیق،
برای بایگانی فقط‌خواندنی باقی می‌مانند.

**یک نشست بایگانی‌شده ناپدید شد:** این رفتار مورد انتظار است. صفحهٔ نظارت
نمای بایگانی‌شده ندارد. `codex unarchive <thread-id>` را اجرا کنید یا از Codex Desktop استفاده کنید تا
دوباره نمایش داده شود.

**پیکربندی قدیمی `codex-supervisor` باقی مانده است:** `openclaw doctor --fix` را اجرا کنید. Doctor
ورودی بازنشستهٔ Plugin و ارجاع‌های مرتبط سیاست Plugin را بدون بازنویسی تنظیمات صریح Codex
به `plugins.entries.codex.config.supervision` منتقل می‌کند.

## مرتبط

- [هارنس Codex](/fa/plugins/codex-harness)
- [مرجع هارنس Codex](/fa/plugins/codex-harness-reference)
- [زمان اجرای هارنس Codex](/fa/plugins/codex-harness-runtime)
- [معماری نظارت Codex](/specs/codex-supervision)
- [Nodeها](/fa/nodes)
- [امنیت Gateway](/fa/gateway/security)
