用途:说明 Senpi 交易策略如何与 Hyperliquid 上的运行时引擎 @senpi-ai/runtime 交互,属于基础设施型技能,供 author(构建)、ops(安装监控)、discover(推荐)等生命周期技能引用。
主要能力与分工:策略从 runtime.yaml 指向仓库内 Python 模块,运行时负责生成、监督并重启扫描器,按 interval_seconds 调用冻结的 scan(inputs, ctx)。你的代码只产出信号:scan 读取市场与账户数据,返回 list[dict] 候选信号,不负责开平仓、仓位大小、调度或执行。运行时负责调度、按 signal_data_schema 校验并去重信号、仓位与下单执行(FEE_OPTIMIZED_LIMIT)、槽位核算、risk.guard_rails、两阶段 DSL 移动止损退出,以及重启后的崩溃安全持仓对账。运行时按 interval_seconds 计时且不调用模型,因此不要在旁边放 agent-turn cron。没有模拟交易模式:用 senpi validate 测试(一次真实 tick、无钱包),随后以 $10 下限实盘运行。
使用方式:ctx 提供 ctx.senpi_mcp.call_tool(name, args)(只读 MCP 客户端,唯一取数方式)、ctx.state(事务性持久历史,last()/append()/len,仅干净 tick 推进)、ctx.wallet。建议把逻辑放在无 I/O 的纯 scoring.py 以便单测。常用命令:openclaw plugins install @senpi-ai/runtime;openclaw senpi validate <dir-with-runtime.yaml>(部署前门槛,一次真实 tick、无钱包,PASS 记录部署所需证明);openclaw senpi deploy -p <package-dir> --budget <usd>;openclaw senpi deploy status;openclaw senpi runtime list。修改已上线策略用 openclaw senpi update(默认仅计划,--apply 提交,--code-only 断言仅 scan.py 变更),不要删除后重新部署,否则会丢失 DSL 持仓文件与移动止损。
适用场景与限制:适用于在 Hyperliquid 上构建、部署、监控与更新 Senpi 交易策略。限制:无模拟交易;validate 运行磁盘副本而非运行中副本;未加 --apply 的 update 不生效;dsl_preset 变更仅对新入场生效;更换 strategy.wallet、重命名或移动外部扫描器、在稳定名称下更改 action_type 会被拒绝。更多细节见 references/runtime-concepts.md、runtime-yaml.md、scan-contract.md、runtime-cli.md、dsl-protection-check.md。