@openclaw/nostr) che consente a OpenClaw di ricevere e rispondere a messaggi diretti crittografati NIP-04 tramite relay Nostr. Un account per Gateway; solo messaggi diretti.
Installazione
openclaw onboard) e openclaw channels add mostrano Nostr dal catalogo dei canali condiviso una volta installato il plugin.
Configurazione non interattiva
--use-env per mantenere NOSTR_PRIVATE_KEY nell’ambiente invece di archiviare la chiave nella configurazione (solo per l’account predefinito).
Configurazione rapida
- Genera una coppia di chiavi Nostr (se necessario):
- Aggiungila alla configurazione:
- Esporta la chiave:
- Riavvia il Gateway.
Riferimento della configurazione
Metadati del profilo
I dati del profilo vengono pubblicati come evento NIP-01kind:0. Puoi gestirli dall’interfaccia di controllo (Channels -> Nostr -> Profile) o impostarli direttamente nella configurazione.
Esempio:
- Gli URL del profilo devono usare
https://. - L’importazione dai relay unisce i campi e mantiene le sostituzioni locali.
Controllo degli accessi
Criteri per i messaggi diretti
- pairing (predefinito): i mittenti sconosciuti ricevono un codice di associazione.
- allowlist: solo le chiavi pubbliche in
allowFrompossono inviare messaggi diretti. - open: messaggi diretti pubblici in entrata (richiede
allowFrom: ["*"]). - disabled: ignora i messaggi diretti in entrata.
- Le firme degli eventi in entrata vengono verificate prima del criterio relativo al mittente e della decrittografia NIP-04, pertanto gli eventi contraffatti vengono rifiutati in anticipo.
- Le risposte di associazione vengono inviate senza decrittografare né elaborare il corpo del messaggio diretto originale.
- I messaggi diretti in entrata sono soggetti a limiti di frequenza (globalmente e per mittente) e i payload di dimensioni eccessive vengono scartati prima della decrittografia.
Esempio di elenco consentiti
Formati delle chiavi
Formati accettati:- Chiave privata:
nsec...o formato esadecimale di 64 caratteri - Chiavi pubbliche (
allowFrom):npub...o formato esadecimale
Relay
Valori predefiniti:relay.damus.io e nos.lol.
- Usa 2-3 relay per garantire ridondanza.
- Evita un numero eccessivo di relay (latenza, duplicazione).
- I relay a pagamento possono migliorare l’affidabilità.
- I relay locali sono adatti per i test (
ws://localhost:7777).
Supporto del protocollo
Test
Relay locale
Test manuale
- Prendi nota della chiave pubblica del bot dai log del Gateway o da
openclaw channels status(formato esadecimale; convertila in npub nel tuo client, se necessario). - Apri un client Nostr (Amethyst, Damus, ecc.).
- Invia un messaggio diretto alla chiave pubblica del bot.
- Verifica la risposta.
Risoluzione dei problemi
Mancata ricezione dei messaggi
- Verifica che la chiave privata sia valida.
- Assicurati che gli URL dei relay siano raggiungibili e usino
wss://(ows://per quelli locali). - Verifica che
enablednon siafalse. - Controlla nei log del Gateway la presenza di errori di connessione ai relay.
Mancato invio delle risposte
- Verifica che il relay accetti le scritture.
- Verifica la connettività in uscita.
- Controlla eventuali limiti di frequenza imposti dal relay.
Risposte duplicate
- È un comportamento previsto quando si utilizzano più relay.
- I messaggi vengono deduplicati in base all’ID evento; solo la prima consegna attiva una risposta.
Sicurezza
- Non eseguire mai il commit delle chiavi private.
- Usa variabili d’ambiente per le chiavi.
- Valuta l’uso di
allowlistper i bot in produzione. - Le firme vengono verificate prima del criterio relativo al mittente e tale criterio viene applicato prima della decrittografia, pertanto gli eventi contraffatti vengono rifiutati in anticipo e i mittenti sconosciuti non possono imporre l’esecuzione dell’intera elaborazione crittografica.
Limitazioni (MVP)
- Solo messaggi diretti (nessuna chat di gruppo).
- Nessun allegato multimediale.
- Solo NIP-04 (è pianificato il supporto per le buste crittografiche NIP-17).
Contenuti correlati
- Panoramica dei canali — tutti i canali supportati
- Associazione — autenticazione dei messaggi diretti e flusso di associazione
- Gruppi — comportamento delle chat di gruppo e controllo tramite menzioni
- Instradamento dei canali — instradamento delle sessioni per i messaggi
- Sicurezza — modello di accesso e rafforzamento della sicurezza