الحالة: تجريبية. أُضيفت في 2026.1.9. متاحة لـ WhatsApp (قناة الويب) فقط.
نظرة عامة
تُشغّل مجموعات البث وكلاء متعددين لمعالجة الرسالة الواردة نفسها. يعالج كل وكيل الرسالة في جلسته المعزولة وينشر رده الخاص، بحيث يمكن لرقم WhatsApp واحد استضافة فريق من الوكلاء المتخصصين في محادثة جماعية واحدة أو رسالة خاصة. تُقيَّم مجموعات البث بعد قوائم السماح الخاصة بالقناة وقواعد تفعيل المجموعة. في مجموعات WhatsApp، يحدث البث عندما يكون من المعتاد أن يرد OpenClaw (على سبيل المثال: عند الإشارة إليه، وفقًا لإعدادات مجموعتك). وهي لا تغيّر سوى الوكلاء الذين يعملون، ولا تغيّر مطلقًا ما إذا كانت الرسالة مؤهلة للمعالجة. يتضمن مسار ضمان الجودة المباشر لـ WhatsApp الاختبارwhatsapp-broadcast-group-fanout، الذي يتحقق من أن رسالة واحدة في مجموعة تتضمن إشارة يمكن أن تنتج ردودًا مرئية ومختلفة من وكيلين مهيأين.
الإعداد
الإعداد الأساسي
أضف قسمbroadcast في المستوى الأعلى (بجوار bindings). المفاتيح هي معرّفات نظراء WhatsApp، والقيم هي مصفوفات من معرّفات الوكلاء:
- المحادثات الجماعية: معرّف JID للمجموعة (مثل
120363403215116621@g.us) - الرسائل الخاصة: رقم هاتف المرسل بتنسيق E.164 (مثل
+15551234567)
agents.list: يُبلغ التحقق من صحة الإعداد عن المعرّفات غير المعروفة، ويتخطاها وقت التشغيل مع التحذير Broadcast agent <id> not found in agents.list; skipping.
استراتيجية المعالجة
يحددbroadcast.strategy كيفية معالجة الوكلاء للرسالة:
مثال كامل
آلية العمل
تدفق الرسالة
1
وصول رسالة واردة
تصل رسالة من مجموعة WhatsApp أو رسالة خاصة.
2
التوجيه والقبول
يطبّق OpenClaw قوائم السماح الخاصة بالقناة وقواعد تفعيل المجموعة وملكية ربط ACP المهيأة.
3
التحقق من البث
إذا لم يمتلك أي ربط ACP مهيأ المسار، يتحقق OpenClaw مما إذا كان معرّف النظير موجودًا في
broadcast.4
إذا انطبق البث
- يعالج جميع الوكلاء المُدرجين الرسالة.
- لكل وكيل مفتاح جلسة خاص به وسياق معزول.
- يعالج الوكلاء الرسالة بالتوازي (افتراضيًا) أو بالتتابع.
- تُنسخ المرفقات الصوتية نصيًا مرة واحدة قبل التوزيع، بحيث يتشارك الوكلاء نصًا منسوخًا واحدًا بدلًا من إجراء استدعاءات STT منفصلة.
5
إذا لم ينطبق البث
يرسل OpenClaw الرسالة عبر المسار العادي أو مسار جلسة ACP المهيأ الذي تم اختياره أثناء التوجيه.
لا تتجاوز مجموعات البث قوائم السماح الخاصة بالقناة أو قواعد تفعيل المجموعة (الإشارات/الأوامر/وما إلى ذلك). وإنما تغيّر فقط الوكلاء الذين يعملون عندما تكون الرسالة مؤهلة للمعالجة.
عزل الجلسات
يحتفظ كل وكيل في مجموعة بث بما يلي بصورة منفصلة تمامًا:- مفاتيح الجلسات (
agent:alfred:whatsapp:group:120363...مقابلagent:baerbel:whatsapp:group:120363...) - سجل المحادثة (لا يرى الوكيل ردود الوكلاء الآخرين)
- مساحة العمل (بيئات معزولة منفصلة إذا كانت مهيأة)
- الوصول إلى الأدوات (قوائم سماح/رفض مختلفة)
- الذاكرة/السياق (ملفات
IDENTITY.mdوSOUL.mdمنفصلة، وما إلى ذلك)
مثال: جلسات معزولة
في المجموعة120363403215116621@g.us مع الوكيلين ["alfred", "baerbel"]:
- سياق Alfred
- سياق Baerbel
حالات الاستخدام
- فرق الوكلاء المتخصصين: مجموعة تطوير يجيب فيها كل من
code-reviewerوsecurity-auditorوtest-generatorوdocs-checkerعن الرسالة نفسها من منظوره الخاص. - دعم متعدد اللغات: محادثة دعم واحدة يستجيب فيها
support-enوsupport-deوsupport-esبلغاتهم. - ضمان الجودة: يجيب
support-agentبينما يراجعqa-agentولا يستجيب إلا عندما يعثر على مشكلات. - أتمتة المهام: يستهلك كل من
task-trackerوtime-loggerوreport-generatorتحديث الحالة نفسه.
أفضل الممارسات
1. حافظ على تركيز الوكلاء
1. حافظ على تركيز الوكلاء
امنح كل وكيل مسؤولية واحدة واضحة (
formatter أو linter أو tester) بدلًا من وكيل عام باسم “dev-helper”.2. استخدم معرّفات وأسماء وصفية
2. استخدم معرّفات وأسماء وصفية
3. هيّئ صلاحيات وصول مختلفة إلى الأدوات
3. هيّئ صلاحيات وصول مختلفة إلى الأدوات
reviewer صلاحية القراءة فقط. ويمكن لـ fixer القراءة والكتابة.4. راقب الأداء
4. راقب الأداء
عند استخدام عدد كبير من الوكلاء، فضّل
"strategy": "parallel" (الافتراضية)، واقصر مجموعات البث على عدد قليل من الوكلاء، واستخدم نماذج أسرع للوكلاء الأبسط.5. تظل حالات الفشل معزولة
5. تظل حالات الفشل معزولة
يفشل الوكلاء بصورة مستقلة. يُسجَّل خطأ أي وكيل (
Broadcast agent <id> failed: ...) ولا يحظر الوكلاء الآخرين.التوافق
المزوّدون
تُنفَّذ مجموعات البث حاليًا لـ WhatsApp (قناة الويب) فقط. وتتجاهل القنوات الأخرى إعدادbroadcast.
التوجيه
تعمل مجموعات البث إلى جانب التوجيه الحالي:GROUP_A: يستجيب alfred فقط (التوجيه العادي).GROUP_B: يستجيب agent1 وagent2 (البث).
الأسبقية: تكون لـ
broadcast الأولوية على روابط المسارات العادية. روابط ACP المهيأة (bindings[].type="acp") حصرية: عند تطابق أحدها، يرسل OpenClaw الرسالة إلى جلسة ACP المهيأة بدلًا من بث التوزيع.استكشاف الأخطاء وإصلاحها
الوكلاء لا يستجيبون
الوكلاء لا يستجيبون
تحقق مما يلي:يُسجّل التوزيع الناجح
- معرّفات الوكلاء موجودة في
agents.list(يرفض التحقق من صحة الإعداد المعرّفات غير المعروفة). - تنسيق معرّف النظير صحيح (معرّف JID للمجموعة مثل
120363403215116621@g.us، أو رقم E.164 مثل+15551234567للرسائل الخاصة). - اجتازت الرسالة ضوابط القبول المعتادة (تظل قواعد الإشارة/التفعيل سارية).
Broadcasting message to <n> agents (<strategy>).استجابة وكيل واحد فقط
استجابة وكيل واحد فقط
السبب: قد يكون معرّف النظير موجودًا في روابط المسارات العادية وليس في
broadcast، أو قد يتطابق مع ربط ACP حصري مهيأ.الحل: أضف النظراء المرتبطين بمسارات عادية إلى إعداد البث، أو أزل/غيّر ربط ACP المهيأ إذا كنت تريد بث التوزيع.مشكلات الأداء
مشكلات الأداء
إذا كان الأداء بطيئًا مع عدد كبير من الوكلاء: قلّل عدد الوكلاء لكل مجموعة، واستخدم نماذج أخف، وتحقق من زمن بدء البيئة المعزولة.
أمثلة
المثال 1: فريق مراجعة الشيفرة
المثال 1: فريق مراجعة الشيفرة
المثال 2: مسار معالجة متعدد اللغات
المثال 2: مسار معالجة متعدد اللغات
مرجع API
مخطط الإعداد
الحقول
"parallel" | "sequential"
افتراضي:"\"parallel\""
كيفية معالجة الوكلاء. يشغّل
parallel جميع الوكلاء بالتزامن؛ بينما يشغّلهم sequential وفق ترتيب المصفوفة.string[]
معرّف JID لمجموعة WhatsApp أو رقم هاتف بتنسيق E.164. القيمة هي مصفوفة معرّفات الوكلاء الذين يجب أن يعالجوا جميعًا الرسائل الواردة من ذلك النظير.
القيود
- الحد الأقصى للوكلاء: لا يوجد حد صارم، لكن استخدام عدد كبير من الوكلاء (10 فأكثر) قد يكون بطيئًا.
- السياق المشترك: لا يرى الوكلاء ردود بعضهم بعضًا (حسب التصميم).
- ترتيب الرسائل: قد تصل الردود المتوازية بأي ترتيب.
- حدود المعدل: تصدر جميع الردود من حساب WhatsApp واحد، لذا يُحتسب رد كل وكيل ضمن حدود معدل WhatsApp نفسها.