Plugin bawaan
Rilis OpenClaw saat ini menyertakan Nostr sebagai Plugin bawaan, sehingga 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 mengecualikan Nostr bawaan, instal paket npm secara langsung.
Penyiapan noninteraktif
--use-env untuk menyimpan NOSTR_PRIVATE_KEY di environment alih-alih menyimpan kunci dalam config.
Penyiapan cepat
- Buat keypair Nostr (jika diperlukan):
- Tambahkan ke config:
- Ekspor kunci:
- Mulai ulang Gateway.
Referensi konfigurasi
| Kunci | Tipe | Default | Deskripsi |
|---|---|---|---|
privateKey | string | wajib | Kunci privat 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 diterbitkan sebagai event NIP-01kind:0. Anda dapat mengelolanya dari Control UI (Channels -> Nostr -> Profile) atau mengaturnya langsung di config.
Contoh:
- URL profil harus menggunakan
https://. - Mengimpor dari relay menggabungkan field dan mempertahankan override lokal.
Kontrol akses
Kebijakan DM
- pairing (default): pengirim tidak dikenal menerima kode pairing.
- allowlist: hanya pubkey di
allowFromyang dapat mengirim DM. - open: DM masuk publik (memerlukan
allowFrom: ["*"]). - disabled: abaikan DM masuk.
- Tanda tangan event masuk diverifikasi sebelum kebijakan pengirim dan dekripsi NIP-04, sehingga event palsu ditolak sejak awal.
- Balasan pairing dikirim tanpa memproses isi DM asli.
- DM masuk dibatasi lajunya dan payload terlalu besar dibuang sebelum dekripsi.
Contoh allowlist
Format kunci
Format yang diterima:- Kunci privat:
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 event dasar + metadata profil |
| NIP-04 | Didukung | DM terenkripsi (kind:4) |
| NIP-17 | Direncanakan | DM berbungkus hadiah |
| 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 kunci privat valid.
- Pastikan URL relay dapat dijangkau dan menggunakan
wss://(atauws://untuk lokal). - Pastikan
enabledbukanfalse. - Periksa log Gateway untuk error koneksi relay.
Tidak mengirim respons
- Periksa apakah relay menerima penulisan.
- Verifikasi konektivitas keluar.
- Perhatikan batas laju relay.
Respons duplikat
- Wajar saat menggunakan beberapa relay.
- Pesan dideduplikasi berdasarkan ID event; hanya pengiriman pertama yang memicu respons.
Keamanan
- Jangan pernah commit kunci privat.
- Gunakan variabel environment untuk kunci.
- Pertimbangkan
allowlistuntuk bot produksi. - Tanda tangan diverifikasi sebelum kebijakan pengirim, dan kebijakan pengirim ditegakkan sebelum dekripsi, sehingga event palsu ditolak sejak awal dan pengirim 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 Channel — semua channel yang didukung
- Pairing — autentikasi DM dan alur pairing
- Grup — perilaku obrolan grup dan gating mention
- Routing Channel — routing sesi untuk pesan
- Keamanan — model akses dan hardening