أدوات الجلسة
يوفر OpenClaw للوكلاء أدوات للعمل عبر الجلسات، وفحص الحالة، وتنسيق الوكلاء الفرعيين.الأدوات المتاحة
| الأداة | ما الذي تفعله |
|---|---|
sessions_list | عرض الجلسات مع عوامل تصفية اختيارية (النوع، والحداثة) |
sessions_history | قراءة السجل النصي لجلسة محددة |
sessions_send | إرسال رسالة إلى جلسة أخرى مع إمكانية الانتظار اختياريًا |
sessions_spawn | إنشاء جلسة وكيل فرعي معزولة لمهام الخلفية |
sessions_yield | إنهاء الدورة الحالية والانتظار لنتائج متابعة الوكلاء الفرعيين |
subagents | عرض الوكلاء الفرعيين الذين تم إنشاؤهم لهذه الجلسة أو توجيههم أو إيقافهم |
session_status | إظهار بطاقة على نمط /status مع إمكانية ضبط تجاوز نموذج لكل جلسة اختياريًا |
عرض الجلسات وقراءتها
تعيدsessions_list الجلسات مع مفتاحها، ونوعها، وقناتها، ونموذجها، وعدد
الرموز، والطوابع الزمنية. ويمكن التصفية حسب النوع (main أو group أو cron أو hook أو
node) أو الحداثة (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للإدراج في الطابور والعودة فورًا. - الانتظار للرد: اضبط مهلة زمنية واحصل على الرد ضمنيًا.
REPLY_SKIP للتوقف مبكرًا.
مساعدات الحالة والتنسيق
تُعدsession_status الأداة الخفيفة المكافئة لـ /status للجلسة الحالية
أو لأي جلسة أخرى مرئية. وهي تعرض الاستخدام، والوقت، وحالة النموذج/وقت التشغيل، و
سياق المهام الخلفية المرتبط عند وجوده. ومثل /status، يمكنها استكمال
عدادات الرموز/الذاكرة المؤقتة المتناثرة من أحدث إدخال استخدام في السجل النصي،
ويؤدي model=default إلى مسح التجاوز الخاص بكل جلسة.
تنهي sessions_yield عمدًا الدورة الحالية حتى تكون الرسالة التالية هي
حدث المتابعة الذي تنتظره. استخدمها بعد إنشاء وكلاء فرعيين عندما تريد أن
تصل نتائج الإكمال في الرسالة التالية بدلًا من بناء حلقات polling.
تُعد subagents أداة مستوى التحكم للوكلاء الفرعيين الحاليين في OpenClaw
الذين تم إنشاؤهم بالفعل. وهي تدعم:
action: "list"لفحص التشغيلات النشطة/الحديثةaction: "steer"لإرسال توجيهات متابعة إلى تشغيل فرعي قيد العملaction: "kill"لإيقاف تشغيل فرعي واحد أوall
إنشاء الوكلاء الفرعيين
تنشئsessions_spawn جلسة معزولة لمهمة خلفية. وهي دائمًا
غير حاجبة — إذ تعود فورًا مع runId وchildSessionKey.
الخيارات الأساسية:
runtime: "subagent"(الافتراضي) أو"acp"لوكلاء الحزمة الخارجية.- تجاوزات
modelوthinkingلجلسة الوكيل الفرعي. thread: trueلربط الإنشاء بسلسلة دردشة (Discord وSlack وغيرها).sandbox: "require"لفرض sandbox على الوكيل الفرعي.
maxSpawnDepth >= 2، تحصل الوكلاء الفرعيون المنسقون من العمق 1 أيضًا على
sessions_spawn، وsubagents، وsessions_list، وsessions_history حتى
يتمكنوا من إدارة أبنائهم الخاصين. أما التشغيلات الورقية فلا تزال لا تحصل على
أدوات تنسيق متكررة.
بعد الاكتمال، تنشر خطوة announce النتيجة في قناة الطالب. ويحافظ تسليم الإكمال
على توجيه السلسلة/الموضوع المرتبط عند توفره، وإذا كان مصدر الإكمال يحدد
قناة فقط، فلا يزال OpenClaw قادرًا على إعادة استخدام المسار المخزن لجلسة الطالب
(lastChannel / lastTo) للتسليم المباشر.
بالنسبة إلى السلوك الخاص بـ ACP، راجع وكلاء ACP.
الرؤية
تكون أدوات الجلسة ضمن نطاقات لتقييد ما يمكن للوكيل رؤيته:| المستوى | النطاق |
|---|---|
self | الجلسة الحالية فقط |
tree | الجلسة الحالية + الوكلاء الفرعيون الذين تم إنشاؤهم |
agent | جميع جلسات هذا الوكيل |
all | جميع الجلسات (عبر الوكلاء إذا تم الإعداد) |
tree. ويتم تقييد الجلسات داخل sandbox إلى tree بغض النظر
عن الإعدادات.
قراءة إضافية
- إدارة الجلسات — التوجيه، ودورة الحياة، والصيانة
- وكلاء ACP — الإنشاء عبر الحزمة الخارجية
- متعدد الوكلاء — بنية الوكلاء المتعددة
- إعدادات Gateway — عناصر التحكم الخاصة بإعداد أدوات الجلسة