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.
Installation (bei Bedarf)
Abschnitt betitelt „Installation (bei Bedarf)“Onboarding (empfohlen)
Abschnitt betitelt „Onboarding (empfohlen)“- Das Onboarding (
openclaw onboard) undopenclaw channels addlisten 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.
Manuelle Installation
Abschnitt betitelt „Manuelle Installation“openclaw plugins install @openclaw/nostrNutze einen lokalen Checkout (für Dev-Workflows):
openclaw plugins install --link <path-to-local-nostr-plugin>Starte das Gateway nach der Installation oder Aktivierung von Plugins neu.
Nicht-interaktives Setup
Abschnitt betitelt „Nicht-interaktives Setup“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.
Schnelle Einrichtung
Abschnitt betitelt „Schnelle Einrichtung“- Generiere ein Nostr-Keypair (falls benötigt):
# Using naknak key generate- Zur Konfiguration hinzufügen:
{ channels: { nostr: { privateKey: "${NOSTR_PRIVATE_KEY}", }, },}- Exportiere den Key:
export NOSTR_PRIVATE_KEY="nsec1..."- Starte das Gateway neu.
Konfigurations-Referenz
Abschnitt betitelt „Konfigurations-Referenz“| Key | Typ | Standard | Beschreibung |
|---|---|---|---|
privateKey | string | erforderlich | Private Key im nsec- oder Hex-Format |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | Relay-URLs (WebSocket) |
dmPolicy | string | pairing | DM-Zugriffsrichtlinie |
allowFrom | string[] | [] | Erlaubte Absender-Pubkeys |
enabled | boolean | true | Channel aktivieren/deaktivieren |
name | string | - | Anzeigename |
profile | object | - | NIP-01 Profil-Metadaten |
Profil-Metadaten
Abschnitt betitelt „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.
Zugriffskontrolle
Abschnitt betitelt „Zugriffskontrolle“DM-Richtlinien
Abschnitt betitelt „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 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.
Allowlist Beispiel
Abschnitt betitelt „Allowlist Beispiel“{ channels: { nostr: { privateKey: "${NOSTR_PRIVATE_KEY}", dmPolicy: "allowlist", allowFrom: ["npub1abc...", "npub1xyz..."], }, },}Schlüsselformate
Abschnitt betitelt „Schlüsselformate“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).
Protokoll-Unterstützung
Abschnitt betitelt „Protokoll-Unterstützung“| NIP | Status | Beschreibung |
|---|---|---|
| NIP-01 | Unterstützt | Basis Event-Format + Profil-Metadaten |
| NIP-04 | Unterstützt | Verschlüsselte DMs (kind:4) |
| NIP-17 | Geplant | Gift-wrapped DMs |
| NIP-44 | Geplant | Versionierte Verschlüsselung |
Lokales Relay
Abschnitt betitelt „Lokales Relay“# Start strfrydocker run -p 7777:7777 ghcr.io/hoytech/strfry{ channels: { nostr: { privateKey: "${NOSTR_PRIVATE_KEY}", relays: ["ws://localhost:7777"], }, },}Manueller Test
Abschnitt betitelt „Manueller Test“- Notiere den Bot-Pubkey (npub) aus den Logs.
- Öffne einen Nostr-Client (Damus, Amethyst, etc.).
- Sende eine DM an den Bot-Pubkey.
- Überprüfe die Antwort.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Nachrichten werden nicht empfangen
Abschnitt betitelt „Nachrichten werden nicht empfangen“- Überprüfe, ob der Private Key gültig ist.
- Stelle sicher, dass die Relay-URLs erreichbar sind und
wss://nutzen (oderws://für lokal). - Bestätige, dass
enablednicht auffalsesteht. - Prüfe die Gateway-Logs auf Relay-Verbindungsfehler.
Antworten werden nicht gesendet
Abschnitt betitelt „Antworten werden nicht gesendet“- Prüfe, ob das Relay Schreibzugriffe erlaubt.
- Verifiziere die ausgehende Konnektivität und achte auf Rate-Limits der Relays.
Doppelte Antworten
Abschnitt betitelt „Doppelte Antworten“- 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.
Sicherheit
Abschnitt betitelt „Sicherheit“- Committe niemals Private Keys.
- Nutze Umgebungsvariablen für Keys.
- Ziehe die
allowlistfür Produktions-Bots in Betracht. - Pairing- und Allowlist-Richtlinien werden vor der Entschlüsselung erzwungen, sodass unbekannte Absender keine Krypto-Rechenlast erzwingen können.
Einschränkungen (MVP)
Abschnitt betitelt „Einschränkungen (MVP)“- Nur Direct Messages (keine Gruppenchats).
- Keine Medienanhänge und nur NIP-04 Support (NIP-17 Gift-wrap ist geplant).
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Channels Overview — alle unterstützten Channels
- Pairing — DM-Authentifizierung und Pairing-Flow
- Groups — Verhalten in Gruppenchats und Mention-Gating
- Channel Routing — Session-Routing für Nachrichten
Hast du Fragen zum Setup? Frag den AI Setup Assistant.
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.