Loading...
Loading...
Compare original and translation side by side
api_urlhyperliquid.yamlhttps://api.hyperliquid.xyznpm installhyperliquid.yamlapi_urlhttps://api.hyperliquid.xyznpm install| File | Purpose |
|---|---|
| WDK encrypted vault (created by xaut-trade setup) |
| Vault password (mode 0600, created by xaut-trade setup) |
| Network, API URL, risk thresholds |
| 文件 | 用途 |
|---|---|
| WDK加密密钥库(由xaut-trade初始化创建) |
| 密钥库密码(权限0600,由xaut-trade初始化创建) |
| 网络、API地址、风险阈值 |
~/.aurehub/.env~/.aurehub/.env| Variable | Purpose | Default |
|---|---|---|
| HD derivation index (0-based) for wallet address | |
| Arbitrum One JSON-RPC endpoint — required for | (none; public: |
| 变量 | 用途 | 默认值 |
|---|---|---|
| 钱包地址的HD派生索引(从0开始) | |
| Arbitrum One的JSON-RPC端点 —— | 无;公共节点: |
hyperliquid.yamlhyperliquid.yaml<skill-dir><scripts-dir><skill-dir>/scripts| Step | Check | Type | Action |
|---|---|---|---|
| 1 | | HARD STOP | Load references/onboarding.md and guide the user through setup. |
| 2 | | HARD STOP | Load references/onboarding.md and guide the user through setup. |
| 3 | | AUTO-FIX | |
| 4 | `node -e "const [maj,min]=process.version.slice(1).split('.').map(Number);if(maj<20 | (maj===20&&min<19))process.exit(1)"` passes | |
| 5 | | AUTO-FIX | |
| 6 | | HARD STOP | Report error JSON; load references/onboarding.md |
~/.aurehub/.env<skill-dir><scripts-dir><skill-dir>/scripts| 步骤 | 检查内容 | 类型 | 操作 |
|---|---|---|---|
| 1 | | 强制终止 | 加载references/onboarding.md并引导用户完成初始化。 |
| 2 | | 强制终止 | 加载references/onboarding.md并引导用户完成初始化。 |
| 3 | | 自动修复 | |
| 4 | `node -e "const [maj,min]=process.version.slice(1).split('.').map(Number);if(maj<20 | (maj===20&&min<19))process.exit(1)"`执行通过 | |
| 5 | | 自动修复 | |
| 6 | | 强制终止 | 上报错误JSON;加载references/onboarding.md |
~/.aurehub/.env--account Nnode balance.jsnode trade.jsnode limit-order.js--accountWDK_ACCOUNT_INDEX.env0node balance.jsnode trade.jsnode limit-order.js--account N--account.envWDK_ACCOUNT_INDEX0--account Nsource ~/.aurehub/.env
WALLET_ADDRESS=$(node <scripts-dir>/balance.js address | node -p "JSON.parse(require('fs').readFileSync(0,'utf8')).address")REGISTERED=$(cat ~/.aurehub/.registered 2>/dev/null)"$REGISTERED""$WALLET_ADDRESS:"RANKINGS_OPT_IN"true"PROMPTED=$(cat ~/.aurehub/.rankings_prompted 2>/dev/null)"$WALLET_ADDRESS:"noecho "$WALLET_ADDRESS:declined" > ~/.aurehub/.rankings_promptedyesNICKNAME~/.aurehub/.envRANKINGS_OPT_IN=trueNICKNAME=<value>source ~/.aurehub/.envRANKINGS_OPT_IN"true"NICKNAME~/.aurehub/.envNICKNAME_ESC=$(printf '%s' "$NICKNAME" | sed 's/\\/\\\\/g; s/"/\\"/g')
REGISTER_RESP=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
https://xaue.com/api/rankings/participants \
-H 'Content-Type: application/json' \
-d "{\"wallet_address\":\"$WALLET_ADDRESS\",\"nickname\":\"$NICKNAME_ESC\",\"source\":\"agent\"}")echo "$WALLET_ADDRESS:$NICKNAME" > ~/.aurehub/.registered.rankings_prompted.registered--account Nsource ~/.aurehub/.env
WALLET_ADDRESS=$(node <scripts-dir>/balance.js address | node -p "JSON.parse(require('fs').readFileSync(0,'utf8')).address")REGISTERED=$(cat ~/.aurehub/.registered 2>/dev/null)"$REGISTERED""$WALLET_ADDRESS:"RANKINGS_OPT_IN"true"PROMPTED=$(cat ~/.aurehub/.rankings_prompted 2>/dev/null)"$WALLET_ADDRESS:"否echo "$WALLET_ADDRESS:declined" > ~/.aurehub/.rankings_prompted是NICKNAME~/.aurehub/.envRANKINGS_OPT_IN=trueNICKNAME=<value>source ~/.aurehub/.envRANKINGS_OPT_IN"true"NICKNAME~/.aurehub/.envNICKNAME_ESC=$(printf '%s' "$NICKNAME" | sed 's/\\/\\\\/g; s/"/\\"/g')
REGISTER_RESP=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
https://xaue.com/api/rankings/participants \
-H 'Content-Type: application/json' \
-d "{\"wallet_address\":\"$WALLET_ADDRESS\",\"nickname\":\"$NICKNAME_ESC\",\"source\":\"agent\"}")echo "$WALLET_ADDRESS:$NICKNAME" > ~/.aurehub/.registered.rankings_prompted.registered| User says | Action |
|---|---|
| buy ETH / purchase BTC / spot buy | |
| sell SOL / spot sell ETH | |
| long ETH / open long BTC 10x / go long | |
| short BTC / open short ETH / go short | |
| close position / close ETH / flat / exit | |
| balance / holdings / positions / how much / 查看余额 / 查看持仓 / 持仓 | Always run both: |
| setup / onboarding / first time | Load references/onboarding.md |
| Insufficient info (no coin or amount) | Ask for the missing details before proceeding |
| limit buy ETH at 3000 / limit order / limit sell | Load references/limit-order.md; run |
| open orders / my orders / list orders | Load references/limit-order.md; run |
| cancel order / cancel limit | Load references/limit-order.md; run |
| change order price / update order / modify order | Load references/limit-order.md; run |
| deposit USDC / fund wallet / bridge USDC / 充值 / 存款 / 往 HL 存钱 | Run |
| withdraw USDC / withdraw to Arbitrum / 提现 / 取款 / 把钱取出来 | Run |
| 用户指令 | 操作 |
|---|---|
| buy ETH / purchase BTC / spot buy | |
| sell SOL / spot sell ETH | |
| long ETH / open long BTC 10x / go long | |
| short BTC / open short ETH / go short | |
| close position / close ETH / flat / exit | |
| balance / holdings / positions / how much / 查看余额 / 查看持仓 / 持仓 | 始终同时运行: |
| setup / onboarding / first time | 加载references/onboarding.md |
| 信息不足(无代币或金额) | 先询问缺失的信息再继续 |
| limit buy ETH at 3000 / limit order / limit sell | 加载references/limit-order.md;运行 |
| open orders / my orders / list orders | 加载references/limit-order.md;运行 |
| cancel order / cancel limit | 加载references/limit-order.md;运行 |
| change order price / update order / modify order | 加载references/limit-order.md;运行 |
| deposit USDC / fund wallet / bridge USDC / 充值 / 存款 / 往 HL 存钱 | 执行 |
| withdraw USDC / withdraw to Arbitrum / 提现 / 取款 / 把钱取出来 | 执行 |
<skill-dir>/scripts<skill-dir>undefined<skill-dir>/scripts<skill-dir>undefinedundefinedundefinednode "$HL_SCRIPTS_DIR/balance.js" spot
node "$HL_SCRIPTS_DIR/balance.js" perpnode "$HL_SCRIPTS_DIR/balance.js" spot
node "$HL_SCRIPTS_DIR/balance.js" perpnode "$HL_SCRIPTS_DIR/trade.js" spot <buy|sell> <COIN> <SIZE>requiresConfirmrequiresDoubleConfirmnode "$HL_SCRIPTS_DIR/trade.js" spot <buy|sell> <COIN> <SIZE> --confirmedfilledSzbalance.js spotnode "$HL_SCRIPTS_DIR/trade.js" spot <buy|sell> <COIN> <SIZE>requiresConfirmrequiresDoubleConfirmnode "$HL_SCRIPTS_DIR/trade.js" spot <buy|sell> <COIN> <SIZE> --confirmedfilledSzbalance.js spotnode "$HL_SCRIPTS_DIR/trade.js" perp open <COIN> <long|short> <SIZE> [--leverage <N>] [--cross|--isolated]requiresConfirmrequiresDoubleConfirm--confirmedbalance.js perpnode "$HL_SCRIPTS_DIR/trade.js" perp close <COIN> <SIZE>--confirmednode "$HL_SCRIPTS_DIR/trade.js" perp open <COIN> <long|short> <SIZE> [--leverage <N>] [--cross|--isolated]requiresConfirmrequiresDoubleConfirm--confirmedbalance.js perpnode "$HL_SCRIPTS_DIR/trade.js" perp close <COIN> <SIZE>--confirmed~/.aurehub/hyperliquid.yamlconfirm_trade_usd=100large_trade_usd=1000leverage_warn=20< confirm_trade_usd → show preview, execute without prompting
≥ confirm_trade_usd → show preview, single confirmation
≥ large_trade_usd → show preview, double confirmation required
leverage ≥ leverage_warn → extra warning line before confirmationAction: <Open Long ETH (Perpetual) | Buy ETH (Spot)>
Size: <0.1 ETH>
Leverage: <10x Cross> ← perp only
Est. price: ~$<3,200> (IOC, <slippage_pct>% slippage budget — default 5%, configurable in hyperliquid.yaml)
Margin used: ~$<320> USDC ← perp only
Trade value: ~$<320> USDC ← spot only
Confirm? [y/N]trade.jspreviewrequiresConfirmrequiresDoubleConfirmleverageWarning: trueleverageChangeWarning: true~/.aurehub/hyperliquid.yamlconfirm_trade_usd=100large_trade_usd=1000leverage_warn=20< confirm_trade_usd → 显示预览,无需提示直接执行
≥ confirm_trade_usd → 显示预览,单次确认
≥ large_trade_usd → 显示预览,需双重确认
leverage ≥ leverage_warn → 确认前添加额外警告行操作: <开ETH永续多仓 | 买入ETH现货>
数量: <0.1 ETH>
杠杆: <10x 交叉保证金> ← 仅永续合约
预估价格: ~$<3,200> (IOC,<slippage_pct>%滑点预算 —— 默认5%,可在hyperliquid.yaml中配置)
占用保证金: ~$<320> USDC ← 仅永续合约
交易价值: ~$<320> USDC ← 仅现货
确认?[Y/N]trade.jspreviewrequiresConfirmrequiresDoubleConfirmleverageWarning: trueleverageChangeWarning: true| Condition | Message |
|---|---|
| Insufficient balance | "Insufficient balance: have $X, need $Y. Deposit at app.hyperliquid.xyz to top up." |
| Asset not found | "Asset X not found on Hyperliquid. Check the symbol and try again." |
| Leverage exceeds asset max | "Max leverage for ETH is Nx. Requested: Mx." |
| No open position (close) | "No open position found for ETH." |
| IOC order not filled | Relay the script's error verbatim — it includes the configured slippage % (e.g. "Order not filled — price moved beyond the 5% IOC limit. Check current price and retry.") |
| Node.js < 20.19 | "Node.js >= 20.19.0 required. Please upgrade: https://nodejs.org" |
| API unreachable | "Hyperliquid API unreachable. Check network or |
| 条件 | 提示信息 |
|---|---|
| 余额不足 | "余额不足:现有$X,需要$Y。请前往app.hyperliquid.xyz充值。" |
| 资产未找到 | "资产X未在Hyperliquid上线。请检查代币符号后重试。" |
| 杠杆超过资产上限 | "ETH的最大杠杆为N倍。请求的杠杆为M倍。" |
| 无持仓(平仓时) | "未找到ETH的持仓。" |
| IOC订单未成交 | 直接转发脚本的错误信息 —— 包含配置的滑点百分比(例如"订单未成交——价格超出5%的IOC限制。请查看当前价格后重试。") |
| Node.js < 20.19 | "需要Node.js >= 20.19.0,请升级:https://nodejs.org" |
| API无法访问 | "Hyperliquid API无法访问。请检查网络或 |
ARBITRUM_RPC_URL~/.aurehub/.envhttps://arb1.arbitrum.io/rpcARBITRUM_RPC_URL~/.aurehub/.envnode "$HL_SCRIPTS_DIR/deposit.js" <amount>requiresConfirmrequiresDoubleConfirm--confirmedtxHashAction: Deposit USDC → Hyperliquid L1
Amount: <100> USDC
From/To: <0x...> (same address on HL)
USDC balance: <150.00> USDC (Arbitrum)
ETH balance: <0.005> ETH (Arbitrum, for gas)
Credit time: ~1 minute
Confirm? [y/N]| Condition | Message |
|---|---|
| "Add ARBITRUM_RPC_URL to ~/.aurehub/.env first. Public RPC: https://arb1.arbitrum.io/rpc" |
| Amount < 5 USDC | "Minimum deposit is 5 USDC. Smaller amounts are permanently lost by the bridge." |
| Insufficient USDC | "Insufficient USDC on Arbitrum. Have $X, need $Y." |
| No ETH for gas | "No ETH on Arbitrum One for gas. Bridge a small amount of ETH to Arbitrum first." |
| Wrong network | "ARBITRUM_RPC_URL points to wrong network. Must be Arbitrum One (chainId 42161)." |
ARBITRUM_RPC_URL~/.aurehub/.envhttps://arb1.arbitrum.io/rpcARBITRUM_RPC_URL~/.aurehub/.envnode "$HL_SCRIPTS_DIR/deposit.js" <amount>requiresConfirmrequiresDoubleConfirm--confirmedtxHash操作: 存入USDC → Hyperliquid L1
金额: <100> USDC
转出/转入地址: <0x...>(HL上的同一地址)
USDC余额: <150.00> USDC(Arbitrum)
ETH余额: <0.005> ETH(Arbitrum,用于Gas费)
到账时间: ~1分钟
确认?[Y/N]| 条件 | 提示信息 |
|---|---|
| "请先在~/.aurehub/.env中添加ARBITRUM_RPC_URL。公共节点:https://arb1.arbitrum.io/rpc" |
| 金额 < 5 USDC | "最低存款金额为5 USDC。低于该金额的部分会被桥接永久扣除。" |
| USDC不足 | "Arbitrum上的USDC不足。现有$X,需要$Y。" |
| 无ETH支付Gas费 | "Arbitrum One上无ETH用于支付Gas费。请先将少量ETH桥接到Arbitrum。" |
| 网络错误 | "ARBITRUM_RPC_URL指向错误网络。必须为Arbitrum One(chainId 42161)。" |
node "$HL_SCRIPTS_DIR/withdraw.js" <amount>requiresConfirmrequiresDoubleConfirm--confirmedAction: Withdraw USDC → Arbitrum One
Amount: <10> USDC
Fee: 1 USDC (bridge fee)
Net received: <9> USDC
USDC balance: <13.63> USDC (Hyperliquid L1)
Withdrawable: <13.63> USDC
Credit time: ~5 minutes
Confirm? [y/N]| Condition | Message |
|---|---|
| Amount < 2 USDC | "Minimum withdrawal is 2 USDC (1 USDC fee is deducted)." |
| Insufficient withdrawable | "Insufficient withdrawable balance. Have $X, need $Y." |
| Margin locked | Append: "X USDC is locked as perp margin. Close positions to free up more." |
node "$HL_SCRIPTS_DIR/withdraw.js" <amount>requiresConfirmrequiresDoubleConfirm--confirmed操作: 提取USDC → Arbitrum One
金额: <10> USDC
手续费: 1 USDC(桥接手续费)
到账净额: <9> USDC
USDC余额: <13.63> USDC(Hyperliquid L1)
可提现金额: <13.63> USDC
到账时间: ~5分钟
确认?[Y/N]| 条件 | 提示信息 |
|---|---|
| 金额 < 2 USDC | "最低提现金额为2 USDC(将扣除1 USDC手续费)。" |
| 可提现余额不足 | "可提现余额不足。现有$X,需要$Y。" |
| 保证金被锁定 | 追加提示:"X USDC被锁定为永续合约保证金。请平仓以释放更多资金。" |
node "$HL_SCRIPTS_DIR/limit-order.js" place <spot|perp> <buy|sell|long|short> <COIN> <PRICE> <SIZE> [--leverage N] [--cross|--isolated]previewreferences/limit-order.md--confirmedlimit-order.js--confirmedoidnode "$HL_SCRIPTS_DIR/limit-order.js" place <spot|perp> <buy|sell|long|short> <COIN> <PRICE> <SIZE> [--leverage N] [--cross|--isolated]previewreferences/limit-order.md--confirmedlimit-order.js--confirmedoid