Messages and delivery
قائمة انتظار التوجيه
عند وصول رسالة بينما يكون تشغيل جلسة ما قيد البث بالفعل، يستطيع OpenClaw إرسال تلك الرسالة إلى وقت التشغيل النشط بدلا من بدء تشغيل آخر للجلسة نفسها. الأوضاع العامة محايدة تجاه وقت التشغيل؛ ينفذ Pi وحزمة خادم التطبيق الأصلية لـ Codex تفاصيل التسليم بطرق مختلفة.
حدود وقت التشغيل
لا يقاطع التوجيه استدعاء أداة قيد التشغيل بالفعل. يتحقق Pi من رسائل التوجيه الموجودة في قائمة الانتظار عند حدود النموذج:
- يطلب المساعد استدعاءات أدوات.
- ينفذ Pi دفعة استدعاءات الأدوات في رسالة المساعد الحالية.
- يصدر Pi حدث نهاية الدور.
- يفرغ Pi رسائل التوجيه الموجودة في قائمة الانتظار.
- يضيف Pi تلك الرسائل كرسائل مستخدم قبل استدعاء LLM التالي.
يبقي هذا نتائج الأدوات مقترنة برسالة المساعد التي طلبتها، ثم يتيح لاستدعاء النموذج التالي رؤية أحدث إدخال من المستخدم.
تعرض حزمة خادم التطبيق الأصلية لـ Codex turn/steer بدلا من
قائمة انتظار التوجيه الداخلية في Pi. يكيف OpenClaw الأوضاع نفسها هناك:
- يجمع
steerالرسائل الموجودة في قائمة الانتظار ضمن نافذة الهدوء المضبوطة، ثم يرسل طلبturn/steerواحدا يتضمن كل إدخال المستخدم الذي جُمع بترتيب الوصول. - يحافظ
queueعلى الشكل المتسلسل القديم بإرسال طلباتturn/steerمنفصلة. - تظل
followupوcollectوsteer-backlogوinterruptسلوك قائمة انتظار يملكه OpenClaw حول دور Codex النشط.
ترفض دورات مراجعة Codex ودورات Compaction اليدوية التوجيه ضمن الدور نفسه. عندما يتعذر على وقت تشغيل قبول التوجيه، يعود OpenClaw إلى قائمة انتظار المتابعة حيث يسمح ذلك الوضع بذلك.
تشرح هذه الصفحة توجيه وضع قائمة الانتظار للرسائل الواردة العادية. لمعرفة أمر
/steer <message> الصريح، راجع التوجيه.
الأوضاع
| الوضع | سلوك التشغيل النشط | سلوك المتابعة اللاحق |
|---|---|---|
steer |
يحقن كل رسائل التوجيه الموجودة في قائمة الانتظار معا عند حد وقت التشغيل التالي. هذا هو الوضع الافتراضي. | يعود إلى المتابعة فقط عندما يكون التوجيه غير متاح. |
queue |
توجيه قديم برسالة واحدة في كل مرة. يحقن Pi رسالة واحدة من قائمة الانتظار عند كل حد نموذج؛ ويرسل Codex طلبات turn/steer منفصلة. |
يعود إلى المتابعة فقط عندما يكون التوجيه غير متاح. |
steer-backlog |
سلوك التوجيه في التشغيل النشط نفسه مثل steer. |
يحتفظ أيضا بالرسالة نفسها لدور متابعة لاحق. |
followup |
لا يوجه التشغيل الحالي. | يشغل الرسائل الموجودة في قائمة الانتظار لاحقا. |
collect |
لا يوجه التشغيل الحالي. | يدمج الرسائل المتوافقة الموجودة في قائمة الانتظار في دور لاحق واحد بعد نافذة إزالة الارتداد. |
interrupt |
يجهض التشغيل النشط، ثم يبدأ بأحدث رسالة. | لا شيء. |
مثال دفعة مفاجئة
إذا أرسل أربعة مستخدمين رسائل بينما ينفذ الوكيل استدعاء أداة:
steer: يتلقى وقت التشغيل النشط الرسائل الأربع كلها بترتيب الوصول قبل قرار النموذج التالي. يفرغها Pi عند حد النموذج التالي؛ ويتلقاها Codex كطلبturn/steerواحد مجمع.queue: توجيه متسلسل قديم. يحقن Pi رسالة واحدة من قائمة الانتظار في كل مرة؛ ويتلقى Codex طلباتturn/steerمنفصلة.collect: ينتظر OpenClaw حتى ينتهي التشغيل النشط، ثم ينشئ دور متابعة بالرسائل المتوافقة الموجودة في قائمة الانتظار بعد نافذة إزالة الارتداد.
النطاق
يستهدف التوجيه دائما تشغيل الجلسة النشط الحالي. لا ينشئ جلسة جديدة، ولا يغير سياسة أدوات التشغيل النشط، ولا يقسم الرسائل حسب المرسل. في القنوات متعددة المستخدمين، تتضمن الموجهات الواردة بالفعل سياق المرسل والمسار، لذلك يمكن لاستدعاء النموذج التالي رؤية من أرسل كل رسالة.
استخدم collect عندما تريد من OpenClaw إنشاء دور متابعة لاحق يمكنه
دمج الرسائل المتوافقة والحفاظ على سياسة إسقاط قائمة انتظار المتابعة. استخدم
queue فقط عندما تحتاج إلى سلوك التوجيه الأقدم برسالة واحدة في كل مرة.
إزالة الارتداد
ينطبق messages.queue.debounceMs على تسليم المتابعة، بما في ذلك collect
وfollowup وsteer-backlog والرجوع الاحتياطي لـ steer عندما لا يكون توجيه التشغيل النشط
متاحا. بالنسبة إلى Pi، لا يستخدم steer النشط نفسه مؤقت إزالة الارتداد لأن
Pi يجمع الرسائل بشكل طبيعي حتى حد النموذج التالي. بالنسبة إلى حزمة
Codex الأصلية، يستخدم OpenClaw قيمة إزالة الارتداد نفسها كنافذة هدوء قبل
إرسال turn/steer المجمع.