الانتقال إلى المحتوى
الأدلة

قواعد Matrix push في OpenClaw للمعاينات الهادئة

كيف يضع البث الهادئ علامة على التعديل النهائي، وقاعدة override لكل مستلم التي تُصدر إشعارًا عنده، والحصول على رمز المستلم، والتحقق من pushers، وتثبيت القاعدة وفحصها، وقاعدة واحدة لكل بوت، وما يبقى إشعارًا عاديًا، وملاحظات Synapse وTuwunel

مدة القراءة: ⁨6⁩ د

يحل البث الهادئ نصف مشكلة إشعارات Matrix: يتوقف البوت عن التنبيه عند كل تعديل. أما النصف الآخر فعلى جانب الخادم المنزلي، لأن قاعدة push على حساب المستلم وحدها تستطيع تحديد التعديل الذي يستحق إشعارًا. هذه الصفحة موجهة لمسؤولي التشغيل الذين يستضيفون Synapse أو Tuwunel بأنفسهم ويريدون تثبيت تلك القاعدة لكل مستلم. إليك الآلية، والخطوات، وقاعدة البوتات المتعددة، وملاحظتا الخادمين المنزليين.

الآلية

  • عند ضبط وضع البث على quiet، يبث OpenClaw الرد بتعديل حدث معاينة واحد في مكانه؛ وتُرسل المعاينات كأحداث notice لا تُصدر إشعارًا، ويُوسم التعديل النهائي بخاصية OpenClaw للمعاينة النهائية (finalised-preview)، ولا يُصدر العملاء إشعارًا عند هذا التعديل النهائي إلا إذا طابقت قاعدة push خاصة بالمستخدم تلك العلامة.
  • ينهي وضع progress مسوداته عبر المسار نفسه، لذا تنطلق القاعدة نفسها أيضًا للتعديلات النهائية في وضع progress، أما مسؤولو التشغيل الذين لا يريدون إلا سلوك الإشعارات الافتراضي فيستخدمون وضع partial أو يتركون البث معطّلًا.
  • المتطلبات المسبقة هي: مستخدم مستلم يجب أن يتلقى الإشعار، ومستخدم البوت الذي يرسل الرد، ورمز وصول المستلم لاستدعاءات API، ومعرّف Matrix الكامل للبوت كمطابقة للمرسل في القاعدة، وحساب مستلم لديه أصلًا pushers تعمل، لأن قواعد المعاينة الهادئة لا تعمل إلا عندما يكون تسليم إشعارات push العادي سليمًا.
  • تبدأ الخطوات بإعداد الوضع quiet في كتلة القناة والحصول على رمز وصول المستلم، بإعادة استخدام رمز جلسة عميل موجود حيثما أمكن أو بإصدار رمز جديد عبر طلب تسجيل دخول بكلمة المرور إلى الخادم المنزلي، ثم تصديره للاستدعاءات التالية.
تُفهرس قواعد push بالمعرّف ruleId: إعادة تنفيذ PUT على المعرّف نفسه تحدّث قاعدة واحدة.

تثبيت القاعدة

تحقق من pushers عبر نقطة النهاية pushers باستخدام رمز المستلم، وأصلح تسليم إشعارات push العادي لذلك الحساب قبل المتابعة إذا لم يعد أي منها. ثم ثبّت قاعدة push من نوع override تحت معرّف قاعدة فريد لكل بوت ولكل مستلم، وفق نمط المعاينة النهائية مع اسم البوت، وتطابق شروطها الأربعة نوع حدث رسالة الغرفة، ونوع العلاقة replace، وخاصية المعاينة النهائية مضبوطة على true، والمرسل مساويًا لمعرّف البوت الكامل، مع الإجراءات notify، وتعديل الصوت الافتراضي، وتعطيل highlight؛ استبدل عنوان URL للخادم المنزلي، والرمز، ومعرّف القاعدة، ومعرّف البوت، وتذكّر أن المرسل هو البوت لا المستلم. تحقق بجلب عنوان URL نفسه للقاعدة، ثم اختبر ردًا متدفقًا: في الوضع quiet تعرض الغرفة مسودة معاينة هادئة وتُصدر إشعارًا بمجرد انتهاء الكتلة أو الدور، وتُزال القاعدة لاحقًا بحذف عنوان URL نفسه باستخدام رمز المستلم.

بوتات وخوادم منزلية متعددة

  • تُفهرس قواعد push بمعرّف القاعدة، لذا فإن إعادة تنفيذ التثبيت على المعرّف نفسه تحدّث قاعدة واحدة، ويحتاج عدة بوتات OpenClaw تُرسل إشعارات إلى المستلم نفسه إلى قاعدة لكل بوت مع مطابقة مرسل مختلفة؛ وتُدرج قواعد override الجديدة التي يحددها المستخدم قبل قواعد suppress الافتراضية للخادم، لذا لا حاجة إلى أي معامل للترتيب.
  • لا تؤثر القاعدة إلا في تعديلات المعاينة النصية فقط التي يمكن إنهاؤها في مكانها: أما الردود التي تتضمن وسائط، والبدائل الاحتياطية للمعاينات القديمة، والنصوص النهائية التي قد تفعّل إشارات Matrix، فتُسلَّم كرسائل عادية تُصدر إشعارًا.
  • لا يحتاج Synapse إلى أي تغيير في إعداد الخادم المنزلي، بل يكفي أن يصل مسار قواعد push إلى Synapse عبر أي خادم وسيط أو توزيع workers، وأن تكون عملية pusher سليمة، ولأن القاعدة تستخدم الشرط event-property-is الذي أُضيف إلى Synapse في 2023، فإن الإصدارات الأقدم تقبل استدعاء التثبيت لكنها لا تطابق أبدًا دون أي تنبيه، لذا فإن تعديلًا نهائيًا لا يُصدر إشعارًا أبدًا يعني أن عليك الترقية؛ ويتبع Tuwunel المسار نفسه دون إعداد خاص، والإشعارات التي تختفي بينما المستخدم نشط في مكان آخر تشير إلى خياره suppress-push-when-active المضاف في 1.4.2، الذي يكبت عمدًا إشعارات push إلى الأجهزة الأخرى أثناء نشاط أحدها.

مقال OpenClaw على Matrix هو مقال القناة الذي تخدمه هذه القاعدة، ومقال سلوك رسائل Matrix في OpenClaw يتناول وضع البث الهادئ الذي تكمله.

قاعدة واحدة لكل مستلم، لكل بوت

يُبقي التصميم القرار على جانب المستلم: البوت لا يفعل سوى وسم تعديله النهائي، وكل شخص يثبّت قاعدة تحدد ما إذا كانت تلك العلامة يجب أن تُصدر تنبيهًا، لكل بوت، ولهذا يحمل معرّف القاعدة اسم البوت. يغطي مقال حسابات Matrix وخوادمها المنزلية في OpenClaw تشغيل عدة حسابات بوت على خادم منزلي واحد، ومقال تشفير Matrix في OpenClaw التحقق الذي يُبقي تلك الحسابات موثوقة.

على Diali

قناة Matrix مدرجة ضمن قائمة القنوات التي يمكن ربطها في Diali، إلى جانب WhatsApp وTelegram وDiscord وSlack وMattermost وSMS والصوت: حساب الخادم المنزلي وقائمة السماح للغرف ملكك، أما Gateway فنتولاه نحن. تعرض صفحة OpenClaw المستضاف على Diali المساعد، وتصف صفحة الأمان في Diali الحدود التي تنطبق على كل قناة متصلة.

  • يسم الوضع quiet التعديل النهائي؛ وقاعدة المستلم تُصدر التنبيه عنده.
  • سلامة pushers أولًا، ثم قاعدة override.
  • يقبل Synapse القديم القاعدة ولا يطابقها أبدًا.
ابدأ الآن

كفاك قراءة، ابنِ وكيلك الخاص

جهز وكيلًا، واختر قناة، واجعله يعمل داخل التطبيق المفتوح لديك دائمًا.