---
read_when:
    - تريد فهم أدوات الجلسة المتاحة للوكيل
    - تريد تكوين الوصول عبر الجلسات أو إنشاء وكلاء فرعيين
    - تريد فحص حالة الوكيل الفرعي المُنشأ
summary: أدوات الوكيل لحالة الجلسات المتعددة والاستدعاء والمراسلة وتنسيق الوكلاء الفرعيين
title: أدوات الجلسة
x-i18n:
    generated_at: "2026-07-04T20:33:36Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 2f344642b8d234984719cc603b4ac8773314a0bffdb0ac7d5a7280e584c5f530
    source_path: concepts/session-tool.md
    workflow: 16
---

يوفر OpenClaw للوكلاء أدوات للعمل عبر الجلسات، وفحص الحالة،
وتنسيق الوكلاء الفرعيين.

## الأدوات المتاحة

| الأداة              | ما الذي تفعله                                                                 |
| ------------------ | --------------------------------------------------------------------------- |
| `sessions_list`    | سرد الجلسات مع مرشحات اختيارية (النوع، التسمية، الوكيل، الأرشيف، المعاينة) |
| `sessions_history` | قراءة نص جلسة محددة                                                          |
| `sessions_send`    | إرسال رسالة إلى جلسة أخرى والانتظار اختياريًا                                |
| `sessions_spawn`   | إنشاء جلسة وكيل فرعي معزولة للعمل في الخلفية                                |
| `sessions_yield`   | إنهاء الدور الحالي وانتظار نتائج متابعة الوكيل الفرعي                        |
| `subagents`        | سرد حالة الوكلاء الفرعيين الذين تم إنشاؤهم لهذه الجلسة                      |
| `session_status`   | عرض بطاقة بنمط `/status` وتعيين تجاوز نموذج لكل جلسة اختياريًا              |

تظل هذه الأدوات خاضعة لملف تعريف الأدوات النشط وسياسة السماح/الرفض.
يتضمن `tools.profile: "coding"` مجموعة تنسيق الجلسات الكاملة، بما في ذلك
`sessions_spawn` و`sessions_yield` و`subagents`.
ويتضمن `tools.profile: "messaging"` أدوات المراسلة عبر الجلسات
(`sessions_list` و`sessions_history` و`sessions_send` و`session_status`) لكنه
لا يتضمن إنشاء الوكلاء الفرعيين. للاحتفاظ بملف تعريف مراسلة مع السماح
بالتفويض الأصلي، أضف:

```json5
{
  tools: {
    profile: "messaging",
    alsoAllow: ["sessions_spawn", "sessions_yield", "subagents"],
  },
}
```

لا تزال سياسات المجموعة، والمزود، ووضع الحماية، والسياسات الخاصة بكل وكيل
قادرة على إزالة تلك الأدوات بعد مرحلة ملف التعريف. استخدم `/tools` من الجلسة
المتأثرة لفحص قائمة الأدوات الفعلية.

## سرد الجلسات وقراءتها

يعيد `sessions_list` الجلسات مع مفتاحها، وagentId، والنوع، والقناة، والنموذج،
وعدد الرموز، والطوابع الزمنية. يمكنك الترشيح حسب النوع (`main`، `group`،
`cron`، `hook`، `node`)، أو `label` المطابقة تمامًا، أو `agentId` المطابق
تمامًا، أو نص البحث، أو الحداثة (`activeMinutes`). تُعاد الجلسات النشطة
افتراضيًا؛ مرر `archived: true` لفحص الجلسات المؤرشفة. تتضمن الصفوف حالة
التثبيت والأرشفة. وعندما تحتاج إلى فرز شبيه بصندوق البريد، يمكنه أيضًا طلب
عنوان مشتق بنطاق رؤية محدد، أو مقتطف معاينة من آخر رسالة، أو رسائل حديثة
محدودة في كل صف. لا تُنتج العناوين والمعاينات المشتقة إلا للجلسات التي يستطيع
المستدعي رؤيتها بالفعل ضمن سياسة رؤية أداة الجلسة المكونة، لذلك تبقى الجلسات
غير ذات الصلة مخفية. عندما تكون الرؤية مقيدة، يعيد `sessions_list` بيانات
تعريف `visibility` اختيارية تعرض الوضع الفعلي وتحذيرًا بأن النتائج قد تكون
محدودة النطاق.

يجلب `sessions_history` نص المحادثة لجلسة محددة. افتراضيًا، تُستبعد نتائج
الأدوات -- مرر `includeTools: true` لرؤيتها. استخدم `limit` للحصول على أحدث
ذيل محدود. مرر `offset: 0` عندما تحتاج إلى بيانات تعريف الترقيم، ثم مرر قيم
`nextOffset` المعادة للتنقل للخلف عبر نوافذ نصوص OpenClaw الأقدم دون قراءة
ملفات النص الخام. لا تدمج صفحات الإزاحة الصريحة واردات الرجوع الاحتياطية
الخارجية لـ CLI؛ استخدم عرض أحدث ذيل الافتراضي عندما تحتاج إلى سجل العرض
المدمج هذا.
العرض المعاد محدود ومفلتر للسلامة عمدًا:

- يتم تطبيع نص المساعد قبل الاستدعاء:
  - تزال وسوم التفكير
  - تزال كتل السقالة `<relevant-memories>` / `<relevant_memories>`
  - تزال كتل حمولات XML لاستدعاءات الأدوات بالنص العادي مثل `<tool_call>...</tool_call>`،
    و`<function_call>...</function_call>`، و`<tool_calls>...</tool_calls>`، و
    `<function_calls>...</function_calls>`، بما في ذلك الحمولات المقتطعة
    التي لا تُغلق بشكل سليم
  - تزال سقالة استدعاء/نتيجة الأداة المخفضة مثل `[Tool Call: ...]`،
    و`[Tool Result ...]`، و`[Historical context ...]`
  - تزال رموز التحكم المسربة للنموذج مثل `<|assistant|>`، ورموز ASCII الأخرى
    `<|...|>`، ومتغيرات العرض الكامل `<｜...｜>`
  - تزال XML لاستدعاءات أدوات MiniMax المشوهة مثل `<invoke ...>` /
    `</minimax:tool_call>`
- تُنقح النصوص الشبيهة ببيانات الاعتماد/الرموز قبل إعادتها
- تُقتطع كتل النص الطويلة
- يمكن للسجلات الكبيرة جدًا إسقاط الصفوف الأقدم أو استبدال صف زائد الحجم بـ
  `[sessions_history omitted: message too large]`
- تبلغ الأداة عن أعلام ملخص مثل `truncated`، و`droppedMessages`،
  و`contentTruncated`، و`contentRedacted`، و`bytes`، وبيانات تعريف الترقيم

تقبل الأداتان إما **مفتاح جلسة** (مثل `"main"`) أو **معرف جلسة** من استدعاء
سرد سابق.

إذا احتجت إلى النص المطابق بايتًا ببايت، فافحص ملف النص على القرص بدلًا من
التعامل مع `sessions_history` كتفريغ خام.

## إرسال الرسائل عبر الجلسات

يوصل `sessions_send` رسالة إلى جلسة أخرى وينتظر الرد اختياريًا:

- **إرسال دون انتظار:** عيّن `timeoutSeconds: 0` للإدراج في الطابور والعودة
  فورًا.
- **انتظار الرد:** عيّن مهلة واحصل على الرد ضمنيًا.

جلسات الدردشة ذات نطاق السلسلة، مثل مفاتيح Slack أو Discord التي تنتهي بـ
`:thread:<id>`، ليست أهدافًا صالحة لـ `sessions_send`. استخدم مفتاح جلسة
القناة الأصلية للتنسيق بين الوكلاء حتى لا تظهر الرسائل الموجهة عبر الأدوات
داخل سلسلة نشطة موجهة للبشر.

تُعلّم الرسائل وردود متابعة A2A كبيانات بين الجلسات في مطالبة الاستلام
(`[Inter-session message ... isUser=false]`) وفي مصدر النص. ينبغي للوكيل
المستلم التعامل معها كبيانات موجهة عبر الأدوات، لا كتعليمة مباشرة كتبها
المستخدم النهائي.

بعد أن يرد الهدف، يستطيع OpenClaw تشغيل **حلقة رد عكسي** يتبادل فيها الوكلاء
الرسائل (حتى `session.agentToAgent.maxPingPongTurns`، النطاق 0-20، الافتراضي
5). يمكن للوكيل الهدف الرد بـ `REPLY_SKIP` للإيقاف مبكرًا.

## مساعدات الحالة والتنسيق

`session_status` هي الأداة الخفيفة المكافئة لـ `/status` للجلسة الحالية أو
جلسة مرئية أخرى. تبلغ عن الاستخدام، والوقت، وحالة النموذج/وقت التشغيل، وسياق
مهام الخلفية المرتبط عند وجوده. مثل `/status`، يمكنها ملء عدادات الرموز/الذاكرة
المؤقتة المتفرقة من أحدث إدخال استخدام في النص، ويمسح `model=default` تجاوزًا
خاصًا بكل جلسة. استخدم `sessionKey="current"` للجلسة الحالية للمستدعي؛
التسميات المرئية للعميل مثل `openclaw-tui` ليست مفاتيح جلسات.

عندما تتوفر بيانات تعريف المسار، يتضمن `session_status` أيضًا كتلة JSON مرئية
لـ `Route context` وحقول `details` منظمة مطابقة. تزيل هذه الحقول الالتباس بين
مفتاح الجلسة والمسار الذي يعالج التشغيل الحي حاليًا:

- `origin` هو المكان الذي أُنشئت فيه الجلسة، أو المزود المستنتج من بادئة
  مفتاح جلسة قابل للتسليم عندما تفتقر الحالة الأقدم إلى بيانات تعريف المصدر
  المخزنة.
- `active` هو مسار التشغيل الحي الحالي. لا يُبلغ عنه إلا للجلسة الحية أو
  الحالية التي تُعالج الآن.
- `deliveryContext` هو مسار التسليم المستمر المخزن في الجلسة، والذي يستطيع
  OpenClaw إعادة استخدامه للتسليم لاحقًا حتى عندما يختلف السطح النشط.

ينهي `sessions_yield` الدور الحالي عمدًا حتى تكون الرسالة التالية هي حدث
المتابعة الذي تنتظره. استخدمه بعد إنشاء وكلاء فرعيين عندما تريد وصول نتائج
الإكمال كرسالة تالية بدلًا من بناء حلقات استطلاع.

`subagents` هو مساعد الرؤية للوكلاء الفرعيين في OpenClaw الذين أُنشئوا بالفعل.
يدعم `action: "list"` لفحص عمليات التشغيل النشطة/الحديثة.

## إنشاء الوكلاء الفرعيين

ينشئ `sessions_spawn` افتراضيًا جلسة معزولة لمهمة في الخلفية. وهو دائمًا غير
حاجب -- إذ يعود فورًا مع `runId` و`childSessionKey`. تتلقى عمليات تشغيل
الوكلاء الفرعيين الأصلية المهمة المفوضة في أول رسالة مرئية
`[Subagent Task]` في الجلسة الفرعية، بينما تحمل مطالبة النظام قواعد وقت تشغيل
الوكيل الفرعي وسياق التوجيه فقط.

الخيارات الرئيسية:

- `runtime: "subagent"` (الافتراضي) أو `"acp"` لوكلاء أحزمة الاختبار الخارجية.
- تجاوزات `model` و`thinking` للجلسة الفرعية.
- `thread: true` لربط الإنشاء بسلسلة دردشة (Discord، وSlack، وما إلى ذلك).
- `sandbox: "require"` لفرض وضع الحماية على الطفل.
- `context: "fork"` للوكلاء الفرعيين الأصليين عندما يحتاج الطفل إلى نص
  المستدعي الحالي؛ احذفه أو استخدم `context: "isolated"` لطفل نظيف.
  يستخدم الوكلاء الفرعيون الأصليون المرتبطون بسلسلة القيمة الافتراضية
  `context: "fork"` ما لم يقل `threadBindings.defaultSpawnContext` خلاف ذلك.

لا تحصل الوكلاء الفرعيون الطرفيون الافتراضيون على أدوات الجلسة. عندما يكون
`maxSpawnDepth >= 2`، يتلقى الوكلاء الفرعيون المنسقون في العمق 1 بالإضافة إلى
ذلك `sessions_spawn` و`subagents` و`sessions_list` و`sessions_history` حتى
يتمكنوا من إدارة أطفالهم. لا تزال عمليات التشغيل الطرفية لا تحصل على أدوات
تنسيق عودية.

بعد الإكمال، تنشر خطوة إعلان النتيجة إلى قناة المستدعي. يحافظ تسليم الإكمال
على توجيه السلسلة/الموضوع المرتبط عند توفره، وإذا كان مصدر الإكمال يحدد قناة
فقط، فلا يزال بإمكان OpenClaw إعادة استخدام المسار المخزن لجلسة المستدعي
(`lastChannel` / `lastTo`) للتسليم المباشر.

للسلوك الخاص بـ ACP، راجع [وكلاء ACP](/ar/tools/acp-agents).

## الرؤية

تُحدد أدوات الجلسة بنطاق للحد مما يستطيع الوكيل رؤيته:

| المستوى | النطاق                                    |
| ------- | ---------------------------------------- |
| `self`  | الجلسة الحالية فقط                       |
| `tree`  | الجلسة الحالية + الوكلاء الفرعيون المنشؤون |
| `agent` | كل الجلسات لهذا الوكيل                   |
| `all`   | كل الجلسات (عبر الوكلاء إذا تم تكوين ذلك) |

الافتراضي هو `tree`. تُقيد الجلسات المحمية إلى `tree` بغض النظر عن التكوين.

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

- [إدارة الجلسات](/ar/concepts/session) -- التوجيه، ودورة الحياة، والصيانة
- [وكلاء ACP](/ar/tools/acp-agents) -- إنشاء حزام الاختبار الخارجي
- [متعدد الوكلاء](/ar/concepts/multi-agent) -- بنية متعددة الوكلاء
- [تكوين Gateway](/ar/gateway/configuration) -- خيارات تكوين أداة الجلسة

## ذو صلة

- [إدارة الجلسات](/ar/concepts/session)
- [تشذيب الجلسات](/ar/concepts/session-pruning)
