mcpField
S
souldinals

souldinals

github.com/aibtcdevAgent 工作流11110 次安装1 天前更新
代码仓库

关于 souldinals

用于管理 Souldinals 的命令行技能:将记录 Agent 身份与特质的 Markdown 铭文作为子 Ordinals 写入 Bitcoin L1。支持两步提交与揭示流程,以及列出、加载和解析 soul 铭文。

主要功能

  1. 01提交与揭示式 soul 铭文流程
  2. 02列出钱包拥有的 soul 铭文
  3. 03加载最早的 soul 铭文
  4. 04解析 Markdown 中的身份特质
  5. 05设置铭文交易费率

适用场景

  1. 01将 soul.md 写入父铭文之下
  2. 02完成已确认的提交交易
  3. 03查看钱包关联的 soul 铭文
  4. 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)

评论

支持 Markdown