OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  crunch-protocol-skill:通过自然语言与 Crunch Protocol 进行数据交互数据交互

crunch-protocol-skill:通过自然语言与 Crunch Protocol 进行数据交互数据交互

 
  benchmark ·  2026-02-13 08:07:45 · 18 次点击  · 0 条评论  

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


Crunch Protocol CLI 技能

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

配置字段 CLI 标志 说明
url -u <值> RPC URL 或别名:mainnet-betadevnettestnetlocalhost
wallet -w <值> Solana 密钥对路径。仅在多签模式下且钱包作为提议者时使用。
multisigAddress -m <值> 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 命令
获取关于 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

名称提取规则

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

执行模式

  1. 解析用户请求以识别:

    • 操作(获取、创建、开始、结束、列出等)
    • 目标(crunch、协调器、检查点等)
    • 名称/标识符(如果适用)
    • 任何附加参数
  2. 映射到 CLI 命令,使用上方的直接映射表。

  3. 执行命令:
    bash crunch-cli [选项] <命令> [参数]

  4. 格式化 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 命令(竞赛管理)

命令 描述 用法
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

Slack 格式

*🏆 Crunch: Synth*
━━━━━━━━━━━━━━━━━
• *状态:* 活跃
• *参与者:* 142
• *奖池:* 10,000 USDC
• *检查点:* 5
• *资金:* 3000USDC

Telegram 格式

🏆 <b>Crunch: Synth</b>

📊 状态: 活跃
👥 参与者: 142
💰 奖池: 10,000 USDC
📍 检查点: 5
💰 资金: 3000USDC

Discord 格式

## 🏆 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 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

18 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 64 ms
Developed with Cursor