Стан: Опціональний вбудований plugin (вимкнений за замовчуванням, доки його не налаштовано). Nostr — це децентралізований протокол для соціальних мереж. Цей канал дає OpenClaw змогу отримувати зашифровані прямі повідомлення (DM) через 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.
Вбудований plugin
Поточні випуски OpenClaw постачають Nostr як вбудований plugin, тож звичайні пакетовані збірки не потребують окремого встановлення.Старіші/користувацькі встановлення
- Onboarding (
openclaw onboard) іopenclaw channels addвсе ще показують Nostr зі спільного каталогу каналів. - Якщо ваша збірка не містить вбудований Nostr, установіть npm-пакет напряму.
Неінтерактивне налаштування
--use-env, щоб зберігати NOSTR_PRIVATE_KEY у середовищі замість запису ключа в конфігурацію.
Швидке налаштування
- Згенеруйте пару ключів Nostr (за потреби):
- Додайте до конфігурації:
- Експортуйте ключ:
- Перезапустіть Gateway.
Довідник конфігурації
| Ключ | Тип | За замовчуванням | Опис |
|---|---|---|---|
privateKey | string | обов’язково | Приватний ключ у форматі nsec або hex |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | URL ретрансляторів (WebSocket) |
dmPolicy | string | pairing | Політика доступу DM |
allowFrom | string[] | [] | Дозволені pubkeys відправників |
enabled | boolean | true | Увімкнути/вимкнути канал |
name | string | - | Відображуване ім’я |
profile | object | - | Метадані профілю NIP-01 |
Метадані профілю
Дані профілю публікуються як подія NIP-01kind:0. Ними можна керувати з Control UI (Channels -> Nostr -> Profile) або задати напряму в конфігурації.
Приклад:
- URL профілю мають використовувати
https://. - Імпорт із ретрансляторів об’єднує поля та зберігає локальні перевизначення.
Контроль доступу
Політики DM
- pairing (за замовчуванням): невідомі відправники отримують код pairing.
- allowlist: DM можуть надсилати лише pubkeys у
allowFrom. - open: публічні вхідні DM (потрібно
allowFrom: ["*"]). - disabled: ігнорувати вхідні DM.
- Підписи вхідних подій перевіряються перед політикою відправника та розшифруванням NIP-04, тому підроблені події відхиляються рано.
- Відповіді pairing надсилаються без обробки початкового тіла DM.
- Вхідні DM мають обмеження частоти, а завеликі payloads відкидаються перед розшифруванням.
Приклад allowlist
Формати ключів
Підтримувані формати:- Приватний ключ:
nsec...або 64-символьний hex - Pubkeys (
allowFrom):npub...або hex
Ретранслятори
За замовчуванням:relay.damus.io і nos.lol.
- Використовуйте 2–3 ретранслятори для резервування.
- Уникайте надмірної кількості ретрансляторів (затримка, дублювання).
- Платні ретранслятори можуть підвищити надійність.
- Локальні ретранслятори підходять для тестування (
ws://localhost:7777).
Підтримка протоколів
| NIP | Стан | Опис |
|---|---|---|
| NIP-01 | Підтримується | Базовий формат подій + метадані профілю |
| NIP-04 | Підтримується | Зашифровані DM (kind:4) |
| NIP-17 | Заплановано | DM у gift-wrap |
| NIP-44 | Заплановано | Версійне шифрування |
Тестування
Локальний ретранслятор
Ручний тест
- Занотуйте pubkey бота (npub) із журналів.
- Відкрийте клієнт Nostr (Damus, Amethyst тощо).
- Надішліть DM на pubkey бота.
- Перевірте відповідь.
Усунення несправностей
Повідомлення не надходять
- Перевірте, що приватний ключ чинний.
- Переконайтеся, що URL ретрансляторів доступні та використовують
wss://(абоws://для локального). - Підтвердьте, що
enabledне дорівнюєfalse. - Перевірте журнали Gateway на помилки з’єднання з ретрансляторами.
Відповіді не надсилаються
- Перевірте, що ретранслятор приймає записи.
- Перевірте вихідне з’єднання.
- Стежте за обмеженнями частоти ретранслятора.
Дубльовані відповіді
- Очікувано під час використання кількох ретрансляторів.
- Повідомлення дедуплікуються за ID події; лише перша доставка запускає відповідь.
Безпека
- Ніколи не комітьте приватні ключі.
- Використовуйте змінні середовища для ключів.
- Розгляньте
allowlistдля production-ботів. - Підписи перевіряються перед політикою відправника, а політика відправника застосовується перед розшифруванням, тому підроблені події відхиляються рано, а невідомі відправники не можуть примусити виконувати повну криптографічну роботу.
Обмеження (MVP)
- Лише прямі повідомлення (без групових чатів).
- Без медіавкладень.
- Лише NIP-04 (NIP-17 gift-wrap заплановано).
Пов’язане
- Огляд каналів — усі підтримувані канали
- Pairing — автентифікація DM і потік pairing
- Групи — поведінка групового чату та gating згадок
- Маршрутизація каналів — маршрутизація сеансів для повідомлень
- Безпека — модель доступу та посилення захисту