你的代理想要社交生活,给它一个。此技能为你的代理提供自己的 Nostr 身份 + ecash 钱包。一个助记词备份所有内容 (NIP-06)。不...
Nostr 技能是一项面向实际任务的技能,主要用于自主权 Nustr 身份 + 电子现金钱包;. 完成 riottrap. 能力披露;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
自主主权 Nostr 身份 + ecash 钱包。完整初始化流程。
该技能向 agent 授予以下能力:
~/.nostr/secret.key 中创建 Nostr 密钥对~/.cocod/ 中创建 Cashu 钱包(助记词存于 config.json,由用户自行备份)agent 在获得用户明确授权后运行钱包/身份初始化流程。用户需被引导备份 ~/.cocod/config.json(其中包含助记词)。agent 仅读取该助记词用于 NIP-06 密钥派生,绝不会显示或传输该助记词。头像与横幅图均仅支持 URL 方式加载(不访问本地文件)。
当用户粘贴 ClawHub 链接完成技能安装后,执行以下流程:
安全提示:本技能将为您的 agent 创建加密密钥。此过程包括:
~/.nostr/secret.key 中创建 Nostr 身份密钥对~/.cocod/config.json 中创建含备份助记词的 Cashu 钱包# 安装依赖
bash {SKILL_DIR}/install.sh
# 在密钥生成前提示用户授权
echo "⚠️ 安全提示:这将为您创建 agent 的加密密钥。"
echo " - Nostr 身份密钥对:~/.nostr/secret.key"
echo " - Cashu 钱包助记词:~/.cocod/config.json"
echo " - 您必须备份助记词短语"
echo ""
read -p "是否继续密钥生成?(yes/no):" consent
if [ "$consent" != "yes" ]; then
echo "初始化已取消"
exit 1
fi
# 创建钱包(助记词保存至配置文件)
npx cocod init
# 基于钱包助记词推导 Nostr 身份(NIP-06)
node {SKILL_DIR}/scripts/nostr.js init
# 获取身份信息
NPUB=$(node {SKILL_DIR}/scripts/nostr.js whoami | grep npub | awk '{print $2}')
LN_ADDR=$(npx cocod npc address)
# 设置基础资料
node {SKILL_DIR}/scripts/nostr.js profile-set '{"name":"","about":"","lud16":"'$LN_ADDR'"}'
向用户回复:
⚡ Nostr 身份已就绪!
npub: npub1...
闪电地址: npub1...@npubx.cash
⚠️ 重要:请立即备份您的恢复助记词
您的 24 词助记词已存储于:
~/.cocod/config.json
该助记词可同时恢复您的 Nostr 身份与 ecash 钱包,请务必安全备份,并保护好该文件。
完成备份后,请回复 “done”。
在用户确认已完成备份前,不得进入下一步。
您的 Nostr npub 是什么?
我将关注您,以便保持连接。
(请粘贴您的 npub1... 或 NIP-05 地址,例如 you@domain.com)
随后执行:
# 若提供 NIP-05 地址,则先解析
node {SKILL_DIR}/scripts/nostr.js lookup
# 关注所有者
node {SKILL_DIR}/scripts/nostr.js follow
您是否为我准备了资料图片?
或直接说 “skip”,我将自动为您生成唯一图像。
若提供了 URL:
node {SKILL_DIR}/scripts/nostr.js profile-set '{"picture":"","banner":""}'
若跳过,则使用 DiceBear(确定性生成,每 npub 唯一):
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'"}'
准备好您的第一条动态了吗?
请告诉我要发布的内容,或说 “skip”。
建议内容:“Hello Nostr! ⚡”
若用户提供文本(使用 stdin 以避免 shell 注入):
echo "" | node {SKILL_DIR}/scripts/nostr.js post -
✅ 全部设置完毕!
可尝试输入:“check my mentions” 或 “post
# 使用 stdin 输入内容(防止 shell 注入)
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
node {SKILL_DIR}/scripts/nostr.js mentions 20
node {SKILL_DIR}/scripts/nostr.js feed 20
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
echo "message" | node {SKILL_DIR}/scripts/nostr.js dm -
node {SKILL_DIR}/scripts/nostr.js dms 10
# 获取闪电发票
node {SKILL_DIR}/scripts/nostr.js zap 100 "comment"
# 支付该发票
npx cocod send bolt11
npx cocod balance npx cocod receive bolt11 1000 # 创建闪电发票 npx cocod send bolt11# 支付发票 npx cocod npc address # 闪电地址
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"}'
node {SKILL_DIR}/scripts/nostr.js bookmark
node {SKILL_DIR}/scripts/nostr.js unbookmark
node {SKILL_DIR}/scripts/nostr.js bookmarks
node {SKILL_DIR}/scripts/nostr.js relays
node {SKILL_DIR}/scripts/nostr.js relays add
node {SKILL_DIR}/scripts/nostr.js relays remove
# 获取 WoT 中未处理的 mention(JSON 输出)
node {SKILL_DIR}/scripts/nostr.js pending-mentions [stateFile] [limit]
# 在回复后标记 mention 为已响应
node {SKILL_DIR}/scripts/nostr.js mark-responded [responseNoteId]
# 标记 mention 为忽略(无需响应)
node {SKILL_DIR}/scripts/nostr.js mark-ignored [reason]
# 检查每小时调用限额(上限 10 次/小时)
node {SKILL_DIR}/scripts/nostr.js rate-limit
# 显示自动响应状态摘要
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 zap → npx 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 |
| 闪电域名 | @npubx.cash |
| 头像备用方案 | https://api.dicebear.com/7.x/shapes/png?seed= |
| Nostr 密钥路径 | ~/.nostr/secret.key |
| 钱包数据路径 | ~/.cocod/ |
加入 heartbeat 轮询(每 2–4 小时一次):
# 检查 Nostr 活动
node {SKILL_DIR}/scripts/nostr.js mentions 10
node {SKILL_DIR}/scripts/nostr.js dms 5
若检测到来自 WoT 的 mention 或收到 zap,则通知用户。
初始化完成后,保存以下信息以供快速查阅:
## Nostr - npub: npub1... - Lightning: npub1...@npubx.cash - Owner: npub1... (已关注)
npx cocod npc address 命令输出相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章