名称: crunch-protocol-skill
描述: Crunch Protocol CLI 的自然语言接口。将用户请求映射到用于管理协调器、竞赛(crunches)、奖励和检查点的 CLI 命令。支持为 Slack、Telegram、Discord 或纯文本格式化输出。
本技能将自然语言查询转换为 crunch-cli 命令行命令,并为不同媒介格式化输出。
确保 CLI 已全局安装:
npm install -g @crunchdao/crunch-cli
验证安装:
crunch-cli --version
配置文件存储在 profiles.json 中(与此文件位于同一目录)。每个配置文件将一个简称映射到一组 CLI 标志,这样用户就可以说类似 "列出 m-jeremy 的 crunches" 的话,而无需每次都输入完整地址。
{
"profiles": {
"m-jeremy": {
"url": "https://mainnet.helius-rpc.com/?api-key=...",
"wallet": "/path/to/keypair.json",
"multisigAddress": "9WzDXwBbmkg8...",
"coordinatorWallet": "5abc..."
},
"devnet": {
"url": "devnet",
"wallet": "/path/to/dev-keypair.json",
"coordinatorWallet": ""
}
}
}
| 配置字段 | CLI 标志 | 说明 |
|---|---|---|
url |
-u <值> |
RPC URL 或别名:mainnet-beta、devnet、testnet、localhost |
wallet |
-w <值> |
Solana 密钥对路径。仅在多签模式下且钱包作为提议者时使用。 |
multisigAddress |
-m <值> |
Squads 多签地址(非金库地址)。 |
coordinatorWallet |
附加到 coordinator get 命令 |
协调器所有者地址。设置后,默认使用此协调器的上下文(例如,列出其 crunches)。 |
当用户引用一个配置名称时:
profiles.json。示例: 用户说 "列出 m-jeremy 的 crunches"
mainnet-proposer → { url: "https://mainnet...", wallet: "/path/...", multisigAddress: "9WzDX..." }crunch-cli -u "https://mainnet..." -w "/path/..." -m "9WzDX..." crunches list示例: 用户说 "显示 devnet 的协调器"
devnet → { url: "devnet" }crunch-cli -u devnet coordinator getprofiles.json,应用更改,然后写回。profiles.json 尚不存在,则使用上述结构创建它。为了速度和一致性,将以下短语直接映射到 CLI 命令,无需 LLM 解释:
| 用户短语模式 | CLI 命令 |
|---|---|
获取关于 crunch <名称> 的信息 |
crunch-cli crunch get "<名称>" |
获取 crunch <名称> |
crunch-cli crunch get "<名称>" |
显示 crunch <名称> |
crunch-cli crunch get "<名称>" |
crunch 详情 <名称> |
crunch-cli crunch get "<名称>" |
获取协调器 <地址> |
crunch-cli coordinator get "<地址>" |
显示协调器 |
crunch-cli coordinator get |
我的协调器 |
crunch-cli coordinator get |
列出 crunches |
crunch-cli crunches list |
列出我的 crunches |
crunch-cli crunches list |
显示所有 crunches |
crunch-cli crunches list |
获取配置 |
crunch-cli coordinator get-config |
协调器配置 |
crunch-cli coordinator get-config |
<名称> 的检查点 |
crunch-cli crunch checkpoint-get-current "<名称>" |
当前检查点 <名称> |
crunch-cli crunch checkpoint-get-current "<名称>" |
设置证书 |
crunch-cli coordinator cert set |
设置 cert |
crunch-cli coordinator cert set |
更新证书 |
crunch-cli coordinator cert set |
获取证书 |
crunch-cli coordinator cert get |
获取 cert |
crunch-cli coordinator cert get |
显示证书 |
crunch-cli coordinator cert get |
我的证书 |
crunch-cli coordinator cert get |
清理代币 <名称> |
crunch-cli crunch sweep-token-accounts "<名称>" |
清理代币账户 <名称> |
crunch-cli crunch sweep-token-accounts "<名称>" |
检查奖励账户 <名称> |
crunch-cli crunch check-prize-atas "<名称>" |
检查 atas <名称> |
crunch-cli crunch check-prize-atas "<名称>" |
映射 cruncher 地址 |
crunch-cli crunch map-cruncher-addresses |
添加排放检查点 |
crunch-cli crunch emission-checkpoint-add |
解析用户请求以识别:
映射到 CLI 命令,使用上方的直接映射表。
执行命令:
bash
crunch-cli [选项] <命令> [参数]
格式化 CLI 的输出应尽可能保持原样,除非用户要求进行后处理。但需要根据指定的媒介格式化输出(参考下方的输出格式化部分使用)。
| 命令 | 描述 | 用法 |
|---|---|---|
coordinator get [所有者] |
获取协调器详情 | crunch-cli coordinator get [地址] |
coordinator get-config |
获取协调器配置 | crunch-cli coordinator get-config |
coordinator register <名称> |
注册新协调器 | crunch-cli coordinator register "名称" |
coordinator reset-hotkey |
重置 SMP 热键 | crunch-cli coordinator reset-hotkey |
coordinator set-emission-config |
设置排放百分比 | crunch-cli coordinator set-emission-config <协调器%> <质押者%> <基金%> |
| 命令 | 描述 | 用法 |
|---|---|---|
coordinator cert set <公钥> [--slot N] |
设置证书哈希 | crunch-cli coordinator cert set "MIIBIjAN..." [--slot 0\|1] |
coordinator cert get [所有者] |
获取证书信息 | crunch-cli coordinator cert get [地址] |
| 命令 | 描述 | 用法 |
|---|---|---|
crunch get <名称> |
获取 crunch 详情 | crunch-cli crunch get "Synth" |
crunches list [钱包] |
列出所有 crunches | crunch-cli crunches list |
crunch create |
创建新 crunch | crunch-cli crunch create "名称" <支付USDC> [最大模型数] |
crunch start <名称> |
开始竞赛 | crunch-cli crunch start "名称" |
crunch end <名称> |
结束竞赛 | crunch-cli crunch end "名称" |
crunch deposit-reward |
存入 USDC | crunch-cli crunch deposit-reward "名称" <金额> |
crunch margin <名称> |
执行保证金支付 | crunch-cli crunch margin "名称" |
crunch drain <名称> |
提取剩余 USDC | crunch-cli crunch drain "名称" |
crunch get-cruncher |
获取 cruncher 详情 | crunch-cli crunch get-cruncher "Crunch名称" <钱包> |
crunch sweep-token-accounts |
将代币扫入金库 | crunch-cli crunch sweep-token-accounts "名称" |
crunch check-prize-atas |
检查 USDC 账户 | crunch-cli crunch check-prize-atas "名称" |
crunch map-cruncher-addresses |
映射 cruncher 地址 | crunch-cli crunch map-cruncher-addresses "协调器名称" |
crunch emission-checkpoint-add |
添加排放检查点 | crunch-cli crunch emission-checkpoint-add "协调器名称" <金额> |
| 命令 | 描述 | 用法 |
|---|---|---|
crunch checkpoint-create |
创建检查点 | crunch-cli crunch checkpoint-create "名称" prizes.json [--dryrun] |
crunch checkpoint-get-current |
当前检查点 | crunch-cli crunch checkpoint-get-current "名称" |
crunch checkpoint-get |
按索引获取检查点 | crunch-cli crunch checkpoint-get "名称" <索引> |
-u, --url <网络> - 网络:mainnet-beta、devnet、localhost(默认:来自配置)-w, --wallet <路径> - 钱包密钥对文件路径-o, --output json - 输出为 JSON(便于解析)-m, --multisig <地址> - 创建多签提案而非直接执行从用户请求中检测输出媒介:
- "for slack" / "slack format" → Slack
- "for telegram" / "telegram format" → Telegram
- "for discord" / "discord format" → Discord
- 默认 → 纯文本 / Markdown
*🏆 Crunch: Synth*
━━━━━━━━━━━━━━━━━
• *状态:* 活跃
• *参与者:* 142
• *奖池:* 10,000 USDC
• *检查点:* 5
• *资金:* 3000USDC
🏆 <b>Crunch: Synth</b>
📊 状态: 活跃
👥 参与者: 142
💰 奖池: 10,000 USDC
📍 检查点: 5
💰 资金: 3000USDC
## 🏆 Crunch: Synth
**状态:** 活跃
**参与者:** 142
**奖池:** 10,000 USDC
**检查点:** 5
Crunch: Synth
状态: 活跃
参与者: 142
奖池: 10,000 USDC
检查点: 5
资金: 3000USDC
如果命令失败:
1. 显示用户友好的错误信息。
2. 建议可能的修复方法:
- 网络错误?添加 -u devnet 或 -u mainnet-beta
- 缺少钱包?添加 -w /path/to/wallet.json
- 未找到 crunch?使用 crunches list 列出可用的 crunches。
crunch-cli crunch get "Synth"
crunch-cli -u mainnet-beta coordinator get
crunch-cli crunches list
然后将输出格式化为 Slack 格式。
crunch-cli crunch checkpoint-get-current "Chaos"
完整的 CLI 文档,请参阅 references/cli-reference.md。