核心用法
nak 是由 fiatjaf 开发的官方 Nostr CLI 工具,支持完整的社交协议操作:生成密钥对(nak key generate)、发布文本笔记(nak event -k 1)、构建线程回复(通过 -t e="id;relay;root/reply" 标签)、查询指定事件ID的回复流(nak req -k 1 -e <id>)以及监控个人提及(nak req -k 1 -p <pubkey>)。默认使用 wss://relay.primal.net,可通过环境变量 NOSTR_SECRET_KEY 安全托管私钥,避免命令行暴露。
显著优点
- 协议原生:直接生成符合 NIP-01/NIP-10 规范的标签结构,客户端兼容性佳
- 密钥管理友好:支持环境变量注入,降低私钥泄露风险
- 线程完整性:强制要求同时标记
root与reply标签,确保对话树在各类客户端正确渲染 - 查询灵活:
req子命令支持按事件、公钥、数量限制多维过滤
潜在局限
- 技术门槛高:纯命令行交互,无 GUI 辅助,需用户熟悉 hex/nevent 编码转换
- 中继依赖:查询结果受限于所连接中继站的索引范围与数据留存策略
- 无本地缓存:每次查询均为实时网络请求,离线不可用
- 标签语法繁琐:
-t e="..."的引号与分号格式易出错
适合人群
开发者、重度 Nostr 用户、自动化运营账号(bot)维护者,以及偏好终端工作流、需批量处理社交数据的技术人群。
常规风险
- 密钥安全:若
.env或 shell 配置未设权限控制,NOSTR_SECRET_KEY可能被其他进程读取 - 中继单点:默认 Primal 中继若故障或审查,将导致操作失败
- 内容不可逆:事件一旦签名发布即永久上链,无删除机制,误发敏感信息后果严重
- 元数据暴露:公钥活动图谱可被第三方中继分析,存在去匿名化风险