Synology Chat
الحالة: قناة رسائل مباشرة عبر plugin مضمّن باستخدام webhooks لـ Synology Chat. يقبل plugin الرسائل الواردة من webhooks الصادرة في Synology Chat ويرسل الردود عبر webhook وارد في Synology Chat.plugin المضمّن
يأتي Synology Chat كـ plugin مضمّن في إصدارات OpenClaw الحالية، لذلك لا تحتاج البنيات المعبأة العادية إلى تثبيت منفصل. إذا كنت تستخدم إصدارًا أقدم أو تثبيتًا مخصصًا يستبعد Synology Chat، فثبّته يدويًا: ثبّت من نسخة checkout محلية:إعداد سريع
- تأكد من أن plugin الخاص بـ Synology Chat متاح.
- تتضمنه إصدارات OpenClaw المعبأة الحالية بالفعل.
- يمكن لعمليات التثبيت الأقدم/المخصصة إضافته يدويًا من نسخة checkout للمصدر باستخدام الأمر أعلاه.
- يعرض
openclaw onboardالآن Synology Chat في قائمة إعداد القنوات نفسها الموجودة فيopenclaw channels add. - إعداد غير تفاعلي:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- في عمليات التكامل الخاصة بـ Synology Chat:
- أنشئ webhook واردًا وانسخ عنوان URL الخاص به.
- أنشئ webhook صادرًا باستخدام رمزك السري.
- وجّه عنوان URL الخاص بـ webhook الصادر إلى OpenClaw gateway:
https://gateway-host/webhook/synologyافتراضيًا.- أو
channels.synology-chat.webhookPathالمخصص لديك.
- أكمل الإعداد في OpenClaw.
- بإرشاد:
openclaw onboard - مباشرة:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- بإرشاد:
- أعد تشغيل gateway وأرسل رسالة مباشرة إلى بوت Synology Chat.
- يقبل OpenClaw رمز webhook الصادر من
body.token، ثم?token=...، ثم الترويسات. - صيغ الترويسات المقبولة:
x-synology-tokenx-webhook-tokenx-openclaw-tokenAuthorization: Bearer <token>
- تفشل الرموز الفارغة أو المفقودة بشكل مغلق.
متغيرات البيئة
بالنسبة إلى الحساب الافتراضي، يمكنك استخدام متغيرات البيئة:SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(مفصولة بفواصل)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
سياسة الرسائل المباشرة والتحكم في الوصول
dmPolicy: "allowlist"هو الإعداد الافتراضي الموصى به.- يقبل
allowedUserIdsقائمة بمعرّفات مستخدمي Synology (أو سلسلة مفصولة بفواصل). - في وضع
allowlist، تُعامل قائمةallowedUserIdsالفارغة على أنها خطأ في الإعداد، ولن يبدأ مسار webhook (استخدمdmPolicy: "open"للسماح للجميع). dmPolicy: "open"يسمح لأي مرسل.dmPolicy: "disabled"يحظر الرسائل المباشرة.- يبقى ربط مستلم الرد على
user_idالرقمي المستقر افتراضيًا. ويعدchannels.synology-chat.dangerouslyAllowNameMatching: trueوضع توافق احتياطي يعيد تمكين البحث باسم المستخدم/الاسم المستعار القابل للتغيير لتسليم الردود. - تعمل موافقات الاقتران باستخدام:
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
التسليم الصادر
استخدم معرّفات مستخدمي Synology Chat الرقمية كأهداف. أمثلة:حسابات متعددة
يتم دعم عدة حسابات Synology Chat ضمنchannels.synology-chat.accounts.
يمكن لكل حساب تجاوز الرمز، وعنوان URL الوارد، ومسار webhook، وسياسة الرسائل المباشرة، والحدود.
تكون جلسات الرسائل المباشرة معزولة لكل حساب ولكل مستخدم، لذلك فإن user_id الرقمي نفسه
في حسابين مختلفين من Synology لا يشارك حالة السجل.
أعطِ كل حساب مفعّل قيمة webhookPath مختلفة. يرفض OpenClaw الآن المسارات المتطابقة الدقيقة
ويرفض بدء الحسابات المسماة التي ترث فقط مسار webhook مشتركًا في إعدادات الحسابات المتعددة.
إذا كنت تحتاج عمدًا إلى الوراثة القديمة لحساب مسمى، فاضبط
dangerouslyAllowInheritedWebhookPath: true على ذلك الحساب أو على channels.synology-chat،
لكن المسارات المتطابقة الدقيقة لا تزال تُرفض بشكل مغلق. فضّل المسارات الصريحة لكل حساب.
ملاحظات الأمان
- احتفظ بسرية
tokenوبدّله إذا تسرّب. - أبقِ
allowInsecureSsl: falseما لم تكن تثق صراحةً في شهادة NAS محلية موقعة ذاتيًا. - يتم التحقق من طلبات webhook الواردة بواسطة الرمز وتطبيق حد معدل عليها لكل مرسل.
- تستخدم فحوصات الرمز غير الصالح مقارنة أسرار بزمن ثابت وتفشل بشكل مغلق.
- فضّل
dmPolicy: "allowlist"في بيئات الإنتاج. - أبقِ
dangerouslyAllowNameMatchingمعطّلًا ما لم تكن تحتاج صراحةً إلى تسليم الردود القديم المستند إلى اسم المستخدم. - أبقِ
dangerouslyAllowInheritedWebhookPathمعطّلًا ما لم تكن تقبل صراحةً مخاطر التوجيه عبر المسار المشترك في إعداد حسابات متعددة.
استكشاف الأخطاء وإصلاحها
Missing required fields (token, user_id, text):- حمولة webhook الصادر تفتقد أحد الحقول المطلوبة
- إذا كان Synology يرسل الرمز في الترويسات، فتأكد من أن gateway/proxy يحافظ على تلك الترويسات
Invalid token:- سر webhook الصادر لا يطابق
channels.synology-chat.token - الطلب يصل إلى الحساب أو مسار webhook الخاطئ
- قام reverse proxy بإزالة ترويسة الرمز قبل أن يصل الطلب إلى OpenClaw
- سر webhook الصادر لا يطابق
Rate limit exceeded:- قد يؤدي عدد كبير جدًا من محاولات الرمز غير الصالح من المصدر نفسه إلى حظر ذلك المصدر مؤقتًا
- يملك المرسلون الموثقون أيضًا حد معدل رسائل منفصلًا لكل مستخدم
Allowlist is empty. Configure allowedUserIds or use dmPolicy=open.:- تم تمكين
dmPolicy="allowlist"لكن لم يتم إعداد أي مستخدمين
- تم تمكين
User not authorized:user_idالرقمي للمرسل غير موجود فيallowedUserIds
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- المجموعات — سلوك الدردشة الجماعية وبوابة الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية