الانتقال إلى المحتوى الرئيسي

أدوات الجلسة

يوفر 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 للإدراج في الطابور والعودة فورًا.
  • الانتظار للرد: اضبط مهلة زمنية واحصل على الرد ضمنيًا.
بعد أن تستجيب الجلسة المستهدفة، يمكن لـ OpenClaw تشغيل حلقة رد متبادل حيث يتبادل الوكلاء الرسائل (حتى 5 دورات). ويمكن للوكيل المستهدف أن يرد بـ 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 بغض النظر عن الإعدادات.

قراءة إضافية