Op deze pagina
Op deze pagina
Developer and self-hosted
Nostr
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
- Genereer een Nostr-sleutelpaar (indien nodig):
- Voeg dit toe aan de configuratie:
- Exporteer de sleutel:
- Start de Gateway opnieuw.
Configuratiereferentie
| Sleutel | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
privateKey |
string | vereist | Privésleutel in nsec- of hex-indeling; geheime verwijzingen toegestaan |
relays |
string[] | ['wss://relay.damus.io', 'wss://nos.lol'] |
Relay-URL's (WebSocket) |
dmPolicy |
string | pairing |
Toegangsbeleid voor DM's |
allowFrom |
string[] | [] |
Toegestane publieke sleutels van afzenders |
enabled |
boolean | true |
Kanaal in-/uitschakelen |
name |
string | - | Weergavenaam |
profile |
object | - | NIP-01-profielmetadata |
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
allowFromkunnen 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
| NIP | Status | Beschrijving |
|---|---|---|
| NIP-01 | Ondersteund | Basisindeling voor events + profielmetadata |
| NIP-04 | Ondersteund | Versleutelde DM's (kind:4) |
| NIP-17 | Gepland | In cadeauverpakking verpakte DM's |
| NIP-44 | Gepland | Versleuteling met versiebeheer |
Testen
Lokale relay
Handmatige test
- Noteer de publieke sleutel van de bot uit de Gateway-logboeken of
openclaw channels status(hex; converteer indien nodig naar npub in je client). - Open een Nostr-client (Amethyst, Damus enzovoort).
- Stuur een DM naar de publieke sleutel van de bot.
- Controleer het antwoord.
Probleemoplossing
Geen berichten ontvangen
- Controleer of de privésleutel geldig is.
- Zorg dat relay-URL's bereikbaar zijn en
wss://gebruiken (ofws://voor lokaal gebruik). - Controleer of
enablednietfalseis. - 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
allowlistvoor 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
- Overzicht van kanalen — alle ondersteunde kanalen
- Koppelen — DM-authenticatie en koppelingsflow
- Groepen — gedrag van groepschats en beperking op basis van vermeldingen
- Kanaalroutering — sessieroutering voor berichten
- Beveiliging — toegangsmodel en beveiliging aanscherpen