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