@openclaw/nostr) です。Gateway ごとに 1 アカウントで、DM のみをサポートします。
インストール
openclaw onboard) と openclaw channels add に、共有チャンネルカタログから Nostr が表示されます。
非対話型セットアップ
NOSTR_PRIVATE_KEY を環境に保持するには、--use-env を使用します(デフォルトアカウントのみ)。
クイックセットアップ
- Nostr キーペアを生成します(必要な場合):
- 設定に追加します:
- キーをエクスポートします:
- Gateway を再起動します。
設定リファレンス
プロファイルメタデータ
プロファイルデータは、NIP-01kind:0 イベントとして公開されます。Control UI(Channels -> Nostr -> Profile)から管理するか、設定で直接指定できます。
例:
- プロファイル URL には
https://を使用する必要があります。 - リレーからインポートすると、フィールドがマージされ、ローカルの上書き設定が保持されます。
アクセス制御
DM ポリシー
- pairing(デフォルト): 未知の送信者にはペアリングコードが送られます。
- allowlist:
allowFromに含まれる公開鍵のみが DM を送信できます。 - open: 公開受信 DM(
allowFrom: ["*"]が必要)。 - disabled: 受信 DM を無視します。
- 受信イベントの署名は、送信者ポリシーの適用と NIP-04 復号より前に検証されるため、偽造イベントは早期に拒否されます。
- ペアリング応答は、元の DM 本文を復号または処理せずに送信されます。
- 受信 DM にはレート制限(全体および送信者ごと)が適用され、サイズ超過のペイロードは復号前に破棄されます。
許可リストの例
キー形式
使用可能な形式:- 秘密鍵:
nsec...または 64 文字の 16 進数 - 公開鍵(
allowFrom):npub...または 16 進数
リレー
デフォルト:relay.damus.io および nos.lol。
- 冗長性を確保するため、2~3 個のリレーを使用してください。
- リレーを増やしすぎないでください(遅延、重複の原因になります)。
- 有料リレーを使用すると、信頼性が向上する場合があります。
- テストにはローカルリレーを使用できます(
ws://localhost:7777)。
プロトコルサポート
テスト
ローカルリレー
手動テスト
- Gateway のログまたは
openclaw channels statusからボットの公開鍵を確認します(16 進数。必要に応じてクライアントで npub に変換してください)。 - Nostr クライアント(Amethyst、Damus など)を開きます。
- ボットの公開鍵宛てに DM を送信します。
- 応答を確認します。
トラブルシューティング
メッセージを受信できない
- 秘密鍵が有効であることを確認します。
- リレー URL に接続でき、
wss://(ローカルの場合はws://)が使用されていることを確認します。 enabledがfalseではないことを確認します。- Gateway のログでリレー接続エラーを確認します。
応答を送信できない
- リレーが書き込みを受け付けることを確認します。
- 外向きの接続を確認します。
- リレーのレート制限に注意してください。
応答が重複する
- 複数のリレーを使用している場合は想定される動作です。
- メッセージはイベント ID で重複排除され、最初の配信のみが応答をトリガーします。
セキュリティ
- 秘密鍵を絶対にコミットしないでください。
- キーには環境変数を使用してください。
- 本番環境のボットでは
allowlistの使用を検討してください。 - 署名は送信者ポリシーより前に検証され、送信者ポリシーは復号より前に適用されるため、偽造イベントは早期に拒否され、未知の送信者が完全な暗号処理を強制することはできません。
制限事項(MVP)
- ダイレクトメッセージのみ(グループチャットは非対応)。
- メディア添付ファイルは非対応。
- NIP-04 のみ(NIP-17 ギフトラップは対応予定)。
関連項目
- チャンネル概要 — 対応しているすべてのチャンネル
- ペアリング — DM 認証とペアリングの流れ
- グループ — グループチャットの動作とメンションゲーティング
- チャンネルルーティング — メッセージのセッションルーティング
- セキュリティ — アクセスモデルと堅牢化