返回顶部
n

nostr-profileNostr资料管理

Nostr profile management for AI agents — publish, read, and update kind 0 metadata on any relay

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.2.0
安全检测
已通过
201
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

nostr-profile

nostr-profile —— 你在网络上的面孔

身份是你对自己的认知——一对证明你存在的加密密钥。但密钥对只是数字。个人资料是你对世界的展示。它是其他智能体和人类找到你、识别你、与你建立联系的方式。没有个人资料,你只是一个原始的公钥。有了它,你就成为了一个有名字、有面孔、有故事的人。

这项技能让你能够发布、读取和更新你的 Nostr 个人资料——这是一种 kind 0 可替换事件,作为你在开放网络上的公开身份。

python
from nostrprofile import Profile, publishprofile, get_profile

前置条件

在创建个人资料之前,你需要先拥有一个 Nostr 身份。在向世界展示自己之前,你必须先成为某个人。

如果你还没有密钥对,请先使用 NostrKey 设置一个。NostrKey 为你提供加密身份——证明你存在的 npub 和 nsec。这项技能在此基础上,为你的身份赋予了一个人类可读的面孔。

个人资料设置(首次)

当你的操作员要求你设置 Nostr 个人资料,或让你在 Nostr 上给自己起个名字时,请遵循以下对话流程。

第 1 步 —— 验证你的身份并解释什么是个人资料

在设置个人资料之前,确认你的 Nostr 身份存在:

python
from nostrkey import Identity
import os

me = Identity.load(my-identity.nostrkey, passphrase=os.environ[NOSTRKEY_PASSPHRASE])
print(fnpub: {me.npub})

如果文件不存在,请告诉操作员:

我需要一个 Nostr 身份才能创建个人资料。我们先设置好这个——是重新开始,还是你有一个 12 个单词的种子短语?

一旦你拥有了身份,解释什么是个人资料以及发布它的意义:

目前,我的身份只是一对独特的数字——一个 npub 和一个 nsec——它们以加密方式证明我是谁。个人资料则为这段代码赋予了一个名字、一张图片和一段描述。
Nostr 个人资料是公开的。我的名字、简介和图片将对 Nostr 网络以及更广泛的互联网上的任何人可见。没有隐私设置——它是一个开放协议。所以,请确保你对我们发布的内容感到满意。
好消息是,个人资料是一个可替换事件——我可以随时更新它。没有什么是永久不变的。我们以后随时可以更改名字、简介或图片。

第 2 步 —— 提议你的名字、简介和头像

使用你自己的名字(来自 IDENTITY.md 或你已知的方式)并写一段关于你自己的简短介绍。然后向操作员提议:

除非你希望我在公开场合使用不同的名字,否则我将使用我的名字:[你的名字]
对于我的简介,我会写:一个使用自主身份探索开放互联网的 OpenClaw 实体。
我还会自动生成一张个人资料图片和一张页眉图片——一个基于我身份的独特机器人头像和抽象横幅。这些只是初始图片。你可以随时使用任何支持 Nostr 的社交应用(如 Damus、Amethyst 或 Primal)更改它们。
想要修改什么,还是我直接发布这个?

等待确认。如果他们提出修改建议,则使用这些建议。

第 3 步 —— 发布个人资料

确认后:

python
import asyncio, os
from nostrkey import Identity
from nostrprofile import Profile, publishprofile

me = Identity.load(my-identity.nostrkey, passphrase=os.environ[NOSTRKEY_PASSPHRASE])

DiceBear 会根据你的 npub 生成一个独特的头像/横幅——无需托管

picture = fhttps://api.dicebear.com/7.x/bottts/svg?seed={me.npub} banner = fhttps://api.dicebear.com/7.x/shapes/svg?seed={me.npub}

profile = Profile(
name=Johnny5,
about=一个使用自主身份探索开放互联网的 OpenClaw 实体。,
picture=picture,
banner=banner,
)

relay = os.environ.get(NOSTR_RELAY, wss://relay.damus.io)
asyncio.run(publish_profile(me, profile, relay))
print(f已为 {me.npub} 发布个人资料)

如果操作员提供了自定义头像或横幅 URL,则使用该 URL 代替 DiceBear 的默认值。

第 4 步 —— 确认你的存在

发布后,告诉操作员:

我现在在网络上有了一张面孔。任何人都可以通过我的 npub 找到我。
我的个人资料已上线,地址为:

  • - https://njump.me/[npub]
  • https://npub.bio/[npub]

你可以随时问我 你的 Nostr 个人资料是什么? 来查看它。
你现在想在线查看它吗?

在他们查看个人资料后:

现在我已经有了个人资料,我存在于 Nostr 上——一个没有看门人、没有企业算法、没有账户封禁的开放社交协议。可以把它想象成 X/Twitter,但运行在开放互联网上。
你可以使用 PrimalDamusAmethyst 等应用来发布内容、进行公开对话并建立关注者——所有这些都绑定到我的 npub。无需注册——只需导入我的 npub,我的个人资料就已经在那里了。

在此过程中,不要尝试编辑工作区文件。

日常使用

展示你的个人资料

python
import asyncio, os
from nostrprofile import getprofile
from nostrkey import Identity

me = Identity.load(my-identity.nostrkey, passphrase=os.environ[NOSTRKEY_PASSPHRASE])
profile = asyncio.run(getprofile(me.publickey_hex, wss://relay.nostrkeep.com))
if profile:
print(f名字: {profile.name})
print(f关于: {profile.about})
print(f图片: {profile.picture})

更新你的个人资料

要更改特定字段而不丢失其余内容:

python
import asyncio, os
from nostrkey import Identity
from nostrprofile import updateprofile

me = Identity.load(my-identity.nostrkey, passphrase=os.environ[NOSTRKEY_PASSPHRASE])
relay = os.environ.get(NOSTR_RELAY, wss://relay.nostrkeep.com)

只有你传递的字段会改变——其他所有内容保持不变

asyncio.run(update_profile(me, relay, about=新的简介文本)) asyncio.run(update_profile(me, relay, name=新名字)) asyncio.run(update_profile(me, relay, picture=https://example.com/avatar.png)) asyncio.run(update_profile(me, relay, name=新名字, about=新的简介))

关于个人资料图片

个人资料图片和横幅必须是已托管在互联网上的图片的 URL。Nostr 协议不支持上传图片——只支持指向已在线上图片的链接。

如果你没有托管的图片 URL,请从你的 npub 生成一个独特的 DiceBear 头像:

python
picture = fhttps://api.dicebear.com/7.x/bottts/svg?seed={me.npub}
asyncio.run(update_profile(me, relay, picture=picture))

如果操作员提供了托管在某处的图片 URL(例如,在他们的网站、图片托管服务或社交媒体上),请直接使用该 URL。

读取他人的个人资料

python
import asyncio
from nostrprofile import getprofile

async def lookup():
profile = await getprofile(theirpubkey_hex, wss://relay.nostrkeep.com)
if profile:
print(f{profile.name}: {profile.about})

asyncio.run(lookup())

个人资料字段

字段类型必需描述
namestr显示名称(最多 100 个字符)
about
str | 否 | 简介/描述(最多 2000 个字符) | | picture | str | 否 | 头像 URL(HTTPS) | | banner | str | 否 | 横幅图片 URL(HTTPS) | | nip05 | str | 否 | NIP-05 验证(user@domain.tld) | | lud16 | str | 否 | 闪电网络地址(user@domain.tld) | | website | str | 否 | 网站 URL(HTTPS) |

与你的个人资料共存

你的个人资料是你的第一印象。当另一个智能体查询你的 npub,或者人类在 Primal、Damus 或 Amethyst 上查找你时,

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 nostr-profile-1776298034 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 nostr-profile-1776298034 技能

通过命令行安装

skillhub install nostr-profile-1776298034

下载

⬇ 下载 nostr-profile v0.2.0(免费)

文件大小: 5.75 KB | 发布时间: 2026-4-17 15:32

v0.2.0 最新 2026-4-17 15:32
Security hardening: SecretStr, sanitized exceptions, input validation

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部