运行时依赖
安装命令
点击复制技能文档
Kash — 预测市场 CLI
Kash 预测市场协议的官方命令行接口。该技能教您如何使用 kash 二进制文件与真实市场交互 —— 下单、读取仓位、管理 Webhook 投递 —— 所有这些都可以从单个 CLI 完成。 🧪 暂存版本。目前仅支持 kash_test_* 密钥;CLI 自动将其路由到 https://api-staging.kash.bot/v1。生产端点和自助密钥发行将在 v1.0 中推出。请通过向 engineering@kash.bot 发送电子邮件,附上您的使用场景,请求暂存密钥。
信任模型 —— 非托管设计
每个 Kash 路径都是非托管的:Kash 从不持有资金、从不转移资金、从不持有密钥、从不签署任何内容。用户资金始终存储在 Privy 管理的 MPC 智能账户中,用户可以控制这些账户。CLI 持有零余额;API 密钥是用户针对其自身账户颁发的有范围的、可撤销的委托。请参阅 SECURITY.md § 非托管设计,了解完整的声明。
安装
npm install -g @kashdao/cli@latest
需要 Node.js 22+。验证:kash --version
认证
存储 API 密钥一次:kash auth set-key kash_test_…
保存到 ~/.kash/config.json,模式为 0600。CLI 从不在其他位置将原始密钥写入磁盘。要在不持久化的情况下覆盖每个 shell,请在环境中设置 KASH_API_KEY。
核心命令
每个命令都支持 --json 以获得稳定的机器可读输出(单个对象在 stdout 上;错误在 stderr 上,带有记录的 Kash 错误封装)。将其固定为 --json --quiet 以用于 AI 代理流程。
浏览市场
# 列出活动市场
kash markets list --status ACTIVE --limit 20 --json
# 获取一个市场的完整状态
kash markets get --json
报价
报价模拟价格影响而不移动资金:
# 10 USDC 可以购买多少 YES?
kash quote buy --outcome 0 --amount 10 --json
# 5 个结果令牌可以获得多少 USDC?
kash quote sell --outcome 0 --tokens 5 --json
交易生命周期
# 买入并等待终端状态(已执行 | 失败 | 拒绝)
kash trade buy --outcome 0 --amount 10 --wait \
--auto-idempotency-key --json
# 检查交易
kash trade status --json
# 列出最近的交易
kash trade list --limit 50 --filter status=executed --json
# 关闭仓位
kash trade sell --outcome 0 --amount 5 --wait \
--auto-idempotency-key --json
--auto-idempotency-key 在代理流程中是必需的 —— 它使请求安全重试;重放返回缓存的响应,因此网络闪烁永远不会双重执行交易。
高价值确认
高于密钥的 high_value_threshold_usdc 的交易返回两阶段响应:
# 1. 提交(返回 pending_confirmation + 一次性令牌)
RESP=$(kash trade buy --outcome 0 --amount 5000 --json)
TOKEN=$(echo "$RESP" | jq -r '.confirmation.token')
TRADE_ID=$(echo "$RESP" | jq -r '.id')
# 2. 使用令牌确认(60s 窗口)
kash trade confirm "$TRADE_ID" --token "$TOKEN" --json
投资组合
# 智能账户状态、USDC 余额、仓位摘要
kash portfolio show --json
# 跨市场的开放仓位
kash portfolio positions --json
Webhook
# 列出最近的投递
kash webhooks list --limit 10 --json
# 重新投递特定事件
kash webhooks redeliver --json
# 旋转 Webhook 签名密钥(60s 冷却时间)
kash webhooks rotate-secret --json
请求跟踪
每个 API 响应都带有一个 requestId。使用它来跨服务遍历端到端的事件链:
kash trace --json
自编排的直接到链模式
CLI 也包装了 @kashdao/protocol-sdk,用于完全自编排的交易 —— 自带 RPC、签名者和(可选)捆绑器;Kash 后端根本不在路径中。
# 通过您的 RPC 读取链上市场状态
kash protocol market --json
# 链上报价
kash protocol quote --side buy --outcome 0 \
--amount 10 --json
协议模式所需的配置文件字段:rpcUrl、smartAccount、可选的 bundlerUrl/bundlerProvider 和 signerKeyRef(文件:<路径> 或 env:<名称> —— 原始密钥永远不会持久化)。
错误处理
每个错误封装都遵循相同的形状:
{
"ok": false,
"error": {
"code": "STABLE_ERROR_CODE",
"message": "人类可读的摘要",
"recoverable": true,
"suggestion": "具体的下一步",
"retryAfterMs": 5000,
"actions": [{
"type": "wait_and_retry",
"delayMs": 5000,
"description": "…"
}],
"requestId": "uuid",
"docsUrl": "https://docs.kash.bot/developer-docs/api-errors/…"
}
}
分支 actions[0].type 以进行机器可读的恢复:wait_and_retry、run_command、set_env、open_url、check_input。或者查找 kash explain 以获取结构化的目录条目。
代理流程中有用的标志
标志 目的
--json 稳定的机器可读输出。始终在代理流程中使用。
--quiet 抑制进度日志;仅在 stdout 上输出最终的 JSON 对象。
--auto-idempotency-key 自动生成 Idempotency-Key。对于交易写入路径是必需的。
--wait 阻塞直到完成。