Nostr
Status: Optionales gebündeltes Plugin (standardmäßig deaktiviert, bis es konfiguriert wird). Nostr ist ein dezentrales Protokoll für soziale Netzwerke. Dieser Kanal ermöglicht es OpenClaw, verschlüsselte Direktnachrichten (DMs) über NIP-04 zu empfangen und darauf zu antworten.Gebündeltes Plugin
Aktuelle OpenClaw-Versionen enthalten Nostr als gebündeltes Plugin, daher ist bei normalen paketierten Builds keine separate Installation erforderlich.Ältere/benutzerdefinierte Installationen
- Onboarding (
openclaw onboard) undopenclaw channels addzeigen Nostr weiterhin aus dem gemeinsamen Kanalkatalog an. - Wenn Ihr Build das gebündelte Nostr ausschließt, installieren Sie es manuell.
Nicht-interaktive Einrichtung
--use-env, um NOSTR_PRIVATE_KEY in der Umgebung zu behalten, statt den Schlüssel in der Konfiguration zu speichern.
Schnelleinrichtung
- Erzeugen Sie ein Nostr-Schlüsselpaar (falls erforderlich):
- Zur Konfiguration hinzufügen:
- Den Schlüssel exportieren:
- Starten Sie das Gateway neu.
Konfigurationsreferenz
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
privateKey | string | erforderlich | Privater Schlüssel im Format nsec oder hex |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | Relay-URLs (WebSocket) |
dmPolicy | string | pairing | DM-Zugriffsrichtlinie |
allowFrom | string[] | [] | Erlaubte Sender-Pubkeys |
enabled | boolean | true | Kanal aktivieren/deaktivieren |
name | string | - | Anzeigename |
profile | object | - | NIP-01-Profilmetadaten |
Profilmetadaten
Profildaten werden als NIP-01-kind:0-Ereignis veröffentlicht. Sie können sie über die Control UI verwalten (Channels -> Nostr -> Profile) oder direkt in der Konfiguration festlegen.
Beispiel:
- Profil-URLs müssen
https://verwenden. - Das Importieren von Relays führt Felder zusammen und behält lokale Überschreibungen bei.
Zugriffskontrolle
DM-Richtlinien
- pairing (Standard): unbekannte Absender erhalten einen Pairing-Code.
- allowlist: Nur Pubkeys in
allowFromkönnen DMs senden. - open: öffentliche eingehende DMs (erfordert
allowFrom: ["*"]). - disabled: eingehende DMs ignorieren.
- Signaturen eingehender Ereignisse werden vor der Absenderrichtlinie und der NIP-04-Entschlüsselung verifiziert, sodass gefälschte Ereignisse früh abgelehnt werden.
- Pairing-Antworten werden gesendet, ohne den ursprünglichen DM-Inhalt zu verarbeiten.
- Eingehende DMs werden rate-limitiert und übergroße Nutzdaten werden vor der Entschlüsselung verworfen.
Allowlist-Beispiel
Schlüsselformate
Akzeptierte Formate:- Privater Schlüssel:
nsec...oder 64 Zeichen hex - Pubkeys (
allowFrom):npub...oder hex
Relays
Standardeinstellung:relay.damus.io und nos.lol.
- Verwenden Sie 2-3 Relays für Redundanz.
- Vermeiden Sie zu viele Relays (Latenz, Duplikate).
- Kostenpflichtige Relays können die Zuverlässigkeit verbessern.
- Lokale Relays sind zum Testen in Ordnung (
ws://localhost:7777).
Protokollunterstützung
| NIP | Status | Beschreibung |
|---|---|---|
| NIP-01 | Unterstützt | Grundlegendes Ereignisformat + Profilmetadaten |
| NIP-04 | Unterstützt | Verschlüsselte DMs (kind:4) |
| NIP-17 | Geplant | Gift-wrapped DMs |
| NIP-44 | Geplant | Versionierte Verschlüsselung |
Tests
Lokales Relay
Manueller Test
- Notieren Sie den Bot-Pubkey (npub) aus den Protokollen.
- Öffnen Sie einen Nostr-Client (Damus, Amethyst usw.).
- Senden Sie eine DM an den Bot-Pubkey.
- Verifizieren Sie die Antwort.
Fehlerbehebung
Es werden keine Nachrichten empfangen
- Verifizieren Sie, dass der private Schlüssel gültig ist.
- Stellen Sie sicher, dass die Relay-URLs erreichbar sind und
wss://verwenden (oderws://für lokal). - Bestätigen Sie, dass
enablednichtfalseist. - Prüfen Sie die Gateway-Protokolle auf Fehler bei Relay-Verbindungen.
Es werden keine Antworten gesendet
- Prüfen Sie, ob das Relay Schreibzugriffe akzeptiert.
- Verifizieren Sie ausgehende Konnektivität.
- Achten Sie auf Relay-Rate-Limits.
Doppelte Antworten
- Bei Verwendung mehrerer Relays ist das zu erwarten.
- Nachrichten werden anhand der Ereignis-ID dedupliziert; nur die erste Zustellung löst eine Antwort aus.
Sicherheit
- Committen Sie niemals private Schlüssel.
- Verwenden Sie Umgebungsvariablen für Schlüssel.
- Erwägen Sie
allowlistfür Produktions-Bots. - Signaturen werden vor der Absenderrichtlinie verifiziert, und die Absenderrichtlinie wird vor der Entschlüsselung durchgesetzt, sodass gefälschte Ereignisse früh abgelehnt werden und unbekannte Absender keine vollständige Kryptoverarbeitung erzwingen können.
Einschränkungen (MVP)
- Nur Direktnachrichten (keine Gruppenchats).
- Keine Medienanhänge.
- Nur NIP-04 (NIP-17 Gift-wrap ist geplant).
Verwandt
- Channels Overview — alle unterstützten Kanäle
- Pairing — DM-Authentifizierung und Pairing-Ablauf
- Groups — Verhalten in Gruppenchats und Mention-Gating
- Channel Routing — Sitzungsrouting für Nachrichten
- Security — Zugriffsmodell und Härtung