Nostr
Status: Plugin bawaan opsional (dinonaktifkan secara default sampai dikonfigurasi). Nostr adalah protokol terdesentralisasi untuk jejaring sosial. Channel ini memungkinkan OpenClaw menerima dan merespons pesan langsung terenkripsi (DM) melalui NIP-04.Plugin bawaan
Rilis OpenClaw saat ini mengirimkan Nostr sebagai plugin bawaan, jadi build paket normal tidak memerlukan instalasi terpisah.Instalasi lama/kustom
- Onboarding (
openclaw onboard) danopenclaw channels addtetap menampilkan Nostr dari katalog channel bersama. - Jika build Anda tidak menyertakan Nostr bawaan, instal secara manual.
Setup non-interaktif
--use-env agar NOSTR_PRIVATE_KEY tetap berada di environment alih-alih menyimpan key di config.
Setup cepat
- Buat keypair Nostr (jika perlu):
- Tambahkan ke config:
- Ekspor key:
- Restart Gateway.
Referensi konfigurasi
| Key | Tipe | Default | Deskripsi |
|---|---|---|---|
privateKey | string | wajib | Private key dalam format nsec atau hex |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | URL relay (WebSocket) |
dmPolicy | string | pairing | Kebijakan akses DM |
allowFrom | string[] | [] | Pubkey pengirim yang diizinkan |
enabled | boolean | true | Aktifkan/nonaktifkan channel |
name | string | - | Nama tampilan |
profile | object | - | Metadata profil NIP-01 |
Metadata profil
Data profil dipublikasikan sebagai peristiwa NIP-01kind:0. Anda dapat mengelolanya dari UI Control (Channels -> Nostr -> Profile) atau menyetelnya langsung di config.
Contoh:
- URL profil harus menggunakan
https://. - Mengimpor dari relay akan menggabungkan field dan mempertahankan override lokal.
Kontrol akses
Kebijakan DM
- pairing (default): pengirim yang tidak dikenal mendapatkan kode pairing.
- allowlist: hanya pubkey dalam
allowFromyang dapat mengirim DM. - open: DM masuk publik (memerlukan
allowFrom: ["*"]). - disabled: abaikan DM masuk.
- Tanda tangan peristiwa masuk diverifikasi sebelum kebijakan pengirim dan dekripsi NIP-04, sehingga peristiwa palsu ditolak lebih awal.
- Balasan pairing dikirim tanpa memproses isi DM asli.
- DM masuk dibatasi lajunya dan payload yang terlalu besar dibuang sebelum dekripsi.
Contoh allowlist
Format key
Format yang diterima:- Private key:
nsec...atau hex 64 karakter - Pubkey (
allowFrom):npub...atau hex
Relay
Default:relay.damus.io dan nos.lol.
- Gunakan 2-3 relay untuk redundansi.
- Hindari terlalu banyak relay (latensi, duplikasi).
- Relay berbayar dapat meningkatkan keandalan.
- Relay lokal cocok untuk pengujian (
ws://localhost:7777).
Dukungan protokol
| NIP | Status | Deskripsi |
|---|---|---|
| NIP-01 | Didukung | Format peristiwa dasar + metadata profil |
| NIP-04 | Didukung | DM terenkripsi (kind:4) |
| NIP-17 | Direncanakan | DM gift-wrapped |
| NIP-44 | Direncanakan | Enkripsi berversi |
Pengujian
Relay lokal
Pengujian manual
- Catat pubkey bot (npub) dari log.
- Buka klien Nostr (Damus, Amethyst, dll.).
- Kirim DM ke pubkey bot.
- Verifikasi responsnya.
Pemecahan masalah
Tidak menerima pesan
- Verifikasi bahwa private key valid.
- Pastikan URL relay dapat dijangkau dan menggunakan
wss://(atauws://untuk lokal). - Konfirmasi
enabledbukanfalse. - Periksa log Gateway untuk error koneksi relay.
Tidak mengirim respons
- Periksa apakah relay menerima penulisan.
- Verifikasi konektivitas keluar.
- Perhatikan rate limit relay.
Respons duplikat
- Ini normal saat menggunakan beberapa relay.
- Pesan dideduplikasi berdasarkan ID peristiwa; hanya pengiriman pertama yang memicu respons.
Keamanan
- Jangan pernah meng-commit private key.
- Gunakan variabel environment untuk key.
- Pertimbangkan
allowlistuntuk bot produksi. - Tanda tangan diverifikasi sebelum kebijakan pengirim, dan kebijakan pengirim diberlakukan sebelum dekripsi, sehingga peristiwa palsu ditolak lebih awal dan pengirim yang tidak dikenal tidak dapat memaksa kerja kripto penuh.
Keterbatasan (MVP)
- Hanya pesan langsung (tanpa obrolan grup).
- Tidak ada lampiran media.
- Hanya NIP-04 (gift-wrap NIP-17 direncanakan).
Terkait
- Ikhtisar Channels — semua channel yang didukung
- Pairing — autentikasi DM dan alur pairing
- Grup — perilaku obrolan grup dan gating mention
- Channel Routing — routing sesi untuk pesan
- Keamanan — model akses dan hardening