البدء السريع
فعّل مسودات التقدم لكل قناة باستخدامstreaming.mode: "progress":
ما يراه المستخدمون
تتكون مسودة التقدم من جزأين:| الجزء | الغرض |
|---|---|
| التسمية | سطر بداية/حالة قصير مثل Working أو Shelling. |
| أسطر التقدم | تحديثات تشغيل موجزة تستخدم أيقونات الأدوات ومنسق التفاصيل نفسيهما كما في الإخراج المطول. |
🛠️ Bash: run tests أو 🔎 Web Search: for "discord edit message" أو ✍️ Write: to /tmp/file.
افتراضيا تستخدم وضع الشرح الموجز نفسه مثل /verbose؛ اضبط agents.defaults.toolProgressDetail: "raw" عند التصحيح وعندما تريد أيضا إلحاق الأوامر/التفاصيل الخام.
تستبدل الإجابة النهائية المسودة عندما يكون ذلك ممكنا؛ وإلا يرسل OpenClaw الإجابة النهائية بالطريقة العادية وينظف المسودة أو يتوقف عن تحديثها وفقا لنقل القناة.
اختيار وضع
يتحكمchannels.<channel>.streaming.mode في سلوك التقدم المرئي قيد التنفيذ:
| الوضع | الأنسب لـ | ما يظهر في الدردشة |
|---|---|---|
off | القنوات الهادئة | الإجابة النهائية فقط. |
partial | مشاهدة نص الإجابة وهو يظهر | مسودة واحدة تعدل بأحدث نص للإجابة. |
block | مقاطع أكبر لمعاينة الإجابة | معاينة واحدة تحدّث أو يضاف إليها بمقاطع أكبر. |
progress | الدورات الكثيفة بالأدوات أو طويلة التشغيل | مسودة حالة واحدة، ثم الإجابة النهائية. |
progress عندما يهتم المستخدمون أكثر بـ”ما الذي يحدث” بدلا من مشاهدة نص الإجابة يتدفق رمزا برمز.
اختر partial عندما تكون الإجابة نفسها هي إشارة التقدم.
اختر block عندما تريد تحديثات معاينة المسودة في مقاطع نصية أكبر. على Discord وTelegram، لا يزال streaming.mode: "block" بث معاينة، وليس تسليم كتل عاديا. استخدم streaming.block.enabled أو الخيار القديم blockStreaming عندما تريد ردود الكتل العادية.
تكوين التسميات
توجد تسميات التقدم ضمنchannels.<channel>.streaming.progress.
التسمية الافتراضية هي auto، التي تختار من مجموعة التسميات أحادية الكلمة المضمنة في OpenClaw:
التحكم في أسطر التقدم
أسطر التقدم مفعلة افتراضيا في وضع التقدم. وهي تأتي من أحداث تشغيل حقيقية: بدايات الأدوات، وتحديثات العناصر، وخطط المهام، والموافقات، وإخراج الأوامر، وملخصات التصحيحات، ونشاط الوكيل المشابه. يمكن للأدوات أيضا إصدار تقدم ذي نوع محدد بينما لا يزال استدعاء أداة واحد قيد التشغيل. بهذه الطريقة يمكن لعملية جلب أو بحث بطيئة تحديث المسودة المرئية قبل أن تعيد الأداة نتيجتها النهائية. تحديث التقدم هو نتيجة أداة جزئية بمحتوى نموذج فارغ وبيانات وصفية صريحة لقناة عامة:progress.text فقط في واجهة تقدم القناة. لا تزال نتيجة الأداة العادية تصل لاحقا بصفتها content وdetails، وهي الجزء الوحيد الذي يعود إلى النموذج.
عند إضافة تقدم إلى أداة، استخدم رسالة قصيرة وعامة وأخرها إلى أن تكون العملية معلقة لمدة كافية لتكون مفيدة:
/verbose:
"explain" هو الافتراضي ويحافظ على استقرار المسودات بتسميات موجزة مثل 🛠️ check JS syntax for /tmp/app.js. يضيف "raw" الأمر/التفصيل الأساسي عند توفره، وهو مفيد أثناء التصحيح لكنه أكثر ضجيجا في الدردشة.
على سبيل المثال، يظهر الأمر نفسه بشكل مختلف حسب وضع التفاصيل:
| الوضع | سطر التقدم |
|---|---|
explain | 🛠️ check JS syntax for /tmp/app.js |
raw | 🛠️ check JS syntax for /tmp/app.js, node --check /tmp/app.js |
toolProgress: false، لا يزال OpenClaw يمنع رسائل تقدم الأدوات المستقلة الأقدم لتلك الدورة. تبقى القناة هادئة بصريا حتى الإجابة النهائية، باستثناء التسمية إذا كانت مهيأة.
سلوك القناة
تستخدم كل قناة أنظف وسيلة نقل تدعمها:| القناة | نقل التقدم | ملاحظات |
|---|---|---|
| Discord | إرسال رسالة واحدة، ثم تعديلها. | تعدل النص النهائي في مكانه عندما يناسب رسالة معاينة آمنة واحدة. |
| Matrix | إرسال حدث واحد، ثم تعديله. | يتحكم تكوين البث على مستوى الحساب في المسودات على مستوى الحساب. |
| Microsoft Teams | بث Teams أصلي في الدردشات الشخصية. | يرتبط streaming.mode: "block" بتسليم كتل Teams. |
| Slack | بث أصلي أو منشور مسودة قابل للتعديل. | يؤثر توفر السلسلة في إمكانية استخدام البث الأصلي. |
| Telegram | إرسال رسالة واحدة، ثم تعديلها. | قد تستبدل المسودات المرئية الأقدم حتى تبقى الطوابع الزمنية النهائية مفيدة. |
| Mattermost | منشور مسودة قابل للتعديل. | يدمج نشاط الأدوات في المنشور نفسه بأسلوب المسودة. |
الإنهاء
عندما تصبح الإجابة النهائية جاهزة، يحاول OpenClaw إبقاء الدردشة نظيفة:- إذا كان يمكن تحويل المسودة بأمان إلى الإجابة النهائية، يعدلها OpenClaw في مكانها.
- إذا كانت القناة تستخدم بث تقدم أصليا، ينهي OpenClaw ذلك البث عندما يقبل النقل الأصلي النص النهائي.
- إذا كانت الإجابة النهائية تحتوي على وسائط، أو مطالبة موافقة، أو هدف رد صريح، أو عددا كبيرا جدا من المقاطع، أو فشل تحرير/إرسال، يرسل OpenClaw الإجابة النهائية عبر مسار تسليم القناة العادي.
استكشاف الأخطاء وإصلاحها
أرى الإجابة النهائية فقط. تحقق من أنchannels.<channel>.streaming.mode مضبوط على progress للحساب أو القناة التي عالجت الرسالة. قد تعطل بعض مسارات المجموعات أو الردود المقتبسة معاينات المسودات لدورة ما عندما لا تستطيع القناة تعديل الرسالة الصحيحة بأمان.
أرى التسمية لكن لا أرى أسطر الأدوات.
تحقق من streaming.progress.toolProgress. إذا كانت false، يحافظ OpenClaw على سلوك المسودة الواحدة لكنه يخفي أسطر تقدم الأدوات والمهام.
أرى رسالة نهائية جديدة بدلا من مسودة معدلة.
هذا رجوع أمان. يمكن أن يحدث لردود الوسائط، أو الإجابات الطويلة، أو أهداف الرد الصريحة، أو مسودات Telegram القديمة، أو أهداف سلاسل Slack المفقودة، أو رسائل المعاينة المحذوفة، أو فشل إنهاء البث الأصلي.
ما زلت أرى رسائل تقدم مستقلة.
يمنع وضع التقدم رسائل تقدم الأدوات المستقلة الافتراضية عندما تكون مسودة نشطة. إذا ظلت الرسائل المستقلة تظهر، فتحقق من أن الدورة تستخدم وضع التقدم فعلا وليست streaming.mode: "off" أو مسار قناة لا يستطيع إنشاء مسودة لتلك الرسالة.
يتصرف Teams بشكل مختلف عن Discord أو Telegram.
يستخدم Microsoft Teams دفقًا أصليًا في المحادثات الشخصية بدلًا من نقل المعاينة العام القائم على الإرسال ثم التحرير. ويتعامل Teams أيضًا مع streaming.mode: "block" كتسليم كتل في Teams، لأنه لا يملك وضع كتل معاينة المسودات نفسه المستخدم في Discord وTelegram.