介绍
# Hyperliquid (read-only)
使用 **Info** HTTP 端点为 Hyperliquid 实现只读的市场数据查询:
- `POST https://api.hyperliquid.xyz/info` - `Content-Type: application/json`
v1 优先使用 **HTTP 快照** 流程。WebSocket 流式传输可以稍后添加。
## 支持的用户输入样式
将这些视为等效:
- 自然语言:“Hyperliquid quote BTC”、“top movers 24h”、“book ETH”、“1h candles for SOL last 48” - 终端风格:`hl quote BTC`、`hl movers --top 10 --window 24h` - 斜杠风格:`/hl quote BTC`、`/hl overview`
首先解析 `/hl` 和 `hl`(确定性)。如果没有前缀,则回退到从自然语言中提取意图。
## 规范化命令(v1)
市场数据: - `quote <coin>`:显示标记/中间/预言机价格,24h 变化(prevDayPx),24h 名义成交量,持仓量(永续合约),资金费率(永续合约),溢价,影响价格 - `movers [--window 24h] [--top N]`:按 24h % 变化(markPx vs prevDayPx)排名 - `funding-top|funding-bottom [--n N]`:按资金费率排名(仅限永续合约) - `book <coin>`:显示每侧前 20 档(以及价差) - `candles <coin> --interval <1m|...|1M> (--last N | --start <ms> --end <ms>)` - `overview`:精简仪表板:最大涨幅、最高资金费率、最高持仓量、最高成交量
账户(只读): - `positions <HL:0x..|0x..|label>`:显示永续持仓 + 保证金摘要 - `balances <HL:0x..|0x..|label>`:显示现货余额 - `orders <HL:0x..|0x..|label>`:显示未成交订单 - `fills <HL:0x..|0x..|label> [--n N]`:显示近期成交
已保存的账户别名(本地存储在 `~/.clawdbot/hyperliquid/config.json`): - `account list` - `account add "sub account 1" HL:0x... [--default]` - `account remove "sub account 1"` - `account default "sub account 1"`
自然语言的等效命令也应可用: - “store this address HL:0x... as sub account 1” - “show me positions of sub account 1”
## 数据来源
永续合约: - `metaAndAssetCtxs`(首选):所有永续合约的 universe + asset contexts - `l2Book` - `candleSnapshot`
现货(稍后可选): - `spotMetaAndAssetCtxs`、`spotMeta`
请参阅 `references/hyperliquid-api.md` 了解请求体和字段含义。
## 实现指南
使用附带的脚本:
- `scripts/hyperliquid_api.mjs`:轻量级 HTTP 客户端 + 辅助函数(安全的默认值、超时) - `scripts/hyperliquid_chat.mjs`:将用户文本解析为意图 + 参数,调用 API 辅助函数,并打印紧凑的聊天友好型响应
在响应时: - 优先使用简短的要点输出。 - 显示单位和时间范围。 - 优雅地处理缺失字段(例如,midPrice 有时为 null)。
## 快速手动测试
在本地运行:
```bash node skills/hyperliquid/scripts/hyperliquid_chat.mjs "hl quote BTC" node skills/hyperliquid/scripts/hyperliquid_chat.mjs "/hl movers --top 5" ```