dsh-hyperliquid
Hyperliquid 交易台,运行在 DeepSeek Harness(dsh)中。它是一个与 bots 平级的主面板应用:
- 左栏 · 交易会话:每个会话都是一次真实的 DSH 会话,各自记住币种、周期、指标、画线和布局。
- 中栏 · 行情工作台:合约统计、K 线(TradingView Lightweight Charts)、资金费历史、盘口与成交、持仓 / 挂单 / 历史委托。
- 右栏 · 原生会话:直接嵌入 DSH 原生对话。行情分析、风险检查和下单都由 agent 通过
hyper_* 工具完成;交易票据只把结构化的交易意图送进会话。
⚠️ 默认连接 Hyperliquid 主网并以实盘模式运行,交易使用真实资金。 首次使用请先在右上角「交易设置」中切到测试网或模拟盘熟悉流程,并确认下文的交易限额。
要求
- DSH 0.2 或更新版本(嵌入原生会话需要会话引用与 Conversation Factory 接口)
- Node.js 22.12+(DSH 宿主运行环境)
- 实盘交易需要配置签名钱包:推荐 dsh-web3 保险库,或插件内私钥
安装
dsh plugin --profile web add dsh-hyperliquid
本包是一个 dsh bundle(dsh.bundle.patch + dsh.client),安装后在侧边栏打开「Hyperliquid 交易台」。修改插件配置后需要重启 DSH 宿主。
快速上手:配置实盘钱包
推荐使用 dsh-web3 签名:私钥只保存在本机加密保险库中,每次签名都经过钱包的签名策略与审批。
dsh plugin --profile web add dsh-web3
在 DSH 设置 → Web3 钱包中创建或导入账户,然后在 profile 的 cordis.patch.yml 中配置本插件:
- id: hyperliquid
config:
network: mainnet # 或 testnet
tradingMode: live # 或 paper
signer: web3
web3Account: hyper-agent # dsh-web3 账户 id 或名称
tradingAddress: '0x你的 Hyperliquid 主账户地址'
allowedCoins: BTC,ETH
maxOrderUsd: 100
maxDailyUsd: 500
maxPositionUsd: 500
maxLeverage: 2
建议为交易台单独创建 Hyperliquid API wallet(agent wallet)用于签名,并把资金主账户填进 tradingAddress;持仓与挂单都按主账户查询。
使用
- 交易设置:右上角齿轮可切换主网 / 测试网、实盘 / 模拟盘、盘口 / 成交的位置,并编辑允许交易币对、单笔 / 每日 / 仓位限额与最大杠杆。限额保存后立即作用于模拟盘和实盘,并在重启后保持;「恢复插件配置」可清除界面覆盖值。网络与模式切换只在当前宿主进程内生效,重启后恢复插件配置;切到主网实盘前需要确认。
- 钱包与收益:点击顶栏钱包查看地址、余额、权益和收益。实盘收益曲线来自 Hyperliquid 官方 portfolio 数据;模拟盘显示本地已实现与未实现收益。
- K 线:支持交易所官方的 14 个周期,以及成交量、SMA20、MA60、EMA20/50、布林带、RSI、MACD、ATR14 与 UTC 日内 VWAP。图表类型可切换蜡烛、美国线、折线、面积和平均 K 线,并随会话保存;平均 K 线仅改变显示,点位引用仍使用原始 OHLC。向左拖动会自动加载更早的 K 线,最多可追溯到交易所提供的最近 5000 根。可以画水平线、趋势线,画线有实时预览和趋势线端点。手动画线与会话中
hyper_chart 添加的标注按会话和币种保存,在该币种的所有周期展示;agent 添加或删除后,打开的图表通常在下一次宿主事件轮询(约 1 秒)更新。明确点击 K 线、成交量柱或指标线,会在输入框里插入一个引用标签(如 BTC 15m 10-15 13:45 · C 81397);拖动图表不会引用。发送时标签展开为该点的完整 OHLC、量能与指标数据;点击标签可回到图上的那根 K 线。 「指标」菜单还可叠加最多 8 条可配置均线:SMA / EMA / SMMA(平滑均线,即 TradingView 的 RMA)/ WMA,周期 1–500,价格源可选 close / open / high / low / hl2 / hlc3 / ohlc4,并可再套一层平滑(虚线),算法与 TradingView Pine 一致;图例实时显示数值,agent 也能用 hyper_chart 把均线画到图上。
- 导航与导出:图表下方可查看最近 1/5/30 天、适应已加载全部数据、跳转到本地时间指定的日期,或回到最新行情;历史不足会自动补取,并在到达数据边界时提示。导出菜单可保存含画线和指标的 PNG,或导出已加载原始 OHLCV 的 CSV(UTC 时间)。指标图例与成交量跟随十字光标;VWAP 使用 UTC 每日重置的 HLC3 成交量加权价格,首日历史不全时不展示该日不完整结果。
- 画线工具:工具栏「画线」菜单按 TradingView 的分组提供 41 种工具——线条:趋势线、射线、延长线、信息线(涨跌 / 根数 / 时长 / 角度)、趋势角度、水平线、水平射线、十字线、垂直线;通道:平行通道、安德鲁叉子线、Schiff 与改良 Schiff 叉子线、回归趋势(收盘价最小二乘 ±2σ)、固定范围成交量分布(按价格统计区间成交量,标出 POC 与价值区 VAH / VAL,可调行数与价值区比例;由 K 线估算,区间早于已加载历史时自动补加载并提示);斐波那契与江恩:斐波那契回撤、趋势斐波那契扩展、斐波那契通道、斐波那契时间周期、江恩箱、江恩方格、江恩扇形;形态:艾略特推动浪(0-5)与调整浪(A-B-C)、XABCD 谐波与 ABCD(自动标注斐波那契比值)、头肩形态(含颈线);形状:矩形、圆形、三角形、画笔;标注:文本、标注气泡、价格标签、箭头、图标;测量与头寸:价格区间、日期区间、日期与价格区间、多头 / 空头头寸(止盈默认 2R,显示 R:R)。点击过程中实时预览,Esc 取消,按住 Shift 保持水平;磁吸可选关 / 弱 / 强,吸附到 K 线开高低收。
- 编辑与管理画线:点选后拖动锚点改形状、拖动线身整体移动;浮动工具条可通过齿轮精确编辑锚点时间、价格和名称,改颜色、线宽、线型,复制,设为该工具的默认样式(之后新画的同类线自动套用),锁定或删除。按住 Shift 或 Ctrl/Cmd 点击可多选,多选后整组拖动、改色、隐藏、锁定或删除(一步撤销)。快捷键:Alt+T 趋势线、Alt+H 水平线、Alt+J 水平射线、Alt+V 垂直线、Alt+C 十字线、Alt+F 斐波那契回撤、Alt+Shift+R 矩形;画线时按住 Ctrl/Cmd 临时反转磁吸,吸附点显示提示圈;Esc 逐层退出(取消当前拖动或工具 → 取消选择 → 退出放大图表)。Delete 删除,Ctrl/Cmd+C、V 复制粘贴,Ctrl/Cmd+Z 撤销、Shift+Ctrl/Cmd+Z 重做(新建、修改、删除和批量删除都可撤销)。图表下方的画线列表可逐条定位、显示 / 隐藏、锁定或删除;菜单里还有连续绘制、锁定所有画线和删除所有画线。点击菜单中的星标可收藏最多 12 个工具,图表上方显示常用画线快捷栏;收藏保存在当前浏览器。画线锚定在时间与价格上,平移、缩放、切换刻度和加载历史时始终贴合 K 线,也可延伸到最新 K 线右侧的空白区域;画线按会话和币种保存,切换会话随之切换,重启后保留,agent 用
hyper_chart 新增或修改的画线会实时出现在打开的图表上。
- 同步、提醒与贴图:浮动工具条可把画线「同步到所有会话」(该币种的每个交易会话都显示同一条线,任一会话可修改,重启后保留),水平线、水平射线、趋势线、射线和延长线可开启「价格提醒」——宿主持续监控中价,穿越画线时交易台弹出提醒,提醒触发一次后自动关闭,可再次开启。图标工具附贴图库:18 个内置图标、交易 / 表情 / 符号三类约 60 个贴纸,也可输入或粘贴任意一个 emoji 作为贴纸。每张图(会话 + 币种,跨周期合计)最多 100 条画线。
- 成交与决策原因:每笔成交在图上的成交价位置打点(买绿卖红),有 AI 决策原因的点带圆环;点击查看方向、数量、价格、时间和当时的决策原因,「显示 → 成交原因」可把原因标签直接显示在图上。「回到决策会话分析」会切换到做出这笔决策的交易会话,并把成交与原因作为复盘引用放进输入框。
- 策略框架:图表工具栏提供趋势跟随、区间突破和波动带回归观察卡,只用已收盘 K 线,标出条件出现、待观察、数据不足或过期;点击「请 Agent 核对」会让会话进一步检查更高周期、盘口、资金费和账户风险,不会自动下单。参数是分析默认值,未证明当前市场和周期的盈利能力。
- 对话里的交易动作:agent 的每次
hyper_* 调用都以可读的一行显示,例如「交易预检 · 买入 0.001 BTC @ 81,200」;完成后显示结论,展开可看完整返回。
- 实盘审批:agent 下单、撤单或改杠杆需要你批准时,DSH 审批面板里会显示订单卡:方向、数量、价格、预估名义价值、止盈止损、当前网络与模式、交易限额用量,以及 agent 给出的下单理由。
- 市场选择:点击合约名或按
/ 打开市场选择器,支持搜索、分类、排序和自选。现货、HIP-3 与 Outcome 市场目前只读,交易只支持核心永续合约。
- 布局:三栏都可以收起,分隔条可以拖拽调宽,双击恢复默认宽度。
- 后台恢复:页面切到后台会暂停轮询,宿主会释放闲置的行情订阅,但与 Hyperliquid 的连接保持不断。切回前台后会自动重新订阅并补齐数据,期间顶栏显示「同步中」。
交易限额与钱包签名
订单要经过两套相互独立的规则。当前值与今日用量可在「交易设置 → 交易限额与签名规则」查看。这里保存的限额写入插件数据目录的 risk-settings.json,优先于启动时的插件限额配置;恢复插件配置会删除这个覆盖文件。
1. 交易限额:模拟盘和实盘都检查,两边的每日额度分开记账;减仓与平仓不受限制。
| 字段 | 默认 | 说明 |
|---|
allowedCoins | BTC,ETH | 允许新开仓的永续币对,逗号分隔 |
maxOrderUsd | 100 | 单笔名义价值上限(USD) |
maxDailyUsd | 500 | 每 UTC 日累计开仓名义价值上限(USD) |
maxPositionUsd | 500 | 每个币的最大仓位名义价值(USD) |
maxLeverage | 2 | 最大杠杆倍数 |
2. 钱包签名(dsh-web3,仅 signer: web3 的实盘订单):钱包按自己的签名策略决定一次签名是自动通过、需要审批还是拒绝。它不检查上面的交易限额;签名策略在 DSH 设置 → Web3 钱包中管理。
另外,autonomousLive: false(默认)时,agent 的每笔实盘下单、撤单和杠杆变更都会弹出 DSH 审批。
全部配置项
| 字段 | 默认 | 说明 |
|---|
dataDir | ~/.dsh-hyperliquid | 会话登记表、会话工作台、模拟账本与审计记录的存储目录 |
network | mainnet | mainnet / testnet |
tradingMode | live | live 真实签名下单;paper 本地模拟撮合 |
signer | local | local 使用插件内私钥签名;web3 交给 dsh-web3 保险库签名 |
privateKey | — | signer: local 时使用的私钥,也可以用环境变量 HYPERLIQUID_PRIVATE_KEY 提供。请使用 API wallet 密钥,不要使用主钱包私钥 |
web3Account | main | signer: web3 时使用的 dsh-web3 账户 id 或名称 |
tradingAddress | — | Hyperliquid 资金主账户地址;使用 API wallet 签名时必填 |
autonomousLive | false | 允许 agent 在交易限额内自主执行实盘操作,仅支持 signer: web3 |
allowedCoins … maxLeverage | 见上表 | 交易限额 |
Agent 工具
| 工具 | 说明 |
|---|
hyper_context | 一次读取当前会话的币对、盘口、K 线、账户权益、仓位与风险限额 |
hyper_market | 行情:overview / book / candles / trades / catalog / indicators(SMA、EMA、RSI、MACD、布林带、ATR、Stochastic、ADX/DMI、OBV、支撑阻力,以及图上均线或指定均线的最新值) |
hyper_chart | 在会话图表上添加、修改(几何 / 颜色 / 线宽 / 线型 / 锁定 / 隐藏)或删除画线(41 种,含固定范围成交量分布、斐波那契、江恩、叉子线、回归、艾略特与谐波形态、标注与多空头寸;可设置同步到所有会话与价格提醒)和均线(SMA / EMA / SMMA / WMA,可选平滑);action=view 切换图表周期并显示 / 隐藏 RSI、MACD 等副图指标 |
hyper_account | 账户:state / orders / fills / orderStatus(支持 oid、cloid)/ review(窗口证据、成本及订单核对) |
hyper_decide | 实盘预检:提交交易意图与依据,返回 30 秒内有效的一次性 decisionId |
hyper_order | place / cancel / leverage;实盘下单必须带匹配的 decisionId,可附带止盈止损(目前仅测试网) |
hyper_session | status / bind,同步用户当前查看的币对 |
插件还会向 DSH 注册随包提供的 hyperliquid-trading skill,指导 agent 先核对数据新鲜度、账户与风险,再区分分析和执行,回执异常时先对账。
多周期、指标与复盘
图表支持双图 / 四图研究、时间及光标联动;指标菜单支持 RSI/MACD/BOLL/Stochastic/ADX 参数、跨会话指标模板和数据窗口。底部「交易复盘」核对成交、委托、原因和费用,显示数据覆盖缺口,可导出证据或交给 AI。详细口径见 研究与复盘说明。
安全设计
- 实盘下单分两步:先用
hyper_decide 预检,再用 hyper_order 执行。执行时宿主会重新读取行情和账户;价格偏离预检超过 1% 时拒绝下单。
- 每笔实盘订单都带 128 位
cloid 并写入本地审计。网络超时后,额度会保守保留,需要先按 cloid 核对交易所状态。
- 网络或交易模式切换时,会清空所有行情缓存和未消费的预检决策;有交易正在执行时拒绝切换。
- 行情或宿主数据过期时,交易票据暂停提交。
- 签名实现按官方 Python SDK
signing.py 逐字节复刻,并用官方测试向量验证;local 和 web3 两条签名路径的结果一致。
已知限制
- 模拟盘手续费及不利滑点可在交易限额设置中配置(默认 4.5 / 5 bps),新成交实际扣费并保留当时假设;不模拟盘口深度、资金费和强平,模拟收益不能直接代表实盘收益。模拟盘也不支持止盈止损触发单。
- 带止盈止损的分组订单(
normalTpsl)目前只在测试网开放。保护单在主单完全成交后才会挂出;执行后请核对真实持仓与保护挂单。
- Portfolio Margin 账户中的非 USDC 资产不计入风控权益,因此可能被保守拒单。
开发
npm install
npm run build # src/client → client.js(构建产物,请勿手改)
npm run typecheck
npm test
npm run smoke:chart # 基础图表:类型/坐标编辑/指标光标/日期导航/图片及 CSV 导出/恢复
npm run smoke:drawing # 真实 DSH 宿主 + Chrome:画线交互、重启保持、全部工具、成交打点与平移性能
- 源码结构:
index.js 与 lib/*.js 是宿主端代码,纯 ESM,无需构建;src/client/ 是客户端(React + TSX),由 esbuild 打包成 client.js。
- 架构说明见 docs/architecture.md。
- 修改宿主端代码后需要重启 DSH 宿主;
npm run build 只更新客户端。
License
MIT。第三方组件声明见 NOTICE。