核心用法
dagny-nostr-nak 是对 nak CLI 的封装,面向 Nostr 去中心化社交协议提供完整操作能力。主要功能包括:
1. 发布内容:通过 nak event -k 1 发布公开笔记(kind 1),支持 NOSTR_SECRET_KEY 环境变量注入私钥,避免命令行暴露。
2. 线程回复:实现标准化 NIP-10 回复结构,强制同时标记 root(原始帖)与 reply(直接回复目标)标签,确保客户端正确渲染层级。
3. 查询与监控:使用 nak req 按事件 ID 拉取回复、按公钥拉取提及,支持限量 -l 参数控制返回条数。
4. 链接生成:内置 nak encode nevent 工具,生成 https://primal.net/e/<nevent> 等人类可读链接。
显著优点
- 协议原生:直接调用底层 CLI,无额外抽象层,保持 Nostr 事件的完整性与可审计性。
- 线程完整性:强制双标签(root/reply)机制,避免客户端显示异常,提升跨平台兼容性。
- 密钥安全:优先环境变量注入,降低私钥泄露风险。
- 默认中继:锁定
wss://relay.primal.net,该中继由 Primal 团队运维,稳定性较高。
潜在缺点与局限
- CLI 依赖:要求本地安装 nak 二进制文件,Windows 用户需额外配置环境。
- 无交互界面:纯命令行操作,对非技术用户门槛较高,无草稿自动保存或富文本编辑。
- 中继单点:默认单一中继,若 Primal 中继故障或审查,需手动切换
-l参数指定的中继。 - 密钥管理:虽支持环境变量,但
NOSTR_SECRET_KEY一旦泄露,链上内容无法撤回(Nostr 无删除机制)。
适合人群
- 开发者/极客:需要脚本化批量发帖、自动化监控 mentions 的技术用户。
- Nostr 重度用户:熟悉 nsec/npub 体系,追求最大控制权的加密社交原住民。
- 自动化 Bot 运营:通过 cron 或 CI/CD 定时发布内容、回复社区。
常规风险
- 密钥泄露:环境变量或 shell history 可能残留私钥,建议配合
export后立即unset或专用密钥管理工具。 - 内容不可篡改:发布后内容永久上链,误发敏感信息无法撤回,需前置审核流程。
- 中继审查:虽协议抗审查,但具体中继运营方可选择性丢弃事件,重要内容建议多中继广播。
- Social Graph 暴露:公钥与互动记录完全公开,可能关联链上/链下身份,隐私敏感用户需谨慎。