Skip to Content
👋 Willkommen bei HowToUseOpenClaw Schnellstart
KanäleNostr

Nostr

Status: Optionales Plugin (standardmäßig deaktiviert). Nostr ist ein dezentrales Protokoll für soziale Netzwerke. Dieser Kanal ermöglicht OpenClaw, verschlüsselte Direktnachrichten (DMs) über NIP-04 zu empfangen und zu beantworten.

Installation (bei Bedarf)

Onboarding (empfohlen)

  • Der Onboarding-Assistent (openclaw onboard) und openclaw channels add listen optionale Kanal-Plugins auf.
  • Bei Auswahl von Nostr werden Sie aufgefordert, das Plugin bei Bedarf zu installieren.

Standard-Installation:

  • Dev-Kanal + Git-Checkout verfügbar: nutzt den lokalen Plugin-Pfad.
  • Stable/Beta: lädt von npm herunter.

Sie können die Auswahl in der Eingabeaufforderung jederzeit überschreiben.

Manuelle Installation

openclaw plugins install @openclaw/nostr

Lokaler Checkout (Dev-Workflows):

openclaw plugins install --link <path-to-openclaw>/extensions/nostr

Gateway nach dem Installieren oder Aktivieren von Plugins neu starten.

Schnelleinrichtung

  1. Nostr-Schlüsselpaar erzeugen (falls nötig):
# Using nak nak key generate
  1. Zur Konfiguration hinzufügen:
{ "channels": { "nostr": { "privateKey": "${NOSTR_PRIVATE_KEY}" } } }
  1. Schlüssel exportieren:
export NOSTR_PRIVATE_KEY="nsec1..."
  1. Gateway neu starten.

Konfigurationsreferenz

KeyTypeDefaultDescription
privateKeystringrequiredPrivate key in nsec or hex format
relaysstring[]['wss://relay.damus.io', 'wss://nos.lol']Relay URLs (WebSocket)
dmPolicystringpairingDM access policy
allowFromstring[][]Allowed sender pubkeys
enabledbooleantrueEnable/disable channel
namestring-Display name
profileobject-NIP-01 profile metadata

Profil-Metadaten

Profildaten werden als NIP-01-Event kind:0 veröffentlicht. Sie können sie in der 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.
  • Import von Relays führt Felder zusammen und behält lokale Overrides bei.

Zugriffskontrolle

DM-Richtlinien

  • pairing (Standard): unbekannte Absender erhalten einen Kopplungscode.
  • allowlist: nur Pubkeys in allowFrom können DM senden.
  • open: öffentliche eingehende DMs (erfordert allowFrom: ["*"]).
  • disabled: eingehende DMs ignorieren.

Zulassen-Listen-Beispiel

{ "channels": { "nostr": { "privateKey": "${NOSTR_PRIVATE_KEY}", "dmPolicy": "allowlist", "allowFrom": ["npub1abc...", "npub1xyz..."] } } }

Schlüsselformate

Akzeptierte Formate:

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

Relays

Standard: 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:

  • 2–3 Relays für Redundanz nutzen.
  • Zu viele Relays vermeiden (Latenz, Duplikate).
  • Bezahlte Relays können die Zuverlässigkeit verbessern.
  • Lokale Relays sind für Tests in Ordnung (ws://localhost:7777).

Protokollunterstützung

NIPStatusDescription
NIP-01SupportedBasic event format + profile metadata
NIP-04SupportedEncrypted DMs (kind:4)
NIP-17PlannedGift-wrapped DMs
NIP-44PlannedVersioned encryption

Testen

Lokales Relay

# Start strfry docker run -p 7777:7777 ghcr.io/hoytech/strfry
{ "channels": { "nostr": { "privateKey": "${NOSTR_PRIVATE_KEY}", "relays": ["ws://localhost:7777"] } } }

Manueller Test

  1. Bot-Pubkey (npub) aus den Logs notieren.
  2. Nostr-Client öffnen (Damus, Amethyst usw.).
  3. Bot-Pubkey per DM kontaktieren.
  4. Antwort prüfen.

Fehlerbehebung

Keine Nachrichten empfangen

  • Prüfen, ob der private Schlüssel gültig ist.
  • Sicherstellen, dass Relay-URLs erreichbar sind und wss:// (oder ws:// lokal) verwenden.
  • Bestätigen, dass enabled nicht false ist.
  • Gateway-Logs auf Relay-Verbindungsfehler prüfen.

Keine Antworten gesendet

  • Prüfen, ob das Relay Schreibzugriffe akzeptiert.
  • Ausgehende Konnektivität prüfen.
  • Auf Relay-Ratenlimits achten.

Doppelte Antworten

  • Erwartet bei Nutzung mehrerer Relays.
  • Nachrichten werden anhand der Event-ID dedupliziert; nur die erste Zustellung löst eine Antwort aus.

Sicherheit

  • Private Schlüssel niemals committen.
  • Umgebungsvariablen für Schlüssel verwenden.
  • Für Produktions-Bots allowlist erwägen.

Einschränkungen (MVP)

  • Nur Direktnachrichten (keine Gruppenchats).
  • Keine Medienanhänge.
  • Nur NIP-04 (NIP-17 Gift-Wrap geplant).
Zuletzt aktualisiert am: