名称: openbroker
描述: Hyperliquid 交易插件,支持后台持仓监控。可执行市价单、限价单,管理持仓,查看资金费率,并运行交易策略,自动发送盈亏变动和强平风险的提醒。
许可证: MIT
compatibility: 需要 Node.js 22+,网络可访问 api.hyperliquid.xyz
主页: https://www.npmjs.com/package/openbroker
元数据: {"author": "monemetrics", "version": "1.0.44", "openclaw": {"requires": {"bins": ["openbroker"], "env": ["HYPERLIQUID_PRIVATE_KEY"]}, "primaryEnv": "HYPERLIQUID_PRIVATE_KEY", "install": [{"id": "node", "kind": "node", "package": "openbroker", "bins": ["openbroker"], "label": "安装 openbroker (npm)"}]}}
允许工具: ob_account ob_positions ob_funding ob_markets ob_search ob_spot ob_fills ob_orders ob_order_status ob_fees ob_candles ob_funding_history ob_trades ob_rate_limit ob_buy ob_sell ob_limit ob_trigger ob_tpsl ob_cancel ob_twap ob_bracket ob_chase ob_watcher_status Bash(openbroker:*)
在 Hyperliquid DEX 上执行交易操作,支持构建者费用。
npm install -g openbroker
# 1. 设置(生成钱包、创建配置、批准构建者费用)
openbroker setup
# 2. 在 Arbitrum 上用 USDC 为你的钱包充值,然后在 https://app.hyperliquid.xyz/ 存入资金
# 3. 开始交易
openbroker account
openbroker buy --coin ETH --size 0.1
openbroker setup # 一键设置(钱包 + 配置 + 构建者批准)
openbroker approve-builder --check # 检查构建者费用状态(用于故障排除)
setup 命令提供三种模式:
1. 导入现有密钥 — 使用已有的私钥(主钱包)
2. 生成新钱包 — 创建全新的主钱包
3. 生成 API 钱包(推荐用于代理) — 创建一个可以交易但无法提现的受限钱包
对于选项 1 和 2,设置过程会自动保存配置并批准构建者费用。
对于选项 3(API 钱包),请参阅下面的 API 钱包设置部分。
API 钱包可以代表主账户进行交易,但无法提现资金。这是自动化代理最安全的选择。
流程:
1. 运行 openbroker setup 并选择选项 3("生成 API 钱包")
2. 命令行工具会生成一个密钥对并打印一个批准 URL(例如 https://openbroker.dev/approve?agent=0xABC...)
3. 代理所有者(控制主钱包的人)在浏览器中打开该 URL 并连接其主钱包(如 MetaMask)
4. 主钱包签署两笔交易:ApproveAgent(授权 API 钱包)和 ApproveBuilderFee(批准 1 个基点的费用)
5. 命令行工具会自动检测到批准并保存配置
设置完成后,配置将包含:
HYPERLIQUID_PRIVATE_KEY=0x... # API 钱包私钥
HYPERLIQUID_ACCOUNT_ADDRESS=0x... # 主账户地址
HYPERLIQUID_NETWORK=mainnet
代理注意事项: 使用 API 钱包时,请将批准 URL 提供给代理所有者(控制主钱包的人)。所有者必须在浏览器中完成批准,代理才能进行交易。命令行工具最多等待 10 分钟以获取批准。如果超时,请重新运行 openbroker setup。
openbroker account # 余额、权益、保证金
openbroker account --orders # 包含未成交订单
openbroker positions # 持仓及盈亏
openbroker positions --coin ETH # 特定币种
openbroker funding --top 20 # 资金费率最高的前 20 个
openbroker funding --coin ETH # 特定币种
openbroker markets --top 30 # 交易量前 30 的主要永续合约
openbroker markets --coin BTC # 特定币种
openbroker all-markets # 显示所有市场
openbroker all-markets --type perp # 仅限主要永续合约
openbroker all-markets --type hip3 # 仅限 HIP-3 永续合约
openbroker all-markets --type spot # 仅限现货市场
openbroker all-markets --top 20 # 交易量前 20
openbroker search --query GOLD # 查找所有 GOLD 市场
openbroker search --query BTC # 在所有提供商中查找 BTC
openbroker search --query ETH --type perp # 仅限 ETH 永续合约
openbroker spot # 显示所有现货市场
openbroker spot --coin PURR # 显示 PURR 市场信息
openbroker spot --balances # 显示你的现货余额
openbroker spot --top 20 # 交易量前 20
openbroker fills # 近期成交
openbroker fills --coin ETH # 仅限 ETH 成交
openbroker fills --coin BTC --side buy --top 50
openbroker orders # 近期订单(所有状态)
openbroker orders --coin ETH --status filled
openbroker orders --top 50
openbroker order-status --oid 123456789 # 查询特定订单
openbroker order-status --oid 0x1234... # 通过客户端订单 ID 查询
openbroker fees # 费用等级、费率和交易量
openbroker candles --coin ETH # 24 根小时 K 线
openbroker candles --coin BTC --interval 4h --bars 48 # 48 根 4 小时 K 线
openbroker candles --coin SOL --interval 1d --bars 30 # 30 根日 K 线
openbroker funding-history --coin ETH # 最近 24 小时
openbroker funding-history --coin BTC --hours 168 # 最近 7 天
openbroker trades --coin ETH # 最近 30 笔交易
openbroker trades --coin BTC --top 50 # 最近 50 笔交易
openbroker rate-limit # API 使用情况和容量
openbroker buy --coin ETH --size 0.1
openbroker sell --coin BTC --size 0.01
openbroker buy --coin SOL --size 5 --slippage 100 # 自定义滑点(基点)
openbroker market --coin ETH --side buy --size 0.1
openbroker market --coin BTC --side sell --size 0.01 --slippage 100
openbroker limit --coin ETH --side buy --size 1 --price 3000
openbroker limit --coin SOL --side sell --size 10 --price 200 --tif ALO
# 止盈价 $40,止损价 $30
openbroker tpsl --coin HYPE --tp 40 --sl 30
# 止盈设在入场价上方 10%,止损设在入场价(保本)
openbroker tpsl --coin HYPE --tp +10% --sl entry
# 仅在入场价下方 5% 设置止损
openbroker tpsl --coin ETH --sl -5%
# 部分持仓止盈/止损
openbroker tpsl --coin ETH --tp 4000 --sl 3500 --size 0.5
# 止盈:当价格上涨到 $40 时卖出
openbroker trigger --coin HYPE --side sell --size 0.5 --trigger 40 --type tp
# 止损:当价格下跌到 $30 时卖出
openbroker trigger --coin HYPE --side sell --size 0.5 --trigger 30 --type sl
openbroker cancel --all # 取消所有订单
openbroker cancel --coin ETH # 仅取消 ETH 订单
openbroker cancel --oid 123456 # 取消特定订单
# 在 1 小时内买入 1 ETH(自动计算分片)
openbroker twap --coin ETH --side buy --size 1 --duration 3600
# 自定义间隔并加入随机化
openbroker twap --coin BTC --side sell --size 0.5 --duration 1800 --intervals 6 --randomize 20
# 在当前价格下方 2% 的范围内,放置 5 个买单
openbroker scale --coin ETH --side buy --size 1 --levels 5 --range 2
# 使用指数分布分批平仓
openbroker scale --coin BTC --side sell --size 0.5 --levels 4 --range 3 --distribution exponential --reduce
# 做多 ETH,止盈 3%,止损 1.5%
openbroker bracket --coin ETH --side buy --size 0.5 --tp 3 --sl 1.5
# 做空,使用限价入场
openbroker bracket --coin BTC --side sell --size 0.1 --entry limit --price 100000 --tp 5 --sl 2
# 使用 ALO 订单追逐买入,直到成交
openbroker chase --coin ETH --side buy --size 0.5 --timeout 300
# 激进追逐,偏移较小
openbroker chase --coin SOL --side buy --size 10 --offset 2 --timeout 60
# 如果 ETH 年化资金费率 > 25%,则收取资金费
openbroker funding-arb --coin ETH --size 5000 --min-funding 25
# 运行 24 小时,每 30 分钟检查一次
openbroker funding-arb --coin BTC --size 10000 --duration 24 --check 30 --dry
# ETH 网格,范围 $3000-$4000,10 个层级,每层 0.1 ETH
openbroker grid --coin ETH --lower 3000 --upper 4000 --grids 10 --size 0.1
# 积累网格(仅买入)
openbroker grid --coin BTC --lower 90000 --upper 100000 --grids 5 --size 0.01 --mode long
# 每小时买入 $100 的 ETH,持续 24 小时
openbroker dca --coin ETH --amount 100 --interval 1h --count 24
# 在 30 天内,通过每日购买,向 BTC 投资 $5000
openbroker dca --coin BTC --total 5000 --interval 1d --count 30
# 为 ETH 做市,单量 0.1,价差 10 个基点
openbroker mm-spread --coin ETH --size 0.1 --spread 10
# 更窄的价差,设置持仓上限
openbroker mm-spread --coin BTC --size 0.01 --spread 5 --max-position 0.1
# 使用 ALO(仅挂单)订单做市 - 保证获得挂单返佣
openbroker mm-maker --coin HYPE --size 1 --offset 1
# 对波动性大的资产使用更大的偏移
openbroker mm-maker --coin ETH --size 0.1 --offset 2 --max-position 0.5
限价单 (openbroker limit):
- 价格达到时立即执行
- 在订单簿上等待成交或取消
- 低于当前价格的限价卖单会立即成交(吃单)
- 不适合用于止损
条件单 (openbroker trigger, openbroker tpsl):
- 在触发价格达到前保持休眠状态
- 仅在价格触及触发水平时激活
- 设置止损和止盈的正确方式
- 不会过早成交
| 场景 | 命令 |
|---|---|
| 在低于市价的特定价格买入 | openbroker limit |
| 在高于市价的特定价格卖出 | openbroker limit |
| 止损(价格下跌时退出) | openbroker trigger --type sl |
| 止盈(在目标价位退出) | openbroker trigger --type tp |
| 为现有持仓添加止盈/止损 | openbroker tpsl |
所有命令都支持 --dry 参数进行模拟运行(预览而不实际执行)。
| 参数 | 描述 |
|---|---|
--coin |
资产代码(ETH、BTC、SOL、HYPE 等) |
--side |
订单方向:buy 或 sell |
--size |
订单数量(以基础资产计) |
--price |
限价价格 |
--dry |
模拟运行,不实际执行 |
--help |
显示命令帮助 |
| 参数 | 描述 |
|---|---|
--trigger |
触发价格(用于条件单) |
--type |
条件单类型:tp 或 sl |
--slippage |
滑点容忍度(基点,用于市价单) |
--tif |
订单有效期:GTC、IOC、ALO |
--reduce |
仅减仓订单 |
| 格式 | 示例 | 描述 |
|---|---|---|
| 绝对价格 | --tp 40 |
价格 $40 |
| 百分比上涨 | --tp +10% |
入场价上方 10% |
| 百分比下跌 | --sl -5% |
入场价下方 5% |
| 入场价格 | --sl entry |
保本止损 |
配置按以下优先级加载:
1. 环境变量
2. 当前目录下的 .env 文件
3. ~/.openbroker/.env(全局配置)
运行 openbroker setup 以交互方式创建全局配置。
| 变量 | 是否必需 | 描述 |
|---|---|---|
HYPERLIQUID_PRIVATE_KEY |
是 | 钱包私钥(0x...) |
HYPERLIQUID_NETWORK |
否 | mainnet(默认)或 testnet |
HYPERLIQUID_ACCOUNT_ADDRESS |
否 | 主账户地址(API 钱包必需) |
构建者费用(1 个基点 / 0.01%)是硬编码的,不可配置。
此技能可通过 Bash 独立运行 — 上述每个命令都通过 openbroker 命令行工具执行。如需增强功能,同一个 openbroker npm 包也作为 OpenClaw 插件 提供,你可以与此技能一起启用。
ob_account, ob_buy, ob_limit 等) — 具有正确输入模式的结构化工具调用,而非 Bash 字符串。代理会收到结构化的 JSON 响应。openclaw ob status 和 openclaw ob watch 用于检查监控器状态。插件捆绑在同一个 openbroker npm 包中。要在你的 OpenClaw 配置中启用它:
plugins:
entries:
openbroker:
enabled: true
config:
hooksToken: "your-hooks-secret" # 监控器提醒必需
watcher:
enabled: true
pollIntervalMs: 30000
pnlChangeThresholdPct: 5
marginUsageWarningPct: 80
插件从 ~/.openbroker/.env(由 openbroker setup 设置)读取钱包凭证,因此除非你想覆盖,