---
read_when:
    - تريد فهم توجيه الجلسات وعزلها
    - تريد تكوين نطاق الرسائل المباشرة لإعدادات متعددة المستخدمين
    - أنت تصحّح أخطاء عمليات إعادة تعيين الجلسات اليومية أو الخاملة
summary: كيف يدير OpenClaw جلسات المحادثة
title: إدارة الجلسات
x-i18n:
    generated_at: "2026-05-02T07:25:47Z"
    model: gpt-5.5
    provider: openai
    source_hash: b2fd0c9e880242a8d0070c24bd1f7971e4082344240e28632e2e3ca032404807
    source_path: concepts/session.md
    workflow: 16
---

ينظّم OpenClaw المحادثات في **جلسات**. تُوجَّه كل رسالة إلى جلسة بناءً على مصدرها -- الرسائل المباشرة، والمحادثات الجماعية، ومهام cron، وما إلى ذلك.

## كيفية توجيه الرسائل

| المصدر | السلوك |
| --------------- | ------------------------- |
| الرسائل المباشرة | جلسة مشتركة افتراضيًا |
| المحادثات الجماعية | معزولة لكل مجموعة |
| الغرف/القنوات | معزولة لكل غرفة |
| مهام Cron | جلسة جديدة لكل تشغيل |
| Webhooks | معزولة لكل hook |

## عزل الرسائل المباشرة

افتراضيًا، تشترك كل الرسائل المباشرة في جلسة واحدة لاستمرارية السياق. هذا مناسب لإعدادات المستخدم الواحد.

<Warning>
إذا كان بإمكان عدة أشخاص مراسلة وكيلك، ففعّل عزل الرسائل المباشرة. بدونه، سيشارك جميع المستخدمين سياق المحادثة نفسه -- وستكون رسائل Alice الخاصة مرئية لـ Bob.
</Warning>

**الإصلاح:**

```json5
{
  session: {
    dmScope: "per-channel-peer", // isolate by channel + sender
  },
}
```

خيارات أخرى:

- `main` (الافتراضي) -- تشترك كل الرسائل المباشرة في جلسة واحدة.
- `per-peer` -- العزل حسب المرسل (عبر القنوات).
- `per-channel-peer` -- العزل حسب القناة + المرسل (موصى به).
- `per-account-channel-peer` -- العزل حسب الحساب + القناة + المرسل.

<Tip>
إذا كان الشخص نفسه يتواصل معك من قنوات متعددة، فاستخدم
`session.identityLinks` لربط هوياته بحيث يشارك جلسة واحدة.
</Tip>

### إرساء القنوات المرتبطة

تتيح أوامر الإرساء للمستخدم نقل مسار الرد لجلسة المحادثة المباشرة الحالية إلى قناة مرتبطة أخرى دون بدء جلسة جديدة. راجع
[إرساء القنوات](/ar/concepts/channel-docking) للاطلاع على أمثلة، وإعدادات، واستكشاف الأخطاء وإصلاحها.

تحقق من إعدادك باستخدام `openclaw security audit`.

## دورة حياة الجلسة

تُعاد استخدام الجلسات حتى تنتهي صلاحيتها:

- **إعادة الضبط اليومية** (افتراضيًا) -- جلسة جديدة عند الساعة 4:00 صباحًا بالتوقيت المحلي على مضيف Gateway. تعتمد الحداثة اليومية على وقت بدء `sessionId` الحالي، وليس على عمليات كتابة البيانات الوصفية اللاحقة.
- **إعادة الضبط عند الخمول** (اختياري) -- جلسة جديدة بعد فترة من عدم النشاط. اضبط
  `session.reset.idleMinutes`. تعتمد حداثة الخمول على آخر تفاعل حقيقي من مستخدم/قناة، لذلك لا تُبقي أحداث النظام مثل heartbeat وcron وexec الجلسة نشطة.
- **إعادة الضبط اليدوية** -- اكتب `/new` أو `/reset` في الدردشة. يقوم `/new <model>` أيضًا بتبديل النموذج.

عند إعداد كل من إعادة الضبط اليومية وإعادة الضبط عند الخمول، تُطبَّق أيهما تنتهي صلاحيتها أولًا. قد تكتب أدوار أحداث النظام مثل Heartbeat وcron وexec وغيرها بيانات وصفية للجلسة، لكن تلك الكتابات لا تمدد حداثة إعادة الضبط اليومية أو عند الخمول. عند تدوير الجلسة بفعل إعادة الضبط، تُتجاهل إشعارات أحداث النظام الموجودة في قائمة الانتظار للجلسة القديمة حتى لا تُضاف تحديثات خلفية قديمة إلى أول prompt في الجلسة الجديدة.

لا تُقطَع الجلسات التي تحتوي على جلسة CLI نشطة مملوكة للمزوّد بواسطة الإعداد اليومي الافتراضي الضمني. استخدم `/reset` أو اضبط `session.reset` صراحةً عندما ينبغي أن تنتهي صلاحية هذه الجلسات وفق مؤقّت.

## مكان وجود الحالة

كل حالة الجلسة مملوكة لـ **Gateway**. تستعلم عملاء UI من Gateway عن بيانات الجلسة.

- **المخزن:** `~/.openclaw/agents/<agentId>/sessions/sessions.json`
- **النصوص:** `~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl`

يحتفظ `sessions.json` بطوابع زمنية منفصلة لدورة الحياة:

- `sessionStartedAt`: وقت بدء `sessionId` الحالي؛ تستخدم إعادة الضبط اليومية هذا.
- `lastInteractionAt`: آخر تفاعل مستخدم/قناة يمدد مدة الخمول.
- `updatedAt`: آخر تعديل لصف المخزن؛ مفيد للعرض والتنظيف، لكنه ليس مرجعًا حاسمًا لحداثة إعادة الضبط اليومية/عند الخمول.

تُحل الصفوف الأقدم التي لا تحتوي على `sessionStartedAt` من ترويسة جلسة JSONL الخاصة بالنص عند توفرها. إذا كان صف أقدم يفتقر أيضًا إلى `lastInteractionAt`، فترجع حداثة الخمول إلى وقت بدء تلك الجلسة، وليس إلى كتابات الصيانة اللاحقة.

## صيانة الجلسات

يحد OpenClaw تلقائيًا من تخزين الجلسات بمرور الوقت. افتراضيًا، يعمل في وضع `warn` (يبلّغ عما كان سيُنظَّف). اضبط `session.maintenance.mode`
على `"enforce"` للتنظيف التلقائي:

```json5
{
  session: {
    maintenance: {
      mode: "enforce",
      pruneAfter: "30d",
      maxEntries: 500,
    },
  },
}
```

بالنسبة لحدود `maxEntries` بحجم الإنتاج، تستخدم كتابات وقت تشغيل Gateway مخزنًا مؤقتًا صغيرًا للحد الأعلى وتنظف نزولًا إلى السقف المضبوط على دفعات. لا تقص قراءات مخزن الجلسات الإدخالات أو تضع سقفًا لها أثناء بدء تشغيل Gateway. يتجنب ذلك تشغيل تنظيف كامل للمخزن عند كل بدء تشغيل أو جلسة cron معزولة. يطبق `openclaw sessions cleanup --enforce` السقف فورًا.

تحافظ الصيانة على مؤشرات المحادثات الخارجية الدائمة، بما في ذلك جلسات المجموعات وجلسات الدردشة محددة النطاق بالخيط، مع السماح في الوقت نفسه لإدخالات cron الاصطناعية وhook وHeartbeat وACP والوكلاء الفرعيين بأن تتقادم وتُزال.

اعرض معاينة باستخدام `openclaw sessions cleanup --dry-run`.

## فحص الجلسات

- `openclaw status` -- مسار مخزن الجلسات والنشاط الأخير.
- `openclaw sessions --json` -- كل الجلسات (صفِّ باستخدام `--active <minutes>`).
- `/status` في الدردشة -- استخدام السياق، والنموذج، والمفاتيح.
- `/context list` -- ما الموجود في prompt النظام.

## قراءة إضافية

- [تقليم الجلسات](/ar/concepts/session-pruning) -- تقليم نتائج الأدوات
- [Compaction](/ar/concepts/compaction) -- تلخيص المحادثات الطويلة
- [أدوات الجلسة](/ar/concepts/session-tool) -- أدوات الوكيل للعمل عبر الجلسات
- [دراسة معمقة في إدارة الجلسات](/ar/reference/session-management-compaction) --
  مخطط المخزن، والنصوص، وسياسة الإرسال، وبيانات الأصل الوصفية، والإعدادات المتقدمة
- [الوكلاء المتعددون](/ar/concepts/multi-agent) — التوجيه وعزل الجلسات عبر الوكلاء
- [المهام الخلفية](/ar/automation/tasks) — كيف ينشئ العمل المنفصل سجلات مهام بمراجع جلسات
- [توجيه القنوات](/ar/channels/channel-routing) — كيف تُوجَّه الرسائل الواردة إلى الجلسات

## ذو صلة

- [تقليم الجلسات](/ar/concepts/session-pruning)
- [أدوات الجلسة](/ar/concepts/session-tool)
- [قائمة انتظار الأوامر](/ar/concepts/queue)
