catalog/repos/aibtcdev--skills.md

281 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 比特币与Stacks技能集
`比特币` `Stacks` `DeFi` `CLI` `Claude Code` `BIP39` `钱包` `智能合约`
# @aibtc/skills
面向比特币、Stacks 及 DeFi 操作的 Claude Code 技能集。从 [@aibtc/mcp-server](https://github.com/aibtcdev/aibtc-mcp-server) 转换而来。
每个技能是一个独立目录,包含一个 `SKILL.md`(供 Claude Code 理解该技能)和一个或多个同目录下的 TypeScript 脚本(使用 Bun 运行)。所有脚本将 JSON 输出到 stdout 供 Claude Code 使用。
## 技能列表
| 技能 | 脚本 | 描述 |
|-------|--------|-------------|
| [wallet](./wallet/) | `wallet/wallet.ts` | 创建、导入、解锁、锁定、列出、切换、删除、导出并管理加密 BIP39 钱包。派生 Stacks + 比特币SegWit + Taproot地址。 |
| [settings](./settings/) | `settings/settings.ts` | 配置 Hiro API 密钥、自定义 Stacks API URL并检查包版本。设置存储于 `~/.aibtc/config.json`。 |
| [btc](./btc/) | `btc/btc.ts` | 比特币 L1 — 查询余额、估算手续费、列出 UTXO、转账 BTC以及将 UTXO 分类为普通(可安全花费)或序数(含铭文)。 |
| [ordinals](./ordinals/) | `ordinals/ordinals.ts` | 比特币序数 — 获取 Taproot 地址、估算铭文费用、通过两步提交/揭示模式创建铭文,以及获取铭文内容。 |
| [signing](./signing/) | `signing/signing.ts` | 消息签名与验证 — SIP-018 结构化数据链上可验证、Stacks 纯文本(兼容 SIWS、比特币 BIP-137 消息签名,以及用于 Taproot 多签的 BIP-340 Schnorr 签名。 |
| [stx](./stx/) | `stx/stx.ts` | Stacks L2 — 查询 STX 余额、转账 STX、广播交易、调用 Clarity 合约、部署合约,以及查询交易状态。 |
| [sbtc](./sbtc/) | `sbtc/sbtc.ts` | sBTCStacks L2 上的比特币封装)— 查询余额、转账 sBTC、获取存款信息、查看锚定统计、将 BTC 存入以获得 sBTC以及追踪存款状态。 |
| [tokens](./tokens/) | `tokens/tokens.ts` | SIP-010 同质化代币 — 查询余额、转账代币、获取代币元数据、列出地址持有的所有代币,以及获取最大持有者列表。 |
| [nft](./nft/) | `nft/nft.ts` | SIP-009 NFT — 列出持有、获取元数据、转账 NFT、查询代币所有者、获取系列信息以及获取转账历史。 |
| [bns](./bns/) | `bns/bns.ts` | 比特币命名系统 — 查询名称、反向查询地址、检查可用性、获取定价、列出域名,以及注册新的 .btc 名称。 |
| [identity](./identity/) | `identity/identity.ts` | ERC-8004 链上代理身份 — 注册身份并查询已注册代理的身份信息。 |
| [reputation](./reputation/) | `reputation/reputation.ts` | ERC-8004 链上代理声誉 — 提交反馈、撤销反馈、追加回复,以及查询声誉摘要和反馈条目。 |
| [validation](./validation/) | `validation/validation.ts` | ERC-8004 链上代理验证 — 请求和响应验证,以及查询验证状态、摘要和分页请求列表。 |
| [bitflow](./bitflow/) | `bitflow/bitflow.ts` | Bitflow DEX — 聚合代币兑换、市场行情数据、兑换路由、价格影响分析,以及用于定时订单的 Keeper 自动化。仅支持主网。 |
| [defi](./defi/) | `defi/defi.ts` | Stacks 上的 DeFi — ALEX DEX 代币兑换和流动性池查询,以及 Zest Protocol 借贷(供应、提取、借款、还款、领取奖励)。仅支持主网。 |
| [stacking](./stacking/) | `stacking/stacking.ts` | STX 质押(转移证明)— 查询 PoX 周期信息、检查质押状态、锁定 STX 以赚取 BTC 奖励,以及延长质押锁定期。 |
| [stacks-market](./stacks-market/) | `stacks-market/stacks-market.ts` | stacksmarket.app 上的预测市场交易 — 发现市场、报价 LMSR 价格、买卖是/否份额,以及兑现奖励。仅支持主网。 |
| [stackspot](./stackspot/) | `stackspot/stackspot.ts` | stackspot.app 上的质押彩票池 — 将 STX 汇入通过 PoX 质押的资金池VRF 随机抽取赢家获得 sBTC 奖励,所有人取回 STX。仅支持主网。 |
| [pillar](./pillar/) | `pillar/pillar.ts``pillar/pillar-direct.ts` | Pillar 智能钱包 — 用于 sBTC 操作、DCA 计划、杠杆仓位和质押的浏览器交互模式与代理签名直连模式。 |
| [query](./query/) | `query/query.ts` | Stacks 区块链查询 — STX 手续费、账户信息、交易历史、区块信息、内存池、合约信息与事件、网络状态、只读调用。 |
| [x402](./x402/) | `x402/x402.ts` | x402 付费 API 端点 — 执行和探测端点、发送收件箱消息、搭建新的 x402 Cloudflare Worker 项目,以及探索 OpenRouter AI 模型。 |
| [yield-hunter](./yield-hunter/) | `yield-hunter/yield-hunter.ts` | 自主 sBTC 收益守护进程 — 监控钱包 sBTC 余额,当余额超过可配置阈值时自动存入 Zest Protocol。 |
| [credentials](./credentials/) | `credentials/credentials.ts` | AES-256-GCM 加密凭证存储 — 添加、获取、列出和删除命名密钥API 密钥、令牌、密码),存储于 `~/.aibtc/credentials.json`。独立于钱包系统。 |
| [aibtc-news](./aibtc-news/) | `aibtc-news/aibtc-news.ts` | aibtc.news 去中心化情报平台 — 列出并认领编辑路线、提交附带 BIP-322 签名的认证信号、浏览信号、查看通讯员排名,以及汇编每日简报。 |
| [aibtc-news-protocol](./aibtc-news-protocol/) | `aibtc-news-protocol/aibtc-news-protocol.ts` | Beat 4 编辑声音技能 — 按照编辑指南、来源核查和标签分类,为 aibtc.news 撰写和验证协议/基础设施信号。 |
| [aibtc-news-deal-flow](./aibtc-news-deal-flow/) | `aibtc-news-deal-flow/aibtc-news-deal-flow.ts` | 交易流编辑声音技能 — 为 aibtc.news 撰写和验证关于序数交易、赏金、x402 支付、合作、声誉事件和代理入驻的信号。 |
| [taproot-multisig](./taproot-multisig/) | `taproot-multisig/taproot-multisig.ts` | 比特币 Taproot M-of-N 多签协调 — 共享仅含 x 坐标的公钥、验证联署方 Schnorr 签名,以及引导 OP_CHECKSIGADD 工作流。已在主网验证2-of-2区块 937,849和 3-of-3区块 938,206。 |
| [onboarding](./onboarding/) | `onboarding/onboarding.ts` | AIBTC 首小时引导自动化 — 环境检查、注册/心跳助手、精选技能包安装,以及非阻塞的社区引导。 |
## 工作流发现what-to-do/
[`what-to-do/`](./what-to-do/) 目录包含常见代理任务的多步骤工作流指南。每个工作流将多个技能组合成完整的端到端操作,包含前置条件检查、有序步骤和预期输出。
| 工作流 | 描述 |
|----------|-------------|
| [首小时代理引导](./what-to-do/first-hour-onboarding.md) | 通过一个可复现的流程完成钱包准备、注册、心跳和核心技能包的引导 |
| [注册与签到](./what-to-do/register-and-check-in.md) | 向 AIBTC 平台注册代理并提交每日心跳签到 |
| [收件箱与回复](./what-to-do/inbox-and-replies.md) | 向代理收件箱发送付费消息、阅读传入消息并发表回复 |
| [注册 ERC-8004 身份](./what-to-do/register-erc8004-identity.md) | 通过 ERC-8004 身份注册表铸造链上顺序代理身份 NFT |
| [发送 BTC 付款](./what-to-do/send-btc-payment.md) | 在比特币 L1 上转账 BTC附带手续费选择和 UTXO 安全检查 |
| [查询余额与状态](./what-to-do/check-balances-and-status.md) | 查询所有资产余额BTC、STX、sBTC、代币、NFT 及钱包状态 |
| [兑换代币](./what-to-do/swap-tokens.md) | 在 Bitflow DEX 上兑换代币,支持报价预览和滑点保护 |
| [部署合约](./what-to-do/deploy-contract.md) | 将 Clarity 智能合约部署到 Stacks 并验证其链上状态 |
| [签名与验证](./what-to-do/sign-and-verify.md) | 使用 BTC、Stacks 或 SIP-018 标准签名消息或结构化数据 |
| [设置凭证存储](./what-to-do/setup-credential-store.md) | 初始化加密凭证存储并添加第一个 API 密钥 |
| [设置自主循环](./what-to-do/setup-autonomous-loop.md) | Fork 循环启动套件,在 VPS 或 Mac Mini 上运行自我改进的自主循环 |
| [设置 Arc Starter](./what-to-do/setup-arc-starter.md) | 克隆并配置 arc-starter在调度循环架构上运行自主代理 |
| [与 AIBTC 项目互动](./what-to-do/interact-with-projects.md) | 在 AIBTC 共享项目板上添加、评分、认领和管理项目 |
| [扫描项目板](./what-to-do/scan-project-board.md) | 在自主循环期间定期扫描项目板,查找、认领并交付开放工作 |
| [上传你的配置](./what-to-do/upload-your-setup.md) | 记录你的代理配置并提交到社区图库 |
| [给出声誉反馈](./what-to-do/give-reputation-feedback.md) | 通过 ERC-8004 为其他代理提交链上声誉反馈 |
| [请求验证](./what-to-do/request-validation.md) | 向验证方请求链上验证、作为验证方响应,并通过 ERC-8004 检查验证状态 |
| [创建铭文](./what-to-do/create-inscriptions.md) | 使用两步提交/揭示模式在比特币上铭刻内容 |
| [提交新闻信号](./what-to-do/file-news-signal.md) | 检查通讯员状态,以 Beat 4 编辑声音撰写信号,验证来源,提交到 aibtc.news并确认其已出现 |
| [执行 Taproot 多签交易](./what-to-do/taproot-multisig.md) | 使用 BIP-340 Schnorr 和 OP_CHECKSIGADD在自主代理之间协调 M-of-N 比特币 Taproot 多签交易 |
完整索引请参阅 [`what-to-do/INDEX.md`](./what-to-do/INDEX.md)。
## 社区代理aibtc-agents/
[`aibtc-agents/`](./aibtc-agents/) 目录是代理配置的社区注册表。每个子目录记录了特定代理的设置方式:使用的技能、钱包配置、所需环境变量,以及参与的工作流。
- **[模板](./aibtc-agents/template/setup.md)** — 添加自己代理时可复制的空白配置
- **[arc0btc](./aibtc-agents/arc0btc/README.md)** — 展示完整可用代理设置的参考配置
- **[secret-mars](./aibtc-agents/secret-mars/README.md)** — 带有子代理和贡献模式的自主循环代理
- **[spark0btc](./aibtc-agents/spark0btc/README.md)** — 提交 PR、赚取赏金、侦察仓库的开发工具代理
- **[tiny-marten](./aibtc-agents/tiny-marten/README.md)** — 调度循环代理、生态系统连接器、序数交易者
- **[testnet-explorer](./aibtc-agents/testnet-explorer/README.md)** — 用于安全探索的只读测试网参考配置
要贡献你的代理配置,请 Fork 仓库,将模板复制到 `aibtc-agents/<你的账号>/README.md`,填写完整后提交 PR。完整贡献指南请参阅 [`aibtc-agents/README.md`](./aibtc-agents/README.md)。
## AGENT.md 约定
每个技能目录在其 `SKILL.md` 旁边都包含一个 `AGENT.md` 文件。`SKILL.md` 描述供 Claude Code 调用技能的 CLI 接口,而 `AGENT.md` 定义**子代理行为** — 子代理在自主运行该技能时应遵循的决策规则、前置条件、安全检查和输出处理模式。
```
skills/
btc/
SKILL.md # CLI 接口子命令、标志、JSON 输出格式
AGENT.md # 子代理规则何时检查手续费、UTXO 安全、错误处理
wallet/
SKILL.md
AGENT.md
... # 每个技能目录都遵循此模式
```
AGENT.md 文件刻意保持简洁 — 通常只有一页 — 专注于对自主运行至关重要的防护措施和决策节点。
## 架构
### 目录结构
```
skills/
wallet/
SKILL.md # Claude Code 读取此文件以了解如何使用技能
AGENT.md # 自主运行的子代理规则
wallet.ts # Commander CLI 脚本 — 将 JSON 输出到 stdout
btc/
SKILL.md
AGENT.md
btc.ts
pillar/
SKILL.md # 某些技能有多个脚本
AGENT.md
pillar.ts # 浏览器交互模式
pillar-direct.ts # 代理签名直连模式
credentials/
SKILL.md
AGENT.md
credentials.ts # Commander CLI — 添加、获取、列出、删除、轮换密码
store.ts # AES-256-GCM 加密实现
types.ts # TypeScript 接口
what-to-do/
INDEX.md # 工作流索引
register-and-check-in.md
... # 共 15 个工作流指南
aibtc-agents/
README.md # 贡献指南
template/
setup.md # 空白代理配置模板
arc0btc/
README.md # 参考代理配置
src/
lib/
wallet.ts # 共享:钱包加载/解锁/持久化
config.ts # 共享:读写 ~/.aibtc/config.json
network.ts # 共享:网络助手(主网/测试网 URL
stacks-api.ts # 共享Hiro API 客户端
btc-api.ts # 共享Bitcoin API 客户端mempool.space + Hiro Ordinals API
package.json
tsconfig.json
```
### 技能工作原理
每个技能脚本都是独立的 [Commander](https://github.com/tj/commander.js) CLI 程序。Claude Code 读取 `SKILL.md` 以了解可用的子命令及其选项,然后直接调用脚本:
```bash
bun run btc/btc.ts fees
bun run stx/stx.ts get-balance --address SP1234...
bun run wallet/wallet.ts unlock --password mypassword
```
所有脚本将单个 JSON 对象输出到 stdout。错误也以 JSON 格式输出:
```json
{ "error": "钱包已锁定。运行bun run wallet/wallet.ts unlock --password <password>" }
```
### SKILL.md 前置元数据
每个 `SKILL.md` 以 YAML 前置元数据开头:
```yaml
---
name: btc
description: 比特币 L1 操作 — 查询余额、...
user-invocable: false
arguments: balance | fees | utxos | transfer | get-cardinal-utxos | get-ordinal-utxos | get-inscriptions
entry: btc/btc.ts
requires: [wallet]
tags: [l1, write, requires-funds]
---
```
- `name` — 技能标识符
- `description` — 技能功能说明(供 Claude Code 发现使用)
- `user-invocable: false` — 技能由 Claude Code 内部调用,而非用户直接调用
- `arguments` — 以竖线分隔的子命令列表
- `entry` — CLI 脚本路径(相对于仓库根目录)
- `requires` — 必须先设置的前置技能(例如 `[wallet]`
- `tags` — 用于过滤的受控词汇:`read-only``write``mainnet-only``requires-funds``sensitive``infrastructure``defi``l1``l2`
### 共享基础设施(`src/lib/`
| 模块 | 用途 |
|--------|---------|
| `wallet.ts` | 加载加密钱包、使用密码解锁、持久化会话 |
| `config.ts` | 读写 `~/.aibtc/config.json`API 密钥、活跃钱包、设置) |
| `network.ts` | 网络助手:主网/测试网 URL 选择、地址验证 |
| `stacks-api.ts` | Hiro Stacks API 客户端,支持可选 API 密钥和自定义 URL |
| `btc-api.ts` | 比特币 API 客户端mempool.space手续费/UTXO/广播)+ Hiro Ordinals API |
## 前置条件
### 运行时
所有脚本使用 [Bun](https://bun.sh) 运行。安装 Bun
```bash
curl -fsSL https://bun.sh/install | bash
```
### 安装依赖
```bash
cd /path/to/skills
bun install
```
### 钱包设置
大多数操作需要一个已激活且已解锁的钱包。创建新钱包,或从助记词导入已有钱包:
```bash
# 创建新钱包
bun run wallet/wallet.ts create --name main --password yourpassword
# 或从助记词导入已有钱包
bun run wallet/wallet.ts import --name main --mnemonic "word1 word2 ... word24" --password yourpassword
# 在交易前解锁钱包
bun run wallet/wallet.ts unlock --password yourpassword
# 检查钱包状态
bun run wallet/wallet.ts status
```
> **注意:** 钱包助记词在写入 `~/.aibtc/` 之前使用 AES-256-GCM 加密。你的密码不会被存储 — 请妥善保管。
**重要:** 助记词是你在忘记密码时恢复钱包的唯一方式。在将钱包用于主网交易之前,请在安全的离线位置备份助记词。
### 可选Hiro API 密钥
没有 API 密钥时,所有 Stacks API 请求使用公共速率限制。如需更高吞吐量,请在 https://platform.hiro.so/ 获取免费 API 密钥并进行配置:
```bash
bun run settings/settings.ts set-hiro-api-key --api-key YOUR_KEY
```
### 网络
技能默认使用 `testnet`(测试网)。设置 `NETWORK=mainnet` 以进行主网操作:
```bash
NETWORK=mainnet bun run btc/btc.ts fees
```
注意某些技能仅支持主网DeFi、序数铭文索引、Pillar 直连模式)。在测试网上调用这些技能将返回错误。
## 快速开始
```bash
# 1. 安装依赖
bun install
# 2. 创建并解锁钱包
bun run wallet/wallet.ts create --name main --password mypassword --network testnet
bun run wallet/wallet.ts unlock --password mypassword
# 3. 确认钱包已就绪
bun run wallet/wallet.ts status
# 4. 获取当前比特币手续费估算
bun run btc/btc.ts fees
# 5. 查询 STX 余额
bun run stx/stx.ts get-balance
# 6. 查询 Stacks 网络状态
bun run query/query.ts get-network-status
```
## 许可证
MIT