---
read_when:
    - تريد فهم أدوات الجلسة المتاحة للوكيل
    - تريد تكوين الوصول عبر الجلسات أو إنشاء وكلاء فرعيين
    - تريد فحص الحالة أو التحكم في الوكلاء الفرعيين المُنشَئين
summary: أدوات الوكيل للحالة عبر الجلسات، والاسترجاع، والمراسلة، وتنسيق الوكلاء الفرعيين
title: أدوات الجلسة
x-i18n:
    generated_at: "2026-05-11T20:30:13Z"
    model: gpt-5.5
    provider: openai
    source_hash: e91f1f956ff882cabf7df51bd8c08836398decfb185c56c42db4052f24b3f716
    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`). عندما تحتاج إلى فرز بأسلوب صندوق البريد، يمكنه أيضًا طلب
عنوان مشتق محدود بنطاق الرؤية، أو مقتطف معاينة لآخر رسالة، أو رسائل حديثة
محدودة لكل صف. لا تُنتج العناوين المشتقة والمعاينات إلا للجلسات التي يستطيع
المستدعي رؤيتها أصلًا بموجب سياسة رؤية أداة الجلسة المكوّنة، لذلك تبقى
الجلسات غير ذات الصلة مخفية.

يجلب `sessions_history` نص محادثة جلسة محددة. افتراضيًا، تُستثنى نتائج
الأدوات -- مرّر `includeTools: true` لرؤيتها. العرض المعاد محدود ومصفّى
للسلامة عمدًا:

- يُطبّع نص المساعد قبل الاستدعاء:
  - تُزال وسوم التفكير
  - تُزال كتل السقالات `<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` ليست
مفاتيح جلسات.

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

`subagents` هو مساعد مستوى التحكم للوكلاء الفرعيين في OpenClaw الذين تم
إنشاؤهم بالفعل. يدعم:

- `action: "list"` لفحص التشغيلات النشطة/الحديثة
- `action: "steer"` لإرسال إرشاد متابعة إلى ابن قيد التشغيل
- `action: "kill"` لإيقاف ابن واحد أو `all`

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

ينشئ `sessions_spawn` افتراضيًا جلسة معزولة لمهمة خلفية. وهو دائمًا غير
حاجب -- يرجع فورًا مع `runId` و`childSessionKey`.

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

- `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)
