Status: Opcjonalny dołączony Plugin (domyślnie wyłączony do czasu skonfigurowania). Nostr to zdecentralizowany protokół sieci społecznościowych. Ten kanał umożliwia OpenClaw odbieranie zaszyfrowanych wiadomości bezpośrednich (DM) i odpowiadanie na nie przez NIP-04.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Dołączony Plugin
Bieżące wydania OpenClaw dostarczają Nostr jako dołączony Plugin, więc zwykłe spakowane kompilacje nie wymagają osobnej instalacji.Starsze/niestandardowe instalacje
- Onboarding (
openclaw onboard) orazopenclaw channels addnadal pokazują Nostr ze współdzielonego katalogu kanałów. - Jeśli Twoja kompilacja wyklucza dołączony Nostr, zainstaluj pakiet npm bezpośrednio.
Konfiguracja nieinteraktywna
--use-env, aby zachować NOSTR_PRIVATE_KEY w środowisku zamiast przechowywać klucz w konfiguracji.
Szybka konfiguracja
- Wygeneruj parę kluczy Nostr (jeśli potrzebna):
- 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'] | Adresy URL przekaźników (WebSocket) |
dmPolicy | string | pairing | Zasady dostępu do DM |
allowFrom | string[] | [] | Dozwolone klucze publiczne nadawców |
enabled | boolean | true | Włącz/wyłącz kanał |
name | string | - | Nazwa wyświetlana |
profile | object | - | Metadane profilu NIP-01 |
Metadane profilu
Dane profilu są publikowane jako zdarzenie NIP-01kind:0. Możesz zarządzać nimi z Control UI (Channels -> Nostr -> Profile) albo ustawić je bezpośrednio w konfiguracji.
Przykład:
- Adresy URL profilu muszą używać
https://. - Importowanie z przekaźników scala pola i zachowuje lokalne nadpisania.
Kontrola dostępu
Zasady DM
- pairing (domyślnie): nieznani nadawcy otrzymują kod parowania.
- allowlist: DM mogą wysyłać tylko klucze publiczne z
allowFrom. - open: publiczne przychodzące DM (wymaga
allowFrom: ["*"]). - disabled: ignoruj przychodzące DM.
- Podpisy zdarzeń przychodzących są weryfikowane przed zasadami nadawcy i odszyfrowaniem NIP-04, więc sfałszowane zdarzenia są odrzucane wcześnie.
- Odpowiedzi parowania są wysyłane bez przetwarzania pierwotnej treści DM.
- Przychodzące DM są ograniczane limitem szybkości, a zbyt duże ładunki są odrzucane przed odszyfrowaniem.
Przykład allowlist
Formaty kluczy
Akceptowane formaty:- Klucz prywatny:
nsec...lub 64-znakowy hex - Klucze publiczne (
allowFrom):npub...lub hex
Przekaźniki
Domyślnie:relay.damus.io i nos.lol.
- Używaj 2-3 przekaźników dla redundancji.
- Unikaj zbyt wielu przekaźników (opóźnienia, duplikacja).
- Płatne przekaźniki mogą poprawić niezawodność.
- Lokalne przekaźniki dobrze sprawdzają się w testach (
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 w opakowaniu prezentowym |
| NIP-44 | Planowane | Szyfrowanie wersjonowane |
Testowanie
Lokalny przekaźnik
Test ręczny
- Zanotuj klucz publiczny bota (npub) z logów.
- Otwórz klienta Nostr (Damus, Amethyst itd.).
- Wyślij DM na klucz publiczny bota.
- Zweryfikuj odpowiedź.
Rozwiązywanie problemów
Wiadomości nie są odbierane
- Zweryfikuj, czy klucz prywatny jest prawidłowy.
- Upewnij się, że adresy URL przekaźnikó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łączeń z przekaźnikami.
Odpowiedzi nie są wysyłane
- Sprawdź, czy przekaźnik akceptuje zapisy.
- Zweryfikuj łączność wychodzącą.
- Uważaj na limity szybkości przekaźników.
Zduplikowane odpowiedzi
- Oczekiwane przy używaniu wielu przekaźnikó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 zasadami nadawcy, a zasady nadawcy są wymuszane przed odszyfrowaniem, więc sfałszowane zdarzenia są odrzucane wcześnie, 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 (planowany gift-wrap NIP-17).
Powiązane
- Przegląd kanałów — wszystkie obsługiwane kanały
- Parowanie — uwierzytelnianie DM i przepływ parowania
- Grupy — zachowanie czatu grupowego i kontrola wzmianek
- Routing kanałów — routing sesji dla wiadomości
- Bezpieczeństwo — model dostępu i utwardzanie