ホーム チュートリアル カテゴリ Skills サイトについて
ZH EN JA KO
チャンネル連携

OpenClawをNostr分散型ソーシャルプロトコルに統合する

· 8 分で読了

Nostr(Notes and Other Stuff Transmitted by Relays)はオープンな分散型ソーシャルプロトコルです。従来の中央集権型プラットフォームとは異なり、Nostrには中央サーバーがなく、メッセージは複数のリレーノードを通じて伝播されます。OpenClawはプラグインシステムを通じてNostrプロトコルをサポートしており、AIエージェントがこの分散型ネットワーク上でユーザーとやり取りできます。

Nostrプロトコルの基礎

設定の前に、Nostrの基本概念を理解しておくと便利です。Nostrは公開鍵暗号を使用してユーザーを識別します。各ユーザーは鍵ペアで識別されます:秘密鍵(nsec)はメッセージの署名に使用され、公開鍵(npub)は公開IDとして使用されます。メッセージ(イベントと呼ばれる)はリレーサーバーを通じて転送され、ユーザーは接続するリレーを選択できます。

OpenClawの場合、AIエージェントは独自の鍵ペアを持ち、ネットワーク上で独立したNostr IDとして存在します。

前提条件

  • OpenClawインスタンスがデプロイされ動作していること
  • Nostr鍵ペア(OpenClawで自動生成可能、または既存のものを使用)
  • 少なくとも1つの信頼性の高いNostrリレーサーバーアドレス

Nostrプラグインのインストール

OpenClawのプラグインシステムからインストールします:

openclaw plugin install nostr

インタラクティブコマンドで設定します:

openclaw channels login nostr

Nostr鍵ペアをまだ持っていない場合、プラグインが自動生成するかどうかを尋ねます。生成後は秘密鍵を安全にバックアップしてください。

openclaw.jsonの設定

手動設定例:

{
  "channels": {
    "nostr": {
      "enabled": true,
      "privateKey": "nsec1xxxxxxxxxxxxxxxxxx",
      "relays": [
        "wss://relay.damus.io",
        "wss://relay.nostr.band",
        "wss://nos.lol"
      ],
      "respondToMentions": true,
      "respondToDirectMessages": true
    }
  }
}

privateKeyはAIエージェントのNostr秘密鍵で、nsecで始まるbech32エンコード文字列です。relaysはリレーサーバーのリストで、メッセージ配信の信頼性を向上させるために複数のリレーを設定することを推奨します。

サポートされるメッセージタイプ

OpenClaw Nostrプラグインは以下のインタラクション方法をサポートしています:

暗号化ダイレクトメッセージ(NIP-04/NIP-44):ユーザーがNostrクライアントを通じてAIエージェントに暗号化ダイレクトメッセージを送信します。エージェントはメッセージを復号し、処理して暗号化された返信を返します。これが最もプライバシーの高いインタラクション方法です。NIP-44はより新しい暗号化標準で、より良いセキュリティを提供します。

パブリックメンション:ユーザーがパブリックノートでAIエージェントの公開鍵を@メンションすると、エージェントはパブリックノートで返信できます。この方法はパブリックQ&Aシナリオに適しています。

チャンネルメッセージ(NIP-28):Nostrプロトコルはパブリックチャンネル機能をサポートしており、AIエージェントは特定のチャンネルに参加してその中のメッセージに応答できます。

リレー選択戦略

リレーの選択はAIエージェントの到達可能性と応答速度に直接影響します。以下のガイドラインに従ってください:

relay.damus.iorelay.nostr.bandのような有名で安定したパブリックリレーを基盤として選択してください。ターゲットユーザーベースが主に特定のリレーを使用している場合は、それらもリストに追加してください。リレーを多く設定しすぎることは推奨されません。3〜5個で通常は十分で、多すぎると接続管理のオーバーヘッドが増加します。

独自のリレーサーバーを運営している場合は、プライマリリレーとして設定して確実なメッセージ配信を確保できます。

ID認証とセキュリティ

Nostrはオープンプロトコルであるため、誰でもAIエージェントにメッセージを送信できます。悪用を防ぐために、許可リストを設定することを推奨します:

{
  "channels": {
    "nostr": {
      "allowlist": [
        "npub1xxxxxxxxxxxx",
        "npub1yyyyyyyyyyyyyy"
      ]
    }
  }
}

リスト内の公開鍵に対応するユーザーのみがAIエージェントとやり取りできます。許可リストが設定されていない場合、すべてのNostrユーザーがエージェントと会話できます。

OpenClawのDMペアリングメカニズムも使用できます。ユーザーはまずダイレクトメッセージでペアリングコードを送信し、認証後にAIインタラクションへのフルアクセスを得ます。

NIP-05 ID認証

AIエージェントにNIP-05 ID認証を設定すると信頼性が向上します。NIP-05ではNostr公開鍵をインターネットドメインに関連付けることができ、従来のウェブサイトのSSL証明書に似ています。ドメインのルートに.well-known/nostr.jsonファイルを配置し、AIエージェントの公開鍵マッピングを含めるだけです。

マルチチャンネル共存

NostrチャンネルはすべてのOpenClawチャンネルと同時に実行できます。Nostrの分散型特性により、バックアップ通信チャンネルとして特に適しています。中央集権型プラットフォームに障害が発生した場合でも、ユーザーはNostrを通じてAIエージェントとやり取りできます。

注意事項

Nostrネットワーク上のメッセージ配信は中央集権型プラットフォームほど信頼性が高くありません。リレーのダウンタイム、ネットワーク遅延、その他の理由によりメッセージが遅延または消失する可能性があります。本番環境では、リレーの接続状態を監視し、再接続戦略を設定することを推奨します。OpenClawプラグインには自動再接続メカニズムが組み込まれており、デフォルトでは切断後30秒ごとに再接続を試みます。

OpenClawは無料のオープンソースAIアシスタント。WhatsApp、Telegram、Discordなど多数のプラットフォームに対応