Plugin مضمّن
تتضمن إصدارات OpenClaw الحالية Nostr باعتباره Plugin مضمّنًا، لذلك لا تحتاج الحزم المبنية العادية إلى تثبيت منفصل.التثبيتات الأقدم/المخصصة
- لا يزال الإعداد الأولي (
openclaw onboard) وopenclaw channels addيعرضان Nostr من كتالوج القنوات المشترك. - إذا كان البناء لديك يستثني Nostr المضمّن، فثبّت حزمة npm مباشرة.
إعداد غير تفاعلي
--use-env للاحتفاظ بـ NOSTR_PRIVATE_KEY في البيئة بدلًا من تخزين المفتاح في الإعدادات.
إعداد سريع
- أنشئ زوج مفاتيح Nostr (إذا لزم الأمر):
- أضفه إلى الإعدادات:
- صدّر المفتاح:
- أعد تشغيل Gateway.
مرجع الإعدادات
| المفتاح | النوع | الافتراضي | الوصف |
|---|---|---|---|
privateKey | string | مطلوب | المفتاح الخاص بتنسيق nsec أو hex |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | عناوين Relay (WebSocket) |
dmPolicy | string | pairing | سياسة الوصول إلى DM |
allowFrom | string[] | [] | مفاتيح pubkey المرسلين المسموح بهم |
enabled | boolean | true | تمكين/تعطيل القناة |
name | string | - | اسم العرض |
profile | object | - | بيانات تعريف ملف NIP-01 الشخصي |
بيانات تعريف الملف الشخصي
تُنشر بيانات الملف الشخصي كحدث NIP-01 من نوعkind:0. يمكنك إدارتها من واجهة التحكم (القنوات -> Nostr -> الملف الشخصي) أو تعيينها مباشرة في الإعدادات.
مثال:
- يجب أن تستخدم عناوين URL للملف الشخصي
https://. - يدمج الاستيراد من Relays الحقول ويحافظ على التجاوزات المحلية.
التحكم في الوصول
سياسات DM
- pairing (الافتراضي): يحصل المرسلون غير المعروفين على رمز إقران.
- allowlist: لا يمكن إرسال DM إلا لمفاتيح pubkey الموجودة في
allowFrom. - open: رسائل DM واردة عامة (تتطلب
allowFrom: ["*"]). - disabled: تجاهل رسائل DM الواردة.
- يتم التحقق من توقيعات الأحداث الواردة قبل سياسة المرسل وفك تشفير NIP-04، لذلك تُرفض الأحداث المزوّرة مبكرًا.
- تُرسل ردود الإقران دون معالجة متن DM الأصلي.
- تخضع رسائل DM الواردة لتحديد المعدل، ويتم إسقاط الحمولات كبيرة الحجم قبل فك التشفير.
مثال على قائمة السماح
تنسيقات المفاتيح
التنسيقات المقبولة:- المفتاح الخاص:
nsec...أو hex بطول 64 حرفًا - مفاتيح Pubkeys (
allowFrom):npub...أو hex
Relays
الافتراضيات:relay.damus.io وnos.lol.
- استخدم 2-3 Relays للتكرار الاحتياطي.
- تجنب استخدام عدد كبير جدًا من Relays (زمن انتقال، تكرار).
- يمكن أن تحسّن Relays المدفوعة الاعتمادية.
- Relays المحلية مناسبة للاختبار (
ws://localhost:7777).
دعم البروتوكول
| NIP | الحالة | الوصف |
|---|---|---|
| NIP-01 | مدعوم | تنسيق الحدث الأساسي + بيانات تعريف الملف الشخصي |
| NIP-04 | مدعوم | رسائل DM مشفّرة (kind:4) |
| NIP-17 | مخطط له | رسائل DM مغلّفة كهدية |
| NIP-44 | مخطط له | تشفير بإصدارات |
الاختبار
Relay محلي
اختبار يدوي
- لاحظ pubkey الخاص بالبوت (npub) من السجلات.
- افتح عميل Nostr (Damus، Amethyst، إلخ).
- أرسل DM إلى pubkey الخاص بالبوت.
- تحقق من الرد.
استكشاف الأخطاء وإصلاحها
عدم استقبال الرسائل
- تحقق من أن المفتاح الخاص صالح.
- تأكد من إمكانية الوصول إلى عناوين URL الخاصة بـ Relay وأنها تستخدم
wss://(أوws://للمحلي). - تأكد من أن
enabledليستfalse. - تحقق من سجلات Gateway بحثًا عن أخطاء اتصال Relay.
عدم إرسال الردود
- تحقق من أن Relay يقبل الكتابة.
- تحقق من الاتصال الصادر.
- راقب حدود معدل Relay.
الردود المكررة
- متوقعة عند استخدام عدة Relays.
- تُزال الرسائل المكررة حسب معرّف الحدث؛ ولا يؤدي إلا التسليم الأول إلى إطلاق رد.
الأمان
- لا تقم أبدًا بإيداع المفاتيح الخاصة.
- استخدم متغيرات البيئة للمفاتيح.
- فكّر في استخدام
allowlistلبوتات الإنتاج. - يتم التحقق من التوقيعات قبل سياسة المرسل، وتُفرض سياسة المرسل قبل فك التشفير، لذلك تُرفض الأحداث المزوّرة مبكرًا ولا يستطيع المرسلون غير المعروفين فرض عمل التشفير الكامل.
القيود (MVP)
- الرسائل المباشرة فقط (لا توجد محادثات جماعية).
- لا توجد مرفقات وسائط.
- NIP-04 فقط (التغليف كهدية عبر NIP-17 مخطط له).
ذات صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الإقران — مصادقة DM وتدفق الإقران
- المجموعات — سلوك المحادثات الجماعية وبوابة الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية