Nostr
Status: Opcjonalna wbudowana wtyczka (domyślnie wyłączona do czasu konfiguracji). Nostr to zdecentralizowany protokół do sieci społecznościowych. Ten kanał umożliwia OpenClaw odbieranie i wysyłanie odpowiedzi na szyfrowane wiadomości bezpośrednie (DM) przez NIP-04.Wbudowana wtyczka
Aktualne wydania OpenClaw zawierają Nostr jako wbudowaną wtyczkę, więc zwykłe spakowane kompilacje nie wymagają osobnej instalacji.Starsze/niestandardowe instalacje
- Onboarding (
openclaw onboard) iopenclaw channels addnadal pokazują Nostr ze współdzielonego katalogu kanałów. - Jeśli Twoja kompilacja nie zawiera wbudowanego Nostr, zainstaluj go ręcznie.
Konfiguracja nieinteraktywna
--use-env, aby pozostawić NOSTR_PRIVATE_KEY w zmiennych środowiskowych zamiast zapisywać klucz w konfiguracji.
Szybka konfiguracja
- Wygeneruj parę kluczy Nostr (w razie potrzeby):
- Dodaj do konfiguracji:
- Wyeksportuj klucz:
- Uruchom ponownie Gateway.
Dokumentacja konfiguracji
| Klucz | Typ | Domyślnie | Opis |
|---|---|---|---|
privateKey | string | wymagane | Klucz prywatny w formacie nsec lub hex |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | URL-e relayów (WebSocket) |
dmPolicy | string | pairing | Polityka dostępu do DM |
allowFrom | string[] | [] | Dozwolone pubkeye nadawców |
enabled | boolean | true | Włączenie/wyłączenie kanału |
name | string | - | Nazwa wyświetlana |
profile | object | - | Metadane profilu NIP-01 |
Metadane profilu
Dane profilu są publikowane jako zdarzenie NIP-01kind:0. Możesz nimi zarządzać z interfejsu Control UI (Channels -> Nostr -> Profile) albo ustawić je bezpośrednio w konfiguracji.
Przykład:
- URL-e profilu muszą używać
https://. - Importowanie z relayów scala pola i zachowuje lokalne nadpisania.
Kontrola dostępu
Polityki DM
- pairing (domyślnie): nieznani nadawcy otrzymują kod parowania.
- allowlist: tylko pubkeye z
allowFrommogą wysyłać DM. - open: publiczne przychodzące DM (wymaga
allowFrom: ["*"]). - disabled: ignoruj przychodzące DM.
- Podpisy zdarzeń przychodzących są weryfikowane przed polityką nadawcy i odszyfrowaniem NIP-04, więc sfałszowane zdarzenia są odrzucane wcześnie.
- Odpowiedzi parowania są wysyłane bez przetwarzania oryginalnej treści wiadomości DM.
- Przychodzące DM są ograniczane limitami szybkości, a zbyt duże payloady są odrzucane przed odszyfrowaniem.
Przykład allowlisty
Formaty kluczy
Akceptowane formaty:- Klucz prywatny:
nsec...lub 64-znakowy hex - Pubkeye (
allowFrom):npub...lub hex
Relaye
Domyślnie:relay.damus.io i nos.lol.
- Używaj 2–3 relayów dla redundancji.
- Unikaj zbyt wielu relayów (opóźnienia, duplikacja).
- Płatne relaye mogą poprawić niezawodność.
- Lokalne relaye nadają się do testów (
ws://localhost:7777).
Obsługa protokołu
| NIP | Status | Opis |
|---|---|---|
| NIP-01 | Obsługiwane | Podstawowy format zdarzeń + metadane profilu |
| NIP-04 | Obsługiwane | Szyfrowane DM (kind:4) |
| NIP-17 | Planowane | DM opakowane jako gift-wrap |
| NIP-44 | Planowane | Wersjonowane szyfrowanie |
Testowanie
Lokalny relay
Test ręczny
- Zanotuj pubkey bota (npub) z logów.
- Otwórz klienta Nostr (Damus, Amethyst itp.).
- Wyślij DM do pubkeya bota.
- Zweryfikuj odpowiedź.
Rozwiązywanie problemów
Nie odbiera wiadomości
- Sprawdź, czy klucz prywatny jest prawidłowy.
- Upewnij się, że URL-e relayów są osiągalne i używają
wss://(lubws://lokalnie). - Potwierdź, że
enablednie ma wartościfalse. - Sprawdź logi Gateway pod kątem błędów połączenia z relayami.
Nie wysyła odpowiedzi
- Sprawdź, czy relay akceptuje zapisy.
- Zweryfikuj łączność wychodzącą.
- Obserwuj limity szybkości narzucane przez relaye.
Zduplikowane odpowiedzi
- To oczekiwane przy użyciu wielu relayów.
- Wiadomości są deduplikowane według identyfikatora zdarzenia; tylko pierwsze dostarczenie wywołuje odpowiedź.
Bezpieczeństwo
- Nigdy nie commituj kluczy prywatnych.
- Używaj zmiennych środowiskowych dla kluczy.
- Rozważ
allowlistdla botów produkcyjnych. - Podpisy są weryfikowane przed polityką nadawcy, a polityka nadawcy jest egzekwowana przed odszyfrowaniem, więc sfałszowane zdarzenia są wcześnie odrzucane, a nieznani nadawcy nie mogą wymusić pełnej pracy kryptograficznej.
Ograniczenia (MVP)
- Tylko wiadomości bezpośrednie (bez czatów grupowych).
- Brak załączników multimedialnych.
- Tylko NIP-04 (NIP-17 gift-wrap jest planowany).
Powiązane
- Channels Overview — wszystkie obsługiwane kanały
- Pairing — uwierzytelnianie DM i przepływ parowania
- Groups — zachowanie czatu grupowego i bramkowanie wzmianek
- Channel Routing — routing sesji dla wiadomości
- Security — model dostępu i utwardzanie