Zum Inhalt springen

OpenClaw mit Nostr verbinden: Einrichtung in 5 Minuten

Kennst du das Problem? Du möchtest eine dezentrale Kommunikation für deine Projekte aufbauen, aber die Integration fühlt sich oft unnötig kompliziert an. Nostr bietet hier einen erfrischenden Ansatz, und mit OpenClaw kannst du deine Bots ganz einfach in dieses Netzwerk bringen, ohne dich mit zentralen Gatekeepern herumschlagen zu müssen.

Status: Optionales Plugin (standardmäßig deaktiviert).

Nostr ist ein dezentrales Protokoll für soziale Netzwerke. Dieser Channel ermöglicht es OpenClaw, verschlüsselte Direct Messages (DMs) via NIP-04 zu empfangen und zu beantworten.

  • Das Onboarding (openclaw onboard) und openclaw channels add listen optionale Channel-Plugins auf.
  • Wenn du Nostr auswählst, wirst du gefragt, ob du das Plugin direkt installieren möchtest.

Installations-Standards:

  • Dev-Channel + git checkout verfügbar: nutzt den lokalen Plugin-Pfad.
  • Stable/Beta: lädt das Plugin von npm herunter.

Du kannst die Auswahl im Prompt jederzeit überschreiben.

Terminal-Fenster
openclaw plugins install @openclaw/nostr

Nutze einen lokalen Checkout (für Dev-Workflows):

Terminal-Fenster
openclaw plugins install --link <path-to-local-nostr-plugin>

Starte das Gateway nach der Installation oder Aktivierung von Plugins neu.

Terminal-Fenster
openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"
openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY" --relay-urls "wss://relay.damus.io,wss://relay.primal.net"

Nutze --use-env, um den NOSTR_PRIVATE_KEY in der Umgebungsvariable zu belassen, anstatt den Key in der Konfiguration zu speichern.

  1. Generiere ein Nostr-Keypair (falls benötigt):
Terminal-Fenster
# Using nak
nak key generate
  1. Zur Konfiguration hinzufügen:
{
channels: {
nostr: {
privateKey: "${NOSTR_PRIVATE_KEY}",
},
},
}
  1. Exportiere den Key:
Terminal-Fenster
export NOSTR_PRIVATE_KEY="nsec1..."
  1. Starte das Gateway neu.
KeyTypStandardBeschreibung
privateKeystringerforderlichPrivate Key im nsec- oder Hex-Format
relaysstring[]['wss://relay.damus.io', 'wss://nos.lol']Relay-URLs (WebSocket)
dmPolicystringpairingDM-Zugriffsrichtlinie
allowFromstring[][]Erlaubte Absender-Pubkeys
enabledbooleantrueChannel aktivieren/deaktivieren
namestring-Anzeigename
profileobject-NIP-01 Profil-Metadaten

Profildaten werden als NIP-01 kind:0 Event veröffentlicht. Du kannst diese über das Control UI (Channels -> Nostr -> Profile) verwalten oder direkt in der Konfiguration setzen.

Beispiel:

{
channels: {
nostr: {
privateKey: "${NOSTR_PRIVATE_KEY}",
profile: {
name: "openclaw",
displayName: "OpenClaw",
about: "Personal assistant DM bot",
picture: "https://example.com/avatar.png",
banner: "https://example.com/banner.png",
website: "https://example.com",
nip05: "openclaw@example.com",
lud16: "openclaw@example.com",
},
},
},
}

Hinweise:

  • Profil-URLs müssen https:// verwenden.
  • Beim Import von Relays werden Felder zusammengeführt, wobei lokale Overrides erhalten bleiben.
  • pairing (Standard): Unbekannte Absender erhalten einen Pairing-Code.
  • allowlist: Nur Pubkeys in allowFrom können DMs senden.
  • open: Öffentliche eingehende DMs (erfordert allowFrom: ["*"]).
  • disabled: Eingehende DMs werden ignoriert.

Hinweise zur Durchsetzung:

  • Die Absender-Policy wird geprüft, bevor die Signatur verifiziert oder die NIP-04 Entschlüsselung durchgeführt wird.
  • Pairing-Antworten werden gesendet, ohne den ursprünglichen DM-Inhalt zu verarbeiten. Eingehende DMs sind zudem Rate-limited und zu große Payloads werden vor der Entschlüsselung verworfen.
{
channels: {
nostr: {
privateKey: "${NOSTR_PRIVATE_KEY}",
dmPolicy: "allowlist",
allowFrom: ["npub1abc...", "npub1xyz..."],
},
},
}

Akzeptierte Formate:

  • Private Key: nsec... oder 64-Zeichen Hex
  • Pubkeys (allowFrom): npub... oder Hex

Standards: relay.damus.io und nos.lol.

{
channels: {
nostr: {
privateKey: "${NOSTR_PRIVATE_KEY}",
relays: ["wss://relay.damus.io", "wss://relay.primal.net", "wss://nostr.wine"],
},
},
}

Tipps:

  • Nutze 2-3 Relays für Redundanz.
  • Vermeide zu viele Relays (Latenz, Duplikate).
  • Bezahlte Relays können die Zuverlässigkeit erhöhen.
  • Lokale Relays sind gut zum Testen geeignet (ws://localhost:7777).
NIPStatusBeschreibung
NIP-01UnterstütztBasis Event-Format + Profil-Metadaten
NIP-04UnterstütztVerschlüsselte DMs (kind:4)
NIP-17GeplantGift-wrapped DMs
NIP-44GeplantVersionierte Verschlüsselung
Terminal-Fenster
# Start strfry
docker run -p 7777:7777 ghcr.io/hoytech/strfry
{
channels: {
nostr: {
privateKey: "${NOSTR_PRIVATE_KEY}",
relays: ["ws://localhost:7777"],
},
},
}
  1. Notiere den Bot-Pubkey (npub) aus den Logs.
  2. Öffne einen Nostr-Client (Damus, Amethyst, etc.).
  3. Sende eine DM an den Bot-Pubkey.
  4. Überprüfe die Antwort.
  • Überprüfe, ob der Private Key gültig ist.
  • Stelle sicher, dass die Relay-URLs erreichbar sind und wss:// nutzen (oder ws:// für lokal).
  • Bestätige, dass enabled nicht auf false steht.
  • Prüfe die Gateway-Logs auf Relay-Verbindungsfehler.
  • Prüfe, ob das Relay Schreibzugriffe erlaubt.
  • Verifiziere die ausgehende Konnektivität und achte auf Rate-Limits der Relays.
  • Dies ist bei der Nutzung mehrerer Relays zu erwarten.
  • Nachrichten werden anhand der Event-ID dedupliziert; nur die erste Zustellung löst eine Antwort aus.
  • Committe niemals Private Keys.
  • Nutze Umgebungsvariablen für Keys.
  • Ziehe die allowlist für Produktions-Bots in Betracht.
  • Pairing- und Allowlist-Richtlinien werden vor der Entschlüsselung erzwungen, sodass unbekannte Absender keine Krypto-Rechenlast erzwingen können.
  • Nur Direct Messages (keine Gruppenchats).
  • Keine Medienanhänge und nur NIP-04 Support (NIP-17 Gift-wrap ist geplant).

Hast du Fragen zum Setup? Frag den AI Setup Assistant.

OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.