Skip to main content
Nostr is een downloadbare kanaalplugin (@openclaw/nostr) waarmee OpenClaw versleutelde directe NIP-04-berichten via Nostr-relays kan ontvangen en beantwoorden. Eén account per Gateway; alleen DM’s.

Installeren

Gebruik de kale pakketspecificatie om de huidige officiële releasetag te volgen. Zet alleen een exacte versie vast wanneer je een reproduceerbare installatie nodig hebt. Vanuit een lokale checkout (ontwikkelworkflows):
Start de Gateway opnieuw nadat je plugins hebt geïnstalleerd of ingeschakeld. Onboarding (openclaw onboard) en openclaw channels add tonen Nostr vanuit de gedeelde kanaalcatalogus zodra de plugin is geïnstalleerd.

Niet-interactieve configuratie

Gebruik --use-env om NOSTR_PRIVATE_KEY in de omgeving te bewaren in plaats van de sleutel in de configuratie op te slaan (alleen voor het standaardaccount).

Snelle configuratie

  1. Genereer een Nostr-sleutelpaar (indien nodig):
  1. Voeg dit toe aan de configuratie:
  1. Exporteer de sleutel:
  1. Start de Gateway opnieuw.

Configuratiereferentie

Profielmetadata

Profielgegevens worden gepubliceerd als een NIP-01-kind:0-event. Je kunt ze beheren via de Control UI (Channels -> Nostr -> Profile) of rechtstreeks instellen in de configuratie. Voorbeeld:
Opmerkingen:
  • Profiel-URL’s moeten https:// gebruiken.
  • Bij importeren vanuit relays worden velden samengevoegd en lokale overschrijvingen behouden.

Toegangsbeheer

DM-beleid

  • pairing (standaard): onbekende afzenders krijgen een koppelingscode.
  • allowlist: alleen publieke sleutels in allowFrom kunnen DM’s sturen.
  • open: openbaar inkomende DM’s (vereist allowFrom: ["*"]).
  • disabled: inkomende DM’s negeren.
Opmerkingen over handhaving:
  • Handtekeningen van inkomende events worden vóór het afzenderbeleid en de NIP-04-ontsleuteling geverifieerd, zodat vervalste events vroegtijdig worden geweigerd.
  • Koppelingsantwoorden worden verzonden zonder de inhoud van de oorspronkelijke DM te ontsleutelen of te verwerken.
  • Voor inkomende DM’s gelden frequentielimieten (globaal en per afzender) en te grote payloads worden vóór ontsleuteling verwijderd.

Voorbeeld van een toelatingslijst

Sleutelindelingen

Geaccepteerde indelingen:
  • Privésleutel: nsec... of hex van 64 tekens
  • Publieke sleutels (allowFrom): npub... of hex

Relays

Standaardwaarden: relay.damus.io en nos.lol.
Tips:
  • Gebruik 2-3 relays voor redundantie.
  • Vermijd te veel relays (latentie, duplicatie).
  • Betaalde relays kunnen de betrouwbaarheid verbeteren.
  • Lokale relays zijn geschikt voor tests (ws://localhost:7777).

Protocolondersteuning

Testen

Lokale relay

Handmatige test

  1. Noteer de publieke sleutel van de bot uit de Gateway-logboeken of openclaw channels status (hex; converteer indien nodig naar npub in je client).
  2. Open een Nostr-client (Amethyst, Damus enzovoort).
  3. Stuur een DM naar de publieke sleutel van de bot.
  4. Controleer het antwoord.

Probleemoplossing

Geen berichten ontvangen

  • Controleer of de privésleutel geldig is.
  • Zorg dat relay-URL’s bereikbaar zijn en wss:// gebruiken (of ws:// voor lokaal gebruik).
  • Controleer of enabled niet false is.
  • Controleer de Gateway-logboeken op verbindingsfouten met relays.

Geen antwoorden verzenden

  • Controleer of de relay schrijfbewerkingen accepteert.
  • Controleer de uitgaande connectiviteit.
  • Let op frequentielimieten van relays.

Dubbele antwoorden

  • Dit is te verwachten bij gebruik van meerdere relays.
  • Berichten worden op event-ID gededupliceerd; alleen de eerste aflevering activeert een antwoord.

Beveiliging

  • Commit privésleutels nooit.
  • Gebruik omgevingsvariabelen voor sleutels.
  • Overweeg allowlist voor productiebots.
  • Handtekeningen worden vóór het afzenderbeleid geverifieerd en het afzenderbeleid wordt vóór ontsleuteling gehandhaafd, zodat vervalste events vroegtijdig worden geweigerd en onbekende afzenders geen volledige cryptografische verwerking kunnen afdwingen.

Beperkingen (MVP)

  • Alleen directe berichten (geen groepschats).
  • Geen mediabijlagen.
  • Alleen NIP-04 (NIP-17-cadeauverpakking gepland).

Gerelateerd