Skip to main content
Nostr to pobieralny plugin kanału (@openclaw/nostr), który umożliwia OpenClaw odbieranie zaszyfrowanych wiadomości bezpośrednich NIP-04 i odpowiadanie na nie za pośrednictwem przekaźników Nostr. Jedno konto na Gateway; tylko wiadomości bezpośrednie.

Instalacja

Użyj samej specyfikacji pakietu, aby korzystać z bieżącego oficjalnego znacznika wydania. Przypnij dokładną wersję tylko wtedy, gdy potrzebujesz powtarzalnej instalacji. Z lokalnego katalogu roboczego (przepływy deweloperskie):
Po zainstalowaniu lub włączeniu pluginów uruchom ponownie Gateway. Po zainstalowaniu pluginu proces wprowadzający (openclaw onboard) i polecenie openclaw channels add udostępniają Nostr ze współdzielonego katalogu kanałów.

Konfiguracja nieinteraktywna

Użyj --use-env, aby zachować NOSTR_PRIVATE_KEY w środowisku zamiast zapisywać klucz w konfiguracji (tylko konto domyślne).

Szybka konfiguracja

  1. Wygeneruj parę kluczy Nostr (jeśli jest potrzebna):
  1. Dodaj do konfiguracji:
  1. Wyeksportuj klucz:
  1. Uruchom ponownie Gateway.

Dokumentacja konfiguracji

Metadane profilu

Dane profilu są publikowane jako zdarzenie NIP-01 kind:0. Możesz nimi zarządzać w interfejsie Control UI (Channels -> Nostr -> Profile) lub ustawić je bezpośrednio w konfiguracji. Przykład:
Uwagi:
  • Adresy URL profilu muszą używać protokołu https://.
  • Importowanie z przekaźników scala pola i zachowuje lokalne nadpisania.

Kontrola dostępu

Zasady wiadomości bezpośrednich

  • pairing (domyślnie): nieznani nadawcy otrzymują kod parowania.
  • allowlist: wiadomości bezpośrednie mogą wysyłać tylko klucze publiczne wymienione w allowFrom.
  • open: publicznie dostępne przychodzące wiadomości bezpośrednie (wymaga allowFrom: ["*"]).
  • disabled: ignorowanie przychodzących wiadomości bezpośrednich.
Uwagi dotyczące egzekwowania zasad:
  • Podpisy zdarzeń przychodzących są weryfikowane przed zastosowaniem zasad nadawcy i odszyfrowaniem NIP-04, dlatego sfałszowane zdarzenia są wcześnie odrzucane.
  • Odpowiedzi dotyczące parowania są wysyłane bez odszyfrowywania ani przetwarzania treści pierwotnej wiadomości bezpośredniej.
  • Przychodzące wiadomości bezpośrednie podlegają ograniczeniom częstotliwości (globalnie i dla każdego nadawcy), a zbyt duże ładunki są odrzucane przed odszyfrowaniem.

Przykład listy dozwolonych

Formaty kluczy

Akceptowane formaty:
  • Klucz prywatny: nsec... lub 64-znakowy zapis szesnastkowy
  • Klucze publiczne (allowFrom): npub... lub zapis szesnastkowy

Przekaźniki

Domyślne: relay.damus.io i nos.lol.
Wskazówki:
  • Używaj 2–3 przekaźników, aby zapewnić nadmiarowość.
  • Unikaj zbyt wielu przekaźników (opóźnienia, duplikowanie).
  • Płatne przekaźniki mogą zwiększyć niezawodność.
  • Lokalne przekaźniki dobrze nadają się do testowania (ws://localhost:7777).

Obsługa protokołów

Testowanie

Lokalny przekaźnik

Test ręczny

  1. Zanotuj klucz publiczny bota z dzienników Gateway lub polecenia openclaw channels status (zapis szesnastkowy; w razie potrzeby przekonwertuj go na npub w swoim kliencie).
  2. Otwórz klienta Nostr (Amethyst, Damus itp.).
  3. Wyślij wiadomość bezpośrednią na klucz publiczny bota.
  4. Sprawdź odpowiedź.

Rozwiązywanie problemów

Brak odbieranych wiadomości

  • Sprawdź, czy klucz prywatny jest prawidłowy.
  • Upewnij się, że adresy URL przekaźników są osiągalne i używają protokołu wss:// (lub ws:// lokalnie).
  • Potwierdź, że enabled nie ma wartości false.
  • Sprawdź dzienniki Gateway pod kątem błędów połączenia z przekaźnikami.

Brak wysyłanych odpowiedzi

  • Sprawdź, czy przekaźnik akceptuje zapisy.
  • Sprawdź łączność wychodzącą.
  • Zwróć uwagę na ograniczenia częstotliwości przekaźnika.

Zduplikowane odpowiedzi

  • Jest to oczekiwane podczas korzystania z wielu przekaźników.
  • Wiadomości są deduplikowane według identyfikatora zdarzenia; tylko pierwsze dostarczenie wywołuje odpowiedź.

Bezpieczeństwo

  • Nigdy nie zatwierdzaj kluczy prywatnych w repozytorium.
  • Używaj zmiennych środowiskowych do przechowywania kluczy.
  • Rozważ użycie allowlist dla botów produkcyjnych.
  • Podpisy są weryfikowane przed zastosowaniem zasad nadawcy, a zasady nadawcy są egzekwowane przed odszyfrowaniem, dlatego sfałszowane zdarzenia są wcześnie odrzucane, a nieznani nadawcy nie mogą wymusić wykonania pełnych operacji kryptograficznych.

Ograniczenia (MVP)

  • Tylko wiadomości bezpośrednie (bez czatów grupowych).
  • Brak załączników multimedialnych.
  • Tylko NIP-04 (planowana obsługa opakowania prezentowego NIP-17).

Powiązane materiały