Nostr Social

Polar Sponsor
爱发电 赞助
.NET 9.0

你的代理想要社交生活,给它一个。此技能为你的代理提供自己的 Nostr 身份 + ecash 钱包。一个助记词备份所有内容 (NIP-06)。不...

Nostr 技能

功能概述

Nostr 技能是一项面向实际任务的技能,主要用于自主权 Nustr 身份 + 电子现金钱包;. 完成 riottrap. 能力披露;

核心要点

  • 此技能赋予了代理机这些能力 :.;
  • Key 世代 - 创建 Nustr 键盘配置 in。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Nostr 技能

自主主权 Nostr 身份 + ecash 钱包。完整初始化流程。

能力声明

该技能向 agent 授予以下能力:

  • 密钥生成 —— 在 ~/.nostr/secret.key 中创建 Nostr 密钥对
  • 钱包创建 —— 在 ~/.cocod/ 中创建 Cashu 钱包(助记词存于 config.json,由用户自行备份)
  • Nostr 发帖 —— 以 agent 的身份发布动态、发送私信(DM)、执行闪电打赏(zaps)

agent 在获得用户明确授权后运行钱包/身份初始化流程。用户需被引导备份 ~/.cocod/config.json(其中包含助记词)。agent 仅读取该助记词用于 NIP-06 密钥派生,绝不会显示或传输该助记词。头像与横幅图均仅支持 URL 方式加载(不访问本地文件)。

安装时流程

当用户粘贴 ClawHub 链接完成技能安装后,执行以下流程:

步骤 1:安全初始化(需用户明确授权)

安全提示:本技能将为您的 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'"}'

步骤 2:结果反馈 + 备份警告

向用户回复:

⚡ Nostr 身份已就绪!

npub: npub1...
闪电地址: npub1...@npubx.cash

⚠️ 重要:请立即备份您的恢复助记词

您的 24 词助记词已存储于:

~/.cocod/config.json

该助记词可同时恢复您的 Nostr 身份与 ecash 钱包,请务必安全备份,并保护好该文件。

完成备份后,请回复 “done”。

步骤 3:等待用户确认 “done”

在用户确认已完成备份前,不得进入下一步。

步骤 4:请求所有者 npub

您的 Nostr npub 是什么?

我将关注您,以便保持连接。

(请粘贴您的 npub1... 或 NIP-05 地址,例如 you@domain.com)

随后执行:

# 若提供 NIP-05 地址,则先解析
node {SKILL_DIR}/scripts/nostr.js lookup 

# 关注所有者
node {SKILL_DIR}/scripts/nostr.js follow 

步骤 5:请求资料图片

您是否为我准备了资料图片?

  • 头像:粘贴图片 URL(建议正方形,400×400 像素)
  • 横幅图:粘贴图片 URL(建议宽幅,1500×500 像素)

或直接说 “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'"}'

步骤 6:首次发帖

准备好您的第一条动态了吗?

请告诉我要发布的内容,或说 “skip”。

建议内容:“Hello Nostr! ⚡”

若用户提供文本(使用 stdin 以避免 shell 注入):

echo "" | node {SKILL_DIR}/scripts/nostr.js post -

步骤 7:完成

✅ 全部设置完毕!

  • 已关注您 ✓
  • 首条动态已发布 ✓(若未跳过)

可尝试输入:“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 

私信(DM)

echo "message" | node {SKILL_DIR}/scripts/nostr.js dm  -
node {SKILL_DIR}/scripts/nostr.js dms 10

闪电打赏(Zaps)

# 获取闪电发票
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

中继节点(Relays)

node {SKILL_DIR}/scripts/nostr.js relays
node {SKILL_DIR}/scripts/nostr.js relays add 
node {SKILL_DIR}/scripts/nostr.js relays remove 

自动响应(Heartbeat 集成)

# 获取 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/

集成说明

SOUL.md

  • 从 SOUL.md 或 IDENTITY.md 中提取 name / about 字段
  • 使发布的语气/风格匹配 agent 的人格特征
  • 避免泛化表达 —— 动态应体现 agent 独特个性

HEARTBEAT.md

加入 heartbeat 轮询(每 2–4 小时一次):

# 检查 Nostr 活动
node {SKILL_DIR}/scripts/nostr.js mentions 10
node {SKILL_DIR}/scripts/nostr.js dms 5

若检测到来自 WoT 的 mention 或收到 zap,则通知用户。

TOOLS.md

初始化完成后,保存以下信息以供快速查阅:

## Nostr
- npub: npub1...
- Lightning: npub1...@npubx.cash  
- Owner: npub1... (已关注)

资料页数据来源

  • 姓名(Name):来自 IDENTITY.md 或 SOUL.md
  • 简介(About):来自 SOUL.md 中的 description 字段
  • 头像(Picture):用户提供的 URL,或 DiceBear 备用方案
  • 横幅图(Banner):用户提供的 URL,或 DiceBear 备用方案
  • lud16:来自 npx cocod npc address 命令输出

相关专题

更多
Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习