---
read_when:
    - می‌خواهید نشست‌های ذخیره‌شده را فهرست کنید و فعالیت‌های اخیر را ببینید
summary: مرجع CLI برای `openclaw sessions` (فهرست‌کردن نشست‌های ذخیره‌شده + میزان استفاده)
title: نشست‌ها
x-i18n:
    generated_at: "2026-07-27T14:01:26Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: e00d846229dfad1ada1a8c9a548e26f26247d3f7e5a35106903f6cd4818878b5
    source_path: cli/sessions.md
    workflow: 16
---

# `openclaw sessions`

نشست‌های گفت‌وگوی ذخیره‌شده را فهرست کنید.

فهرست نشست‌ها بررسی زنده‌بودن کانال/ارائه‌دهنده نیست. این فهرست‌ها ردیف‌های
گفت‌وگوی ماندگارشده در مخازن نشست را نشان می‌دهند. یک Discord، Slack، Telegram یا
کانال دیگرِ غیرفعال می‌تواند با موفقیت دوباره متصل شود، بی‌آنکه تا زمان پردازش
یک پیام، ردیف نشست جدیدی ایجاد کند. هنگامی که به اتصال زنده
کانال نیاز دارید، از `openclaw channels status --probe`،
`openclaw status --deep` یا `openclaw health --verbose` استفاده کنید.

```bash
openclaw sessions
openclaw sessions --agent work
openclaw sessions --all-agents
openclaw sessions --active 120
openclaw sessions --limit 25
openclaw sessions --store ./tmp/sessions.json
openclaw sessions --json
```

پرچم‌ها:

| پرچم                 | توضیحات                                                            |
| -------------------- | ---------------------------------------------------------------------- |
| `--agent <id>`       | یک مخزن عامل پیکربندی‌شده (پیش‌فرض: عامل پیش‌فرض پیکربندی‌شده).        |
| `--all-agents`       | همه مخازن عامل پیکربندی‌شده را تجمیع می‌کند.                                 |
| `--store <path>`     | مسیر صریح مخزن (نمی‌توان آن را با `--agent` یا `--all-agents` ترکیب کرد). |
| `--active <minutes>` | فقط نشست‌هایی را نشان می‌دهد که در N دقیقه گذشته به‌روزرسانی شده‌اند.                  |
| `--limit <n\|all>`   | حداکثر تعداد ردیف‌های خروجی (پیش‌فرض `100`؛ `all` خروجی کامل را برمی‌گرداند).        |
| `--json`             | خروجی ماشین‌خوان.                                               |
| `--verbose`          | گزارش‌گیری مشروح.                                                       |

`openclaw sessions` و RPC مربوط به `sessions.list` در Gateway به‌طور پیش‌فرض
محدود هستند تا مخازن بزرگ و دیرپا نتوانند فرایند CLI یا حلقه رویداد
Gateway را در انحصار خود بگیرند. CLI به‌طور پیش‌فرض جدیدترین 100 نشست را برمی‌گرداند؛ برای
بازه‌ای کوچک‌تر/بزرگ‌تر `--limit <n>` را ارسال کنید، یا هنگامی که عمداً به
کل مخزن نیاز دارید از `--limit all` استفاده کنید. پاسخ‌های JSON شامل
`totalCount`، `limitApplied` و `hasMore` هستند تا فراخوانندگان
در صورت نیاز بتوانند وجود ردیف‌های بیشتر را نشان دهند.

کلاینت‌های RPC می‌توانند `configuredAgentsOnly: true` را ارسال کنند تا منبع گسترده و ترکیبی
کشف حفظ شود، اما فقط ردیف‌های عامل‌هایی برگردانده شوند که اکنون در پیکربندی حضور دارند.
Control UI به‌طور پیش‌فرض از این حالت استفاده می‌کند تا مخازن عامل حذف‌شده یا فقط موجود
روی دیسک دوباره در نمای نشست‌ها ظاهر نشوند.

`--all-agents` مخازن عامل پیکربندی‌شده را می‌خواند. کشف نشست در Gateway و ACP
گسترده‌تر است: این فرایند مخازن SQLite را نیز شامل می‌شود که از ریشه‌های عامل
پیکربندی‌شده یا یک ریشه قالب‌دار `session.store` تفکیک شده‌اند. مسیرهای انتخابگر
قدیمی باید درون ریشه عامل تفکیک شوند؛ پیوندهای نمادین و مسیرهای خارج از ریشه
نادیده گرفته می‌شوند.

`openclaw sessions --all-agents --json`:

```json
{
  "path": null,
  "stores": [
    { "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" },
    { "agentId": "work", "path": "/home/user/.openclaw/agents/work/sessions/sessions.json" }
  ],
  "allAgents": true,
  "count": 2,
  "totalCount": 2,
  "limitApplied": 100,
  "hasMore": false,
  "activeMinutes": null,
  "sessions": [
    { "agentId": "main", "key": "agent:main:main", "model": "openai/gpt-5.6-sol" },
    { "agentId": "work", "key": "agent:work:main", "model": "anthropic/claude-sonnet-4-6" }
  ]
}
```

## دنبال‌کردن پیشرفت مسیر اجرا

```bash
openclaw sessions tail
openclaw sessions tail --follow
openclaw sessions tail --session-key "agent:main:telegram:direct:123" --tail 25
openclaw sessions --agent work tail --follow
openclaw sessions --all-agents tail --follow
```

`openclaw sessions tail` رویدادهای اخیر مسیر اجرای زمان اجرا را به‌شکل خطوط فشرده
پیشرفت نمایش می‌دهد. بدون `--session-key`، ابتدا نشست‌های در حال اجرا و سپس
آخرین نشست ذخیره‌شده را دنبال می‌کند. `--tail <count>` تعیین می‌کند پیش از حالت
دنبال‌کردن چند رویداد موجود چاپ شود؛ مقدار پیش‌فرض `80` است و
`0` از انتهای فعلی آغاز می‌کند.
`--follow` نظارت بر نشست انتخاب‌شده مبتنی بر SQLite یا یک فایل صریح
مسیر اجرای قدیمی را ادامه می‌دهد.

نمای پیشرفت عمداً محافظه‌کارانه است: متن پرامپت، آرگومان‌های ابزار و
بدنه نتایج ابزار چاپ نمی‌شوند. فراخوانی‌های ابزار نام ابزار را همراه با
`{...redacted...}` نشان می‌دهند؛ نتایج ابزار وضعیت‌هایی مانند `ok`،
`error` یا `done` را نشان می‌دهند؛ خطوط تکمیل مدل
ارائه‌دهنده/مدل و وضعیت پایانی را نشان می‌دهند.

## صادرکردن یک بسته مسیر اجرا

```bash
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --output bug-123 --json
```

این همان مسیر فرمانی است که فرمان اسلش `/export-trajectory` پس از
تأیید درخواست اجرا توسط مالک استفاده می‌کند. پوشه خروجی همیشه درون
`.openclaw/trajectory-exports/` در فضای کاری انتخاب‌شده تفکیک می‌شود.

## نگه‌داری پاک‌سازی

به‌جای انتظار برای چرخه نوشتن بعدی، نگه‌داری را اکنون اجرا کنید:

```bash
openclaw sessions cleanup --dry-run
openclaw sessions cleanup --agent work --dry-run
openclaw sessions cleanup --all-agents --dry-run
openclaw sessions cleanup --enforce
openclaw sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"
openclaw sessions cleanup --dry-run --fix-dm-scope
openclaw sessions cleanup --json
```

`openclaw sessions cleanup` از تنظیمات `session.maintenance` در پیکربندی استفاده می‌کند
([مرجع پیکربندی](/fa/gateway/config-agents#session)):

- نکته دامنه: `openclaw sessions cleanup` مخازن نشست،
  رونوشت‌ها، ردیف‌های مسیر اجرا و فایل‌های جانبی قدیمی مسیر اجرا را نگه‌داری می‌کند. این فرایند
  تاریخچه اجرای cron را هرس نمی‌کند؛ این تاریخچه به‌طور خودکار جدیدترین 2000 ردیف را برای هر کار
  نگه می‌دارد ([پیکربندی Cron](/fa/automation/cron-jobs#configuration)).
- پاک‌سازی همچنین مصنوعات رونوشت قدیمی/بایگانیِ بدون ارجاع،
  نقاط وارسی Compaction و فایل‌های جانبی مسیر اجرای قدیمی‌تر از
  `session.maintenance.pruneAfter` را هرس می‌کند؛ مصنوعاتی که همچنان توسط ردیف‌های نشست SQLite
  مورد ارجاع هستند حفظ می‌شوند.
- پاک‌سازی، حذف کاوشگرهای کوتاه‌عمر اجرای مدل Gateway را جداگانه با عنوان
  `modelRunPruned` گزارش می‌کند. این مورد فقط با کلیدهای صریح و سخت‌گیرانه‌ای با ساختار
  `agent:*:explicit:model-run-<uuid>` مطابقت دارد. مدت نگه‌داری ثابت و برابر با `24h` است و
  به فشار وابسته است: ردیف‌های کاوشگر منقضی فقط هنگامی حذف می‌شوند که فشار
  نگه‌داری/سقف ورودی نشست ایجاد شود. هنگام اجرا، پاک‌سازی اجرای مدل
  پیش از پاک‌سازی کلی موارد منقضی و اعمال سقف انجام می‌شود.

پرچم‌ها:

| پرچم                 | توضیحات                                                                                                                                                                                                                                                                                                |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--dry-run`          | بدون نوشتن، تعداد ورودی‌هایی را که هرس می‌شوند یا سقف می‌خورند پیش‌نمایش می‌کند. در حالت متنی، یک جدول اقدام برای هر نشست (`Action`، `Key`، `Age`، `Model`، `Flags`) به‌همراه خلاصه‌ای گروه‌بندی‌شده بر اساس برچسب نشست چاپ می‌کند.                                                                                                       |
| `--enforce`          | حتی هنگامی که `session.maintenance.mode` برابر با `warn` است، نگه‌داری را اعمال می‌کند.                                                                                                                                                                                                                                          |
| `--fix-missing`      | ورودی‌های قدیمی را که مصنوعات رونوشت بایگانی‌شده آن‌ها مفقود، فقط شامل سرآیند یا خالی هستند حذف می‌کند، حتی اگر هنوز طبق روال عادی به محدودیت سن/تعداد نرسیده باشند.                                                                                                                                                             |
| `--fix-dm-scope`     | هنگامی که `session.dmScope` برابر با `main` است، ردیف‌های پیام مستقیمِ منقضی و کلیدگذاری‌شده بر اساس همتا را که از مسیریابی پیشین `per-peer`، `per-channel-peer` یا `per-account-channel-peer` باقی مانده‌اند کنار می‌گذارد. ابتدا از `--dry-run` استفاده کنید؛ اعمال آن، ردیف‌ها را از SQLite حذف و مصنوعات رونوشت قدیمی آن‌ها را به‌صورت بایگانی‌های حذف‌شده حفظ می‌کند. |
| `--active-key <key>` | از یک کلید فعال مشخص در برابر اخراج ناشی از بودجه دیسک محافظت می‌کند. اشاره‌گرهای ماندگار گفت‌وگوی خارجی، مانند نشست‌های گروهی و نشست‌های گفت‌وگوی محدود به رشته، نیز توسط نگه‌داری مبتنی بر سن/تعداد/بودجه دیسک حفظ می‌شوند.                                                                                               |
| `--agent <id>`       | پاک‌سازی را برای یک مخزن عامل پیکربندی‌شده اجرا می‌کند.                                                                                                                                                                                                                                                                |
| `--all-agents`       | پاک‌سازی را برای همه مخازن عامل پیکربندی‌شده اجرا می‌کند.                                                                                                                                                                                                                                                               |
| `--store <path>`     | روی یک مسیر انتخابگر مخزن قدیمی مشخص اجرا می‌شود.                                                                                                                                                                                                                                                         |
| `--json`             | یک خلاصه JSON چاپ می‌کند. همراه با `--all-agents`، خروجی برای هر مخزن یک خلاصه دارد.                                                                                                                                                                                                                          |

هنگامی که Gateway در دسترس باشد، پاک‌سازی غیرآزمایشی برای مخازن عامل
پیکربندی‌شده از طریق Gateway ارسال می‌شود تا از همان نویسنده مخزن نشستِ ترافیک
زمان اجرا استفاده کند. برای تعمیر آفلاین صریح یک انتخابگر مخزن قدیمی، از
`--store <path>` استفاده کنید.

`openclaw sessions cleanup --all-agents --dry-run --json`:

```json
{
  "allAgents": true,
  "mode": "warn",
  "dryRun": true,
  "stores": [
    {
      "agentId": "main",
      "storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json",
      "beforeCount": 120,
      "afterCount": 80,
      "missing": 0,
      "dmScopeRetired": 0,
      "pruned": 40,
      "capped": 0
    },
    {
      "agentId": "work",
      "storePath": "/home/user/.openclaw/agents/work/sessions/sessions.json",
      "beforeCount": 18,
      "afterCount": 18,
      "missing": 0,
      "dmScopeRetired": 0,
      "pruned": 0,
      "capped": 0
    }
  ]
}
```

## فشرده‌سازی یک نشست

بودجه زمینه را برای یک نشست گیرکرده یا بیش‌ازحد بزرگ بازیابی کنید. `openclaw sessions
compact <key>` پوشش درجه‌اولی پیرامون RPC مربوط به `sessions.compact`
در Gateway است و به یک Gateway در حال اجرا نیاز دارد.

```bash
openclaw sessions compact "agent:main:main"
openclaw sessions compact "agent:main:main" --max-lines 200
openclaw sessions compact "agent:work:main" --agent work --json
```

- بدون `--max-lines`، Gateway رونوشت را با LLM خلاصه می‌کند. CLI
  به‌طور پیش‌فرض مهلت کلاینتی اعمال نمی‌کند؛ Gateway چرخه عمر Compaction
  پیکربندی‌شده را مدیریت می‌کند.
- با `--max-lines <n>`، رونوشت به آخرین `n` خط محدود می‌شود و
  رونوشت قبلی به‌عنوان یک فایل جانبی `.bak` بایگانی می‌شود.
- `--agent <id>`: عاملی که مالک نشست است؛ برای کلیدهای `global` الزامی است.
- `--url` / `--token` / `--password`: بازنویسی‌های اتصال Gateway.
- `--timeout <ms>`: مهلت اختیاری RPC در سمت کلاینت بر حسب میلی‌ثانیه.
- `--json`: محموله خام RPC را چاپ می‌کند.

فرمان زمانی با کد غیرصفر خارج می‌شود که Gateway یک Compaction ناموفق را گزارش کند یا
دسترس‌ناپذیر باشد؛ بنابراین Cronها و اسکریپت‌ها هرگز یک عملیات بی‌اثرِ بی‌صدا را با موفقیت اشتباه نمی‌گیرند.

<Note>
`openclaw agent --message '/compact ...'` مسیر Compaction **نیست**. فرمان‌های اسلش
از CLI توسط بررسی فرستنده مجاز رد می‌شوند؛ آن فراخوانی به‌جای انجام بی‌صدای
هیچ عملیاتی، با کد غیرصفر خارج می‌شود و راهنمایی‌ای ارائه می‌دهد که به اینجا ارجاع می‌دهد.
</Note>

### RPC مربوط به sessions.compact

`openclaw gateway call sessions.compact --params '<json>'` موارد زیر را می‌پذیرد:

| فیلد      | نوع        | الزامی | توضیحات                                                |
| ---------- | ----------- | -------- | ---------------------------------------------------------- |
| `key`      | رشته      | بله      | کلید نشست برای Compaction (برای مثال `agent:main:main`).    |
| `agentId`  | رشته      | خیر       | شناسه عاملی که مالک نشست است (برای کلیدهای `global`).        |
| `maxLines` | عدد صحیح ≥ 1 | خیر       | به‌جای خلاصه‌سازی با LLM، به آخرین N خط محدود می‌کند. |

نمونه پاسخ خلاصه‌سازی با LLM:

```json
{
  "ok": true,
  "key": "agent:main:main",
  "compacted": true,
  "result": { "tokensBefore": 243868, "tokensAfter": 34941 }
}
```

نمونه پاسخ محدودسازی (`--max-lines 200`):

```json
{
  "ok": true,
  "key": "agent:main:main",
  "compacted": true,
  "archived": "/home/user/.openclaw/agents/main/sessions/transcripts/<id>.jsonl.bak",
  "kept": 200
}
```

## مرتبط

- [پیکربندی نشست](/fa/gateway/config-agents#session)
- [مدیریت نشست](/fa/concepts/session)
- [Compaction](/fa/concepts/compaction)
- [مرجع CLI](/fa/cli)
