---
read_when:
    - تريد فهم توجيه الجلسات وعزلها
    - تريد تكوين نطاق الرسائل المباشرة لإعدادات متعددة المستخدمين
    - أنت تصحح أخطاء إعادة تعيين الجلسات اليومية أو الخاملة
summary: كيفية إدارة OpenClaw لجلسات المحادثة
title: إدارة الجلسات
x-i18n:
    generated_at: "2026-05-07T13:16:32Z"
    model: gpt-5.5
    provider: openai
    source_hash: 4e5ec741a33262ce5c42caf021ad81892e89b3315db31ac7b141d5a13e8b22a2
    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 وغيرها من أحداث النظام بيانات وصفية للجلسة،
لكن عمليات الكتابة هذه لا تمدد حداثة إعادة التعيين اليومية أو إعادة التعيين عند الخمول. عندما تؤدي إعادة التعيين
إلى تدوير الجلسة، تُتجاهل إشعارات أحداث النظام في قائمة الانتظار للجلسة القديمة
حتى لا تُضاف تحديثات الخلفية القديمة في بداية أول مطالبة في
الجلسة الجديدة.

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

## مكان تخزين الحالة

كل حالة الجلسة مملوكة لـ **Gateway**. تستعلم عملاء الواجهة عن 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 والوكلاء الفرعيين الاصطناعية بأن تتقادم وتُزال.

إذا كنت قد استخدمت سابقًا عزل الرسائل المباشرة ثم أعدت
`session.dmScope` إلى `main`، فاستعرض صفوف الرسائل المباشرة القديمة ذات مفاتيح الأقران باستخدام
`openclaw sessions cleanup --dry-run --fix-dm-scope`. يؤدي تطبيق العلامة نفسها
إلى تقاعد صفوف الرسائل المباشرة القديمة هذه والاحتفاظ بنصوصها كأرشيفات
محذوفة.

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

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

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

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

- [تنظيف الجلسات](/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)
