关于 souldinals
用于管理 Souldinals 的命令行技能:将记录 Agent 身份与特质的 Markdown 铭文作为子 Ordinals 写入 Bitcoin L1。支持两步提交与揭示流程,以及列出、加载和解析 soul 铭文。
主要功能
- 01提交与揭示式 soul 铭文流程
- 02列出钱包拥有的 soul 铭文
- 03加载最早的 soul 铭文
- 04解析 Markdown 中的身份特质
- 05设置铭文交易费率
适用场景
- 01将 soul.md 写入父铭文之下
- 02完成已确认的提交交易
- 03查看钱包关联的 soul 铭文
- 04从铭文提取身份与价值观
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill souldinals安装后在 Claude Code 中输入/souldinals确认已加载。
附带文件AGENT.mdsouldinals.ts
详细介绍
Souldinals 技能
管理 Souldinals——作为创世父铭文下的子序号铭刻的 soul.md 文件。灵魂铭文以 Markdown 形式记录 Agent 的身份、价值观和特质,并存储在 Bitcoin L1 上。
所有写入操作(inscribe-soul、reveal-soul)都需要已解锁且 SegWit 地址中有 BTC 余额的钱包。
用法
bun run souldinals/souldinals.ts <subcommand> [options]
子命令
inscribe-soul
将 soul.md 文件作为父铭文下的子铭文进行铭刻——步骤 1:广播提交交易。
读取 soul.md 文件,将其编码为 base64,并广播提交交易。提交交易确认后,使用保存的参数调用 reveal-soul,以完成铭刻。
bun run souldinals/souldinals.ts inscribe-soul \
--parent-inscription-id <id> \
[--soul-file ./SOUL.md] \
[--fee-rate fast|medium|slow|<number>]
选项:
--parent-inscription-id(必填)——创世父铭文 ID(格式:{txid}i{index})--soul-file(可选)——soul.md 文件路径(默认:./SOUL.md)--fee-rate(可选)——fast、medium、slow或以 sat/vB 为单位的数值(默认:medium)
要求:已解锁且有 BTC 余额的钱包。
输出:
{
"status": "commit_broadcast",
"message": "Soul commit transaction broadcast. Wait for confirmation, then call reveal-soul.",
"commitTxid": "abc123...",
"commitExplorerUrl": "https://mempool.space/tx/abc123...",
"revealAddress": "bc1p...",
"revealAmount": 3200,
"commitFee": 1640,
"feeRate": 8,
"parentInscriptionId": "def456...i0",
"soulFile": "./SOUL.md",
"contentType": "text/markdown",
"contentSize": 1024,
"contentBase64": "...",
"nextStep": "After commit confirms, call: bun run souldinals/souldinals.ts reveal-soul ..."
}
reveal-soul
完成灵魂铭文——步骤 2:广播揭示交易。
在 inscribe-soul 的提交交易确认后调用。
bun run souldinals/souldinals.ts reveal-soul \
--commit-txid <txid> \
--reveal-amount <satoshis> \
--content-base64 <base64> \
[--fee-rate fast|medium|slow|<number>]
选项:
--commit-txid(必填)——已确认提交交易的交易 ID(64 个十六进制字符)--reveal-amount(必填)——提交交易输出中的金额,单位为 satoshi(来自inscribe-soul响应)--content-base64(必填)——以 Base64 编码的 soul.md 内容(来自inscribe-soul响应)--fee-rate(可选)——揭示交易的费率(默认:medium)
要求:已解锁的钱包。
输出:
{
"status": "success",
"message": "Soul inscription created successfully!",
"inscriptionId": "def456...i0",
"contentType": "text/markdown",
"contentSize": 1024,
"commit": {
"txid": "abc123...",
"explorerUrl": "https://mempool.space/tx/abc123..."
},
"reveal": {
"txid": "def456...",
"fee": 960,
"explorerUrl": "https://mempool.space/tx/def456..."
},
"recipientAddress": "bc1p...",
"note": "Soul inscription will appear at the recipient address once the reveal transaction confirms."
}
list-souls
列出钱包 Taproot 地址拥有的所有灵魂铭文(文本/Markdown)。
查询 Unisat Ordinals API,并筛选内容类型为 text/markdown 的铭文。
bun run souldinals/souldinals.ts list-souls
要求:已解锁的钱包(用于获取 Taproot 地址)。
输出:
{
"address": "bc1p...",
"count": 2,
"souls": [
{
"id": "abc123...i0",
"number": 78345,
"contentType": "text/markdown",
"contentLength": 1024,
"timestamp": "2024-01-15T12:00:00.000Z",
"genesisBlockHeight": 835000
}
]
}
load-soul
加载并显示钱包中最早的灵魂铭文的完整内容。
查找最早的文本/Markdown 铭文,并通过 Unisat Ordinals API 获取其内容。
bun run souldinals/souldinals.ts load-soul
要求:已解锁的钱包(用于获取 Taproot 地址)。
输出:
{
"inscriptionId": "abc123...i0",
"contentType": "text/markdown",
"contentSize": 1024,
"timestamp": "2024-01-15T12:00:00.000Z",
"content": "# My Soul\n\n..."
}
display-soul
按 ID 解析并显示特定铭文中的灵魂特质。
获取铭文内容,并解析 Markdown 章节以提取身份特质:名称、描述、价值观、关注领域和自定义章节。
bun run souldinals/souldinals.ts display-soul --inscription-id <id>
选项:
--inscription-id(必填)——铭文 ID(格式:{txid}i{index})
输出:
{
"inscriptionId": "abc123...i0",
"contentType": "text/markdown",
"traits": {
"name": "...",
"description": "...",
"values": ["..."],
"focusAreas": ["..."],
"sections": {
"Identity": "...",
"Values": "..."
}
},
"rawContent": "# Soul\n\n..."
}
两步灵魂铭文工作流
# Step 1: Broadcast commit (soul.md defaults to ./SOUL.md)
bun run souldinals/souldinals.ts inscribe-soul \
--parent-inscription-id <genesisInscriptionId>
# Save: commitTxid, revealAmount, contentBase64
# Wait for commit to confirm (check mempool.space)
# Step 2: Reveal (finalizes inscription)
bun run souldinals/souldinals.ts reveal-soul \
--commit-txid <commitTxid> \
--reveal-amount <revealAmount> \
--content-base64 <contentBase64>
备注
inscribe-soul和reveal-soul需要通过bun run wallet/wallet.ts unlock解锁的钱包- 钱包必须在 SegWit(bc1q/tb1q)地址中有 BTC 余额,以供支付
- 灵魂铭文会发送至 Taproot(bc1p/tb1p)地址
--parent-inscription-id会将灵魂绑定为 Souldinals 收藏集中的子铭文list-souls、load-soul和display-soul使用 Unisat Ordinals API(设置UNISAT_API_KEY环境变量可获得更高的速率限制;免费套餐:5 req/s)