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