Skip to main content
Nostr — це завантажуваний Plugin каналу (@openclaw/nostr), який дає OpenClaw змогу отримувати зашифровані особисті повідомлення NIP-04 через ретранслятори Nostr і відповідати на них. Один обліковий запис на кожен Gateway; лише особисті повідомлення.

Встановлення

Використовуйте специфікацію пакета без версії, щоб отримувати поточний офіційний тег випуску. Фіксуйте точну версію лише тоді, коли потрібне відтворюване встановлення. З локальної робочої копії (процеси розробки):
Перезапустіть Gateway після встановлення або ввімкнення плагінів. Після встановлення Plugin початкове налаштування (openclaw onboard) і команда openclaw channels add відображають Nostr зі спільного каталогу каналів.

Неінтерактивне налаштування

Використовуйте --use-env, щоб зберігати NOSTR_PRIVATE_KEY у середовищі, а не записувати ключ у конфігурацію (лише для облікового запису за замовчуванням).

Швидке налаштування

  1. Створіть пару ключів Nostr (за потреби):
  1. Додайте до конфігурації:
  1. Експортуйте ключ:
  1. Перезапустіть Gateway.

Довідник із конфігурації

Метадані профілю

Дані профілю публікуються як подія NIP-01 kind:0. Ними можна керувати в інтерфейсі керування (Channels -> Nostr -> Profile) або задавати їх безпосередньо в конфігурації. Приклад:
Примітки:
  • URL-адреси профілю мають використовувати https://.
  • Під час імпорту з ретрансляторів поля об’єднуються, а локальні перевизначення зберігаються.

Керування доступом

Політики особистих повідомлень

  • pairing (за замовчуванням): невідомі відправники отримують код сполучення.
  • allowlist: надсилати особисті повідомлення можуть лише відкриті ключі з allowFrom.
  • open: загальнодоступні вхідні особисті повідомлення (потрібне allowFrom: ["*"]).
  • disabled: ігнорувати вхідні особисті повідомлення.
Примітки щодо застосування правил:
  • Підписи вхідних подій перевіряються до застосування політики відправника й розшифрування NIP-04, тому підроблені події відхиляються на ранньому етапі.
  • Відповіді для сполучення надсилаються без розшифрування чи обробки початкового вмісту особистого повідомлення.
  • Частота вхідних особистих повідомлень обмежується глобально й окремо для кожного відправника, а завеликі корисні навантаження відкидаються до розшифрування.

Приклад списку дозволених

Формати ключів

Прийнятні формати:
  • Закритий ключ: nsec... або 64-символьне шістнадцяткове значення
  • Відкриті ключі (allowFrom): npub... або шістнадцяткове значення

Ретранслятори

За замовчуванням: relay.damus.io і nos.lol.
Поради:
  • Для резервування використовуйте 2–3 ретранслятори.
  • Уникайте надмірної кількості ретрансляторів через затримки й дублювання.
  • Платні ретранслятори можуть підвищити надійність.
  • Локальні ретранслятори підходять для тестування (ws://localhost:7777).

Підтримка протоколів

Тестування

Локальний ретранслятор

Ручна перевірка

  1. Знайдіть відкритий ключ бота в журналах Gateway або за допомогою openclaw channels status (у шістнадцятковому форматі; за потреби перетворіть його на npub у своєму клієнті).
  2. Відкрийте клієнт Nostr (Amethyst, Damus тощо).
  3. Надішліть особисте повідомлення на відкритий ключ бота.
  4. Перевірте відповідь.

Усунення несправностей

Повідомлення не надходять

  • Переконайтеся, що закритий ключ дійсний.
  • Переконайтеся, що URL-адреси ретрансляторів доступні та використовують wss:// (або ws:// для локальних ретрансляторів).
  • Переконайтеся, що enabled не має значення false.
  • Перевірте журнали Gateway на наявність помилок підключення до ретрансляторів.

Відповіді не надсилаються

  • Перевірте, чи приймає ретранслятор операції запису.
  • Перевірте вихідне підключення.
  • Зважайте на обмеження частоти запитів ретранслятора.

Дубльовані відповіді

  • Це очікувана поведінка під час використання кількох ретрансляторів.
  • Повідомлення дедуплікуються за ідентифікатором події; відповідь спричиняє лише перше доставлення.

Безпека

  • Ніколи не фіксуйте закриті ключі в репозиторії.
  • Використовуйте змінні середовища для ключів.
  • Для робочих ботів варто використовувати allowlist.
  • Підписи перевіряються до застосування політики відправника, а політика відправника застосовується до розшифрування, тому підроблені події відхиляються на ранньому етапі, а невідомі відправники не можуть примусово запустити повний обсяг криптографічних обчислень.

Обмеження (MVP)

  • Лише особисті повідомлення (без групових чатів).
  • Без медіавкладень.
  • Лише NIP-04 (подарункову обгортку NIP-17 заплановано).

Пов’язані матеріали