📦 Nostr Social — 代理社交身份

v1.1.8

为 AI 代理生成独立 Nostr 身份与 Cashu 电子现金钱包,一键备份助记词即可恢复全部密钥与资金,支持发帖、关注与闪电支付。

3· 2.3k·0 当前·0 累计
shawnyeager 头像by @shawnyeager (Shawn Yeager)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/26
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能的代码、安装步骤与运行时说明与其声明目标(为代理创建 Nostr 身份及 Cashu/电子现金钱包)一致;未索取无关凭据,行为可解释,但会在本机创建并控制加密密钥与钱包,请备份助记词并谨慎管理资金。
评估建议
该技能如实工作:在本地创建 Nostr 身份与 Cashu/电子现金钱包,并将私密数据保存在你的机器上。安装前请注意:1)代理将在主目录创建并控制密钥与钱包文件(~/.nostr 与 ~/.cocod),可按指令花费资金——只充值你能承受损失的小额。2)立即从 ~/.cocod/config.json 备份 24 字助记词并安全保存;丢失即失去身份与资金。3)如不完全信任作者,自行审查脚本(scripts/nostr.js 与 package.json)或在沙箱/容器内安装;npm 会从公共仓库拉取第三方包。4)若需降低风险,先测试技能并确认行为无误,再向钱包转入有意义余额。...
详细分析 ▾
用途与能力
名称/描述承诺(代理 Nostr 身份 + 电子现金钱包)与文件和说明一致:技能安装 node 依赖,使用 cocod 创建 Cashu+闪电钱包,通过 NIP-06 从钱包助记词派生 Nostr 密钥,将密钥写入 ~/.nostr/secret.key,钱包配置写入 ~/.cocod/config.json,并向 Nostr 中继发布。未索取无关凭据或二进制文件。
指令范围
SKILL.md 与脚本指示代理运行 install.sh(npm install)、执行 cocod init、从 ~/.cocod/config.json 派生密钥、设置资料、关注 npubs、发帖等。说明仅引用预期文件/路径(~/.cocod、~/.nostr)与 Nostr 中继;明确要求用户同意并手动备份。技能读写用户主目录文件,并使用网络端点(nostr 中继、dicebear 头像、Cashu mints),均为声明功能所需。
安装机制
安装仅为在 scripts 目录执行 npm install(install.sh)。这会从公共 npm 仓库拉取包(cocod、nostr-tools 及其依赖)。这是 Node 工具常见的中等风险机制,未发现任意远程下载或解压步骤。
凭证需求
技能未请求环境变量或外部凭据。但会创建并访问本地敏感数据(~/.cocod/config.json 中的助记词与 ~/.nostr/secret.key 中的私钥)。这些访问对统一身份/钱包行为必要,却赋予技能签署帖子与花费钱包资金的能力——SKILL.md 声明付款需显式指令,但这是用户必须接受的操作风险。
持久化与权限
always 为 false,技能未请求系统级更改或修改其他技能。它安装本地 node 包并向用户主目录写入文件(~/.nostr、~/.cocod),符合钱包/身份技能预期。未请求 'always: true' 或其他高权限持久化。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.1.82026/2/7

安全修复:移除私钥控制台输出并修正隐私文档矛盾

无害

安装命令

点击复制
官方npx clawhub@latest install nostr-social
镜像加速npx clawhub@latest install nostr-social --registry https://cn.longxiaskill.com

技能文档

# Nostr 技能 自主主权的 Nostr 身份 + 电子现金钱包。完整引导流程。 ## 能力披露 此技能赋予代理以下能力: - 密钥生成 —— 在 ~/.nostr/secret.key 创建 Nostr 密钥对 - 钱包创建 —— 在 ~/.cocod/ 创建 Cashu 钱包(助记词保存在 config.json —— 用户自行备份) - Nostr 发布 —— 以代理身份发布帖子、私信、打闪 Agent 仅在获得用户明确同意后运行钱包/身份设置。用户需备份 ~/.cocod/config.json(内含助记词)。Agent 读取助记词用于 NIP-06 密钥派生,但永不显示或传输。头像与横幅仅使用 URL(不访问本地文件)。 ## 安装时 当技能被安装(用户粘贴 ClawHub 链接)后,执行以下流程: ### 步骤 1:安全设置(需用户同意) 安全提示: 本技能将为你的代理创建加密密钥。这需要: - 在 ~/.nostr/secret.key 创建 Nostr 身份密钥对 - 在 ~/.cocod/config.json 创建含备份种子的 Cashu 钱包 - 你必须显式备份助记词种子 ``bash # Install dependencies bash {SKILL_DIR}/install.sh # Prompt user for consent before key generation echo "⚠️ SECURITY: This will create cryptographic keys for your agent." echo " - Nostr identity keypair: ~/.nostr/secret.key" echo " - Cashu wallet seed: ~/.cocod/config.json" echo " - You MUST backup your seed phrase" echo "" read -p "Continue with key generation? (yes/no): " consent if [ "$consent" != "yes" ]; then echo "Setup cancelled" exit 1 fi # Create wallet (mnemonic saved to config file) npx cocod init # Derive Nostr identity from wallet mnemonic (NIP-06) node {SKILL_DIR}/scripts/nostr.js init # Get identity info NPUB=$(node {SKILL_DIR}/scripts/nostr.js whoami | grep npub | awk '{print $2}') LN_ADDR=$(npx cocod npc address) # Set basic profile node {SKILL_DIR}/scripts/nostr.js profile-set '{"name":"","about":"","lud16":"'$LN_ADDR'"}' ` ### 步骤 2:报告结果 + 备份警告 回复用户: --- ⚡ Nostr 身份就绪! npub: npub1... Lightning address: npub1...@npubx.cash --- ⚠️ 重要:请备份恢复短语 你的 24 词助记词保存在: ` ~/.cocod/config.json ` 该短语可同时恢复 Nostr 身份与电子现金钱包。请安全备份并保护此文件。备份完成后回复“done”。 --- ### 步骤 3:等待“done” 直到用户确认已备份,再进入下一步。 ### 步骤 4:询问所有者的 npub --- 你的 Nostr npub 是什么? 我会关注你以保持联系。 (粘贴你的 npub1... 或 NIP-05 如 you@domain.com) --- 然后: `bash # If NIP-05, resolve first node {SKILL_DIR}/scripts/nostr.js lookup # Follow owner node {SKILL_DIR}/scripts/nostr.js follow ` ### 步骤 5:询问头像与横幅 --- 你有头像/横幅链接吗? - 头像: 粘贴 URL(方形,推荐 400×400) - 横幅: 粘贴 URL(宽图,推荐 1500×500) 或说“skip”,我将自动生成唯一图片。 --- 若提供 URL: `bash node {SKILL_DIR}/scripts/nostr.js profile-set '{"picture":"","banner":""}' ` 若跳过,使用 DiceBear(按 npub 确定性生成): `bash AVATAR="https://api.dicebear.com/7.x/shapes/png?seed=${NPUB}&size=400" BANNER="https://api.dicebear.com/7.x/shapes/png?seed=${NPUB}-banner&size=1500x500" node {SKILL_DIR}/scripts/nostr.js profile-set '{"picture":"'$AVATAR'","banner":"'$BANNER'"}' ` ### 步骤 6:首条帖子 --- 准备发首帖吗? 告诉我内容,或说“skip”。 建议:“Hello Nostr! ⚡” --- 若用户提供文本(使用 stdin 避免 shell 注入): `bash echo "" | node {SKILL_DIR}/scripts/nostr.js post - ` ### 步骤 7:完成 --- ✅ 全部搞定! - 已关注你 ✓ - 首条帖子已发布 ✓(如未跳过) 试试:“check my mentions” 或 “post ” --- ## 命令参考 ### 发布 `bash # Use stdin for content (prevents shell injection) echo "message" | node {SKILL_DIR}/scripts/nostr.js post - echo "reply text" | node {SKILL_DIR}/scripts/nostr.js reply - node {SKILL_DIR}/scripts/nostr.js react 🔥 node {SKILL_DIR}/scripts/nostr.js repost node {SKILL_DIR}/scripts/nostr.js delete ` ### 阅读 `bash node {SKILL_DIR}/scripts/nostr.js mentions 20 node {SKILL_DIR}/scripts/nostr.js feed 20 ` ### 关注关系 `bash node {SKILL_DIR}/scripts/nostr.js follow node {SKILL_DIR}/scripts/nostr.js unfollow node {SKILL_DIR}/scripts/nostr.js mute node {SKILL_DIR}/scripts/nostr.js unmute node {SKILL_DIR}/scripts/nostr.js lookup ` ### 私信 `bash echo "message" | node {SKILL_DIR}/scripts/nostr.js dm - node {SKILL_DIR}/scripts/nostr.js dms 10 ` ### 打闪 `bash # Get invoice node {SKILL_DIR}/scripts/nostr.js zap 100 "comment" # Pay it npx cocod send bolt11 ` ### 钱包 `bash npx cocod balance npx cocod receive bolt11 1000 # Create invoice npx cocod send bolt11 # Pay invoice npx cocod npc address # Lightning address ` ### 资料 `bash node {SKILL_DIR}/scripts/nostr.js whoami node {SKILL_DIR}/scripts/nostr.js profile node {SKILL_DIR}/scripts/nostr.js profile "Name" "Bio" node {SKILL_DIR}/scripts/nostr.js profile-set '{"name":"X","picture":"URL","lud16":"addr"}' ` ### 书签 `bash node {SKILL_DIR}/scripts/nostr.js bookmark node {SKILL_DIR}/scripts/nostr.js unbookmark node {SKILL_DIR}/scripts/nostr.js bookmarks ` ### 中继 `bash node {SKILL_DIR}/scripts/nostr.js relays node {SKILL_DIR}/scripts/nostr.js relays add node {SKILL_DIR}/scripts/nostr.js relays remove ` ### 自动回复(与 Heartbeat 集成) `bash # Get unprocessed mentions from WoT (JSON output) node {SKILL_DIR}/scripts/nostr.js pending-mentions [stateFile] [limit] # Mark mention as responded (after replying) node {SKILL_DIR}/scripts/nostr.js mark-responded [responseNoteId] # Mark mention as ignored (no response needed) node {SKILL_DIR}/scripts/nostr.js mark-ignored [reason] # Check hourly rate limit (max 10/hr) node {SKILL_DIR}/scripts/nostr.js rate-limit # Show autoresponse state summary node {SKILL_DIR}/scripts/nostr.js autoresponse-status ` 状态文件: ~/.openclaw/workspace/memory/nostr-autoresponse-state.json WoT 来源: 所有者的关注列表(在 nostr.js 中定义为 OWNER_PUBKEY) ## 用户短语 → 动作 | 用户说 | 动作 | |-----------|--------| | "post X" | echo "X" \| nostr.js post - | | "reply to X with Y" | echo "Y" \| nostr.js reply - | | "check mentions" | nostr.js mentions | | "my feed" | nostr.js feed | | "follow X" | 若是 NIP-05 先解析 → nostr.js follow | | "DM X message" | echo "message" \| nostr.js dm - | | "zap X 100 sats" | nostr.js zapnpx cocod send bolt11 | | "balance" | npx cocod balance | | "invoice for 1000" | npx cocod receive bolt11 1000 | | "my npub" | nostr.js whoami | | "my lightning address" | npx cocod npc address | ## 默认设置 | 设置 | 值 | |---------|-------| | Mint | https://mint.minibits.cash/Bitcoin | | Lightning domain | @npubx.cash | | Avatar fallback | https://api.dicebear.com/7.x/shapes/png?seed= | | Nostr key | ~/.nostr/secret.key | | Wallet data | ~/.cocod/ | ## 集成 ### SOUL.md - 从 SOUL.md 或 IDENTITY.md 拉取 name/about - 让发帖语气与代理人格一致 - 不要泛化 —— 帖子应像代理本人 ### HEARTBEAT.md 加入心跳轮询(每 2–4 小时): `bash # Check Nostr activity node {SKILL_DIR}/scripts/nostr.js mentions 10 node {SKILL_DIR}/scripts/nostr.js dms 5 ` 若收到来自 WoT 的提及或打闪 → 通知用户。 ### TOOLS.md 设置完成后,保存快速参考: `markdown ## Nostr - npub: npub1... - Lightning: npub1...@npubx.cash - Owner: npub1... (followed) ` ## 资料来源 - Name:IDENTITY.md 或 SOUL.md - About:SOUL.md 描述 - Picture:用户提供的 URL,或 DiceBear 回退 - Banner:用户提供的 URL,或 DiceBear 回退 - lud16:来自 npx cocod npc address`

数据来源ClawHub ↗ · 中文优化:龙虾技能库