教程

OpenClaw 接入 Nostr:去中心化社交协议 DM、密钥管理与中继服务器配置

OpenClaw 接入 Nostr 去中心化协议完整教程:密钥对生成(nsec/hex 格式)、NIP-04 加密私信配置、三种 DM 访问策略(pairing/open/allowlist)、公钥白名单、多中继服务器配置,以及本地测试方法和 MVP 版本已知限制。

2026/3/34分钟 阅读ClaudeEagle

Nostr 是一个去中心化的社交网络协议,没有中心服务器,通过密钥对进行身份认证。OpenClaw 通过 Nostr 插件,使用 NIP-04 协议接收和回复加密私信(DM)。

安装插件

bash
# npm registry
openclaw plugins install @openclaw/nostr

# 本地 git checkout(开发模式)
openclaw plugins install --link <path>/extensions/nostr

安装后重启 Gateway 才能生效。

快速配置

第一步:生成 Nostr 密钥对

bash
# 使用 nak 工具
npx nak key generate

会生成一对密钥:

  • nsec1...(私钥,保密)
  • npub1...(公钥,公开身份)

第二步:配置 OpenClaw

json
{
  "channels": {
    "nostr": {
      "privateKey": "${NOSTR_PRIVATE_KEY}"
    }
  }
}
bash
export NOSTR_PRIVATE_KEY="nsec1..."

第三步:重启 Gateway

bash
openclaw gateway restart

配置字段参考

字段类型默认值说明
privateKeystring必填私钥,nsec 或 hex 格式
relaysstring[]['wss://relay.damus.io', 'wss://nos.lol']中继服务器 WebSocket URL 列表
dmPolicystringpairingDM 访问策略
allowFromstring[][]允许的发件人公钥列表
enabledbooleantrue是否启用
namestring显示名称
profileobjectNIP-01 个人资料元数据

密钥格式

Nostr 支持两种私钥格式,OpenClaw 均支持:

  • nsec 格式nsec1abc123...(Bech32 编码,人类可读)
  • hex 格式:64 位十六进制字符串

建议使用 nsec 格式,更易辨认。环境变量注入方式(${NOSTR_PRIVATE_KEY})可以避免密钥明文写入配置文件。

个人资料(Profile)

设置 Bot 的 Nostr 身份:

json
{
  "channels": {
    "nostr": {
      "privateKey": "nsec1...",
      "profile": {
        "name": "OpenClaw Bot",
        "about": "AI assistant powered by OpenClaw",
        "picture": "https://example.com/avatar.png"
      }
    }
  }
}

访问控制

DM 策略

策略说明
pairing默认,未知用户需先配对
open允许所有人发私信
allowlist仅允许 allowFrom 中的公钥

公钥白名单

json
{
  "channels": {
    "nostr": {
      "privateKey": "nsec1...",
      "dmPolicy": "allowlist",
      "allowFrom": [
        "npub1abc...",
        "npub1xyz..."
      ]
    }
  }
}

中继服务器配置

Nostr 消息通过中继服务器(Relay)传播。默认使用 Damus 和 nos.lol,可以自定义:

json
{
  "channels": {
    "nostr": {
      "privateKey": "nsec1...",
      "relays": [
        "wss://relay.damus.io",
        "wss://nos.lol",
        "wss://relay.nostr.band",
        "wss://nostr.wine"
      ]
    }
  }
}

建议配置 3-5 个中继服务器,提高消息可靠性(任意一个中继收到消息即可触发 Bot)。

本地测试

使用本地中继服务器测试(无需公网):

bash
# 运行本地 Nostr 中继(如 strfry)
strfry relay

# 配置使用本地中继
# relays: ["ws://localhost:7777"]

手动发送测试消息:

bash
npx nak dm --to npub1<your-bot-pubkey> "Hello Bot" --relay wss://relay.damus.io

协议支持

当前支持:NIP-04(加密私信)

NIP-04 使用 ECDH 密钥交换 + AES-256-CBC 加密,消息内容对中继服务器不可见。

已知限制(MVP 版本)

  • 仅支持 DM,不支持公开帖子(Notes)和频道
  • 不支持消息历史回溯(仅处理新消息)
  • 群组(NIP-29)暂不支持

常见问题

收不到消息? 检查中继服务器是否在线,确认 Bot 的公钥已被发件人知晓。运行 openclaw logs --follow 查看连接状态。

发不出回复? 验证 privateKey 格式是否正确,确认连接到至少一个可用中继。

收到重复回复? 这通常是中继同步延迟问题,OpenClaw 有内置去重机制,但多个中继可能导致少量重复。


原文:Nostr - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

教程OpenClaw 接入 Nostr:去中心化社交协议的 AI 助手配置指南OpenClaw 接入 Nostr 去中心化通信协议的完整教程:Nostr 是什么(基于密钥对的去中心化社交协议)、OpenClaw Nostr 插件安装、私钥配置方式(nsec 格式或 hex 格式)、Relay 服务器配置(推荐 Relay 列表)、NIP-04 加密私信(DM)工作原理、允许哪些 npub 公钥发起对话、Nostr 与 Signal 的隐私对比,以及 Nostr AI 助手的独特使用场景(去中心化、抗审查的 AI 对话)。2026/3/22教程OpenClaw 接入 Matrix:去中心化加密聊天协议 AI 助手完全配置指南OpenClaw 接入 Matrix 协议的完整教程:Matrix 的去中心化联邦架构特点、插件安装(@openclaw/matrix)、创建 Matrix Bot 账户(homeserver + accessToken/password 两种认证方式)、E2EE 端对端加密配置与设备验证流程、DM 私信与房间(Room)两种使用模式、线程(Thread)会话绑定、表情反应支持、私有/LAN homeserver 配置、多账户管理,以及 Matrix 与 Signal 的端到端加密对比。2026/3/23教程OpenClaw Matrix 接入指南:去中心化消息协议、E2EE 加密与多账号配置OpenClaw Matrix 接入完整教程:插件安装、Access Token 获取、E2EE 端对端加密(Rust crypto SDK)与设备验证流程、多账号配置(不同 Homeserver)、DM 与房间双层访问控制、线程 Session 隔离,以及 Beeper 兼容配置与故障排查。2026/3/12教程OpenClaw 接入 Tlon(Urbit):去中心化 Urbit 舰队配置、群组频道与自动审批OpenClaw 接入 Tlon(Urbit)去中心化平台完整教程:舰队连接配置(ship/url/code)、ownerShip 主人舰队设置、内网私有舰队 SSRF 防护豁免、群组频道自动发现与手动配置、DM 访问策略、自动审批,以及内置 /tlon:dm Skill 主动发起 DM。2026/3/3教程OpenClaw 接入 Matrix:去中心化开放协议、E2EE 加密与 Beeper 支持OpenClaw 接入 Matrix 去中心化协议完整教程:安装插件、创建 Matrix Bot 账号(Access Token 或密码方式)、基础配置、端到端加密(E2EE)启用、多账号配置、访问控制,以及 Beeper 客户端的特殊注意事项。2026/3/2教程OpenClaw Standing Orders 完全指南:让 AI 记住你的长期规则和行为偏好OpenClaw Standing Orders(常驻指令)功能完整教程:Standing Orders 与 SOUL.md 的区别(动态运行时规则 vs 静态人格文件)、通过对话动态添加/查看/删除常驻指令、指令的持久化存储与跨会话生效机制、适合写入 Standing Orders 的内容类型(格式偏好/禁止行为/固定工作流)、与 Hooks 的协同使用、按渠道/Agent 设置不同的 Standing Orders,以及常驻指令的最佳实践(写清晰的规则、避免矛盾冲突、定期清理过时规则)。2026/3/26