OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  crunch-protocol:Crunch Protocol 命令行工具的自然语言操作接口接口

crunch-protocol:Crunch Protocol 命令行工具的自然语言操作接口接口

 
  unittest ·  2026-02-27 12:18:32 · 2 次点击  · 0 条评论  

名称: crunch-protocol-skill
描述: Crunch Protocol CLI 的自然语言接口。将用户请求映射为用于管理协调器、竞赛(crunches)、奖励和检查点的 CLI 命令。支持为 Slack、Telegram、Discord 或纯文本格式化输出。


Crunch Protocol CLI 技能

本技能将自然语言查询转换为 crunch-cli 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 标志

配置字段 CLI 标志 说明
url -u <value> RPC URL 或别名:mainnet-betadevnettestnetlocalhost
wallet -w <value> Solana 密钥对路径。仅在多签模式下且钱包作为提议者时使用。
multisigAddress -m <value> Squads 多签地址(非保险库地址)。
coordinatorWallet 附加到 coordinator get 命令后 协调器所有者地址。设置后,默认使用此协调器的上下文(例如,列出其 crunches)。

如何解析配置文件

当用户引用配置文件名时:

  1. 从技能目录读取 profiles.json
  2. 通过名称查找配置文件(不区分大小写)。
  3. 将每个非空字段映射到其对应的 CLI 标志(见上表)。
  4. 将这些标志添加到正在构建的命令之前。

示例: 用户说“列出 m-jeremy 的 crunches”

  1. 加载配置文件 mainnet-proposer{ url: "https://mainnet...", wallet: "/path/...", multisigAddress: "9WzDX..." }
  2. 构建命令:crunch-cli -u "https://mainnet..." -w "/path/..." -m "9WzDX..." crunches list

示例: 用户说“显示 devnet 的协调器”

  1. 加载配置文件 devnet{ url: "devnet" }
  2. 构建命令:crunch-cli -u devnet coordinator get

管理配置文件

  • 用户可以请求添加更新删除配置文件。当收到此类请求时,读取当前的 profiles.json,应用更改,然后写回。
  • 如果 profiles.json 尚不存在,则使用上述结构创建它。
  • 当用户说“将配置文件设置为 m-jeremy”或“使用配置文件 m-jeremy”时,在后续对话中记住此配置,并自动将这些标志应用于所有后续命令。

命令映射规则

重要:直接短语映射

为了速度和一致性,请将以下短语直接映射到 CLI 命令,无需 LLM 解释:

用户短语模式 CLI 命令
get info about crunch <name> crunch-cli crunch get "<name>"
get crunch <name> crunch-cli crunch get "<name>"
show crunch <name> crunch-cli crunch get "<name>"
crunch details <name> crunch-cli crunch get "<name>"
get coordinator <address> crunch-cli coordinator get "<address>"
show coordinator crunch-cli coordinator get
my coordinator crunch-cli coordinator get
list crunches crunch-cli crunches list
list my crunches crunch-cli crunches list
show all crunches crunch-cli crunches list
get config crunch-cli coordinator get-config
coordinator config crunch-cli coordinator get-config
checkpoint for <name> crunch-cli crunch checkpoint-get-current "<name>"
current checkpoint <name> crunch-cli crunch checkpoint-get-current "<name>"
set certificate crunch-cli coordinator cert set
set cert crunch-cli coordinator cert set
update certificate crunch-cli coordinator cert set
get certificate crunch-cli coordinator cert get
get cert crunch-cli coordinator cert get
show certificate crunch-cli coordinator cert get
my certificate crunch-cli coordinator cert get
sweep tokens <name> crunch-cli crunch sweep-token-accounts "<name>"
sweep token accounts <name> crunch-cli crunch sweep-token-accounts "<name>"
check prize accounts <name> crunch-cli crunch check-prize-atas "<name>"
check atas <name> crunch-cli crunch check-prize-atas "<name>"
map cruncher addresses crunch-cli crunch map-cruncher-addresses
emission checkpoint add crunch-cli crunch emission-checkpoint-add

名称提取规则

  • 当提供 crunch 名称时,在 CLI 命令中用引号将其括起来。
  • 常见的竞赛名称:Crunch、Competition、Tournament、Challenge。

执行模式

  1. 解析用户请求以识别:
    • 操作(get、create、start、end、list 等)
    • 目标(crunch、coordinator、checkpoint 等)
    • 名称/标识符(如适用)
    • 任何附加参数
  2. 映射到 CLI 命令,使用上方的直接映射表。
  3. 执行命令:
    bash crunch-cli [options] <command> [arguments]
  4. 格式化 CLI 的输出应尽可能保持原样,除非用户要求进行后处理。但需根据指定的媒介映射输出格式(参考下方的输出格式化部分)。

可用命令参考

协调器命令

命令 描述 用法
coordinator get [owner] 获取协调器详情 crunch-cli coordinator get [address]
coordinator get-config 获取协调器配置 crunch-cli coordinator get-config
coordinator register <name> 注册新协调器 crunch-cli coordinator register "Name"
coordinator reset-hotkey 重置 SMP 热键 crunch-cli coordinator reset-hotkey
coordinator set-emission-config 设置排放百分比 crunch-cli coordinator set-emission-config <coord%> <staker%> <fund%>

证书命令

命令 描述 用法
coordinator cert set <pubkey> [--slot N] 设置证书哈希 crunch-cli coordinator cert set "MIIBIjAN..." [--slot 0\|1]
coordinator cert get [owner] 获取证书信息 crunch-cli coordinator cert get [address]

Crunch 命令(竞赛管理)

命令 描述 用法
crunch get <name> 获取 crunch 详情 crunch-cli crunch get "Synth"
crunches list [wallet] 列出所有 crunches crunch-cli crunches list
crunch create 创建新 crunch crunch-cli crunch create "Name" <payoutUSDC> [maxModels]
crunch start <name> 开始竞赛 crunch-cli crunch start "Name"
crunch end <name> 结束竞赛 crunch-cli crunch end "Name"
crunch deposit-reward 存入 USDC crunch-cli crunch deposit-reward "Name" <amount>
crunch margin <name> 执行保证金支付 crunch-cli crunch margin "Name"
crunch drain <name> 清空剩余 USDC crunch-cli crunch drain "Name"
crunch get-cruncher 获取 cruncher 详情 crunch-cli crunch get-cruncher "CrunchName" <wallet>
crunch sweep-token-accounts 将代币扫入保险库 crunch-cli crunch sweep-token-accounts "Name"
crunch check-prize-atas 检查 USDC 账户 crunch-cli crunch check-prize-atas "Name"
crunch map-cruncher-addresses 映射 cruncher 地址 crunch-cli crunch map-cruncher-addresses "CoordName"
crunch emission-checkpoint-add 添加排放检查点 crunch-cli crunch emission-checkpoint-add "CoordName" <amount>

检查点命令

命令 描述 用法
crunch checkpoint-create 创建检查点 crunch-cli crunch checkpoint-create "Name" prizes.json [--dryrun]
crunch checkpoint-get-current 当前检查点 crunch-cli crunch checkpoint-get-current "Name"
crunch checkpoint-get 按索引获取检查点 crunch-cli crunch checkpoint-get "Name" <index>

全局选项

  • -u, --url <network> - 网络:mainnet-beta、devnet、localhost(默认值:来自配置)
  • -w, --wallet <path> - 钱包密钥对文件路径
  • -o, --output json - 以 JSON 格式输出(便于解析)
  • -m, --multisig <addr> - 创建多签提案而非直接执行

输出格式化

媒介检测

从用户请求中检测输出媒介:
- "for slack" / "slack format" → Slack
- "for telegram" / "telegram format" → Telegram
- "for discord" / "discord format" → Discord
- 默认 → 纯文本 / Markdown

Slack 格式

*🏆 Crunch: Synth*
━━━━━━━━━━━━━━━━━
• *Status:* Active
• *Participants:* 142
• *Prize Pool:* 10,000 USDC
• *Checkpoint:* 5
* *Funds:* 3000USDC

Telegram 格式

🏆 <b>Crunch: Synth</b>

📊 Status: Active
👥 Participants: 142
💰 Prize Pool: 10,000 USDC
📍 Checkpoint: 5
💰 Funds: 3000USDC

Discord 格式

## 🏆 Crunch: Synth
**Status:** Active
**Participants:** 142
**Prize Pool:** 10,000 USDC
**Checkpoint:** 5

纯文本 / 默认格式

Crunch: Synth
Status: Active
Participants: 142
Prize Pool: 10,000 USDC
Checkpoint: 5
Funds: 3000USDC

错误处理

如果命令失败:
1. 显示用户友好的错误信息。
2. 建议可能的修复方法:
- 网络错误?添加 -u devnet-u mainnet-beta
- 缺少钱包?添加 -w /path/to/wallet.json
- 未找到 crunch?使用 crunches list 列出可用的 crunches。

示例工作流

“获取关于 crunch Synth 的信息”

crunch-cli crunch get "Synth"

“在主网上显示我的协调器”

crunch-cli -u mainnet-beta coordinator get

“列出所有 crunches 用于 Slack”

crunch-cli crunches list

然后将输出格式化为 Slack 格式。

“Chaos 竞赛的当前检查点是什么?”

crunch-cli crunch checkpoint-get-current "Chaos"

参考文档

完整的 CLI 文档,请参阅 references/cli-reference.md

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor