@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
openclaw onboard) i polecenie openclaw channels add udostępniają Nostr ze współdzielonego katalogu kanałów.
Konfiguracja nieinteraktywna
--use-env, aby zachować NOSTR_PRIVATE_KEY w środowisku zamiast zapisywać klucz w konfiguracji (tylko konto domyślne).
Szybka konfiguracja
- Wygeneruj parę kluczy Nostr (jeśli jest potrzebna):
- Dodaj do konfiguracji:
- Wyeksportuj klucz:
- Uruchom ponownie Gateway.
Dokumentacja konfiguracji
Metadane profilu
Dane profilu są publikowane jako zdarzenie NIP-01kind:0. Możesz nimi zarządzać w interfejsie Control UI (Channels -> Nostr -> Profile) lub ustawić je bezpośrednio w konfiguracji.
Przykład:
- 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.
- 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.
- 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
- 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). - Otwórz klienta Nostr (Amethyst, Damus itp.).
- Wyślij wiadomość bezpośrednią na klucz publiczny bota.
- 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://(lubws://lokalnie). - Potwierdź, że
enablednie ma wartościfalse. - 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
allowlistdla 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
- Przegląd kanałów — wszystkie obsługiwane kanały
- Parowanie — uwierzytelnianie wiadomości bezpośrednich i przebieg parowania
- Grupy — działanie czatów grupowych i ograniczanie na podstawie wzmianek
- Trasowanie kanałów — trasowanie sesji dla wiadomości
- Bezpieczeństwo — model dostępu i wzmacnianie zabezpieczeń