Kalshi-Claw:用自然语言操控预测市场交易的 OpenClaw 开源技能
Kalshi-Claw 是专为 OpenClaw 打造的开源 Kalshi 交易技能,让你用自然语言直接参与预测市场。主流预测市场平台要么没有 API,要么接入繁琐,RSA 签名、仓位追踪都得自己处理。这个工具把这些细节全部封装好了。
项目采用 Rust + TypeScript 双引擎设计:Rust 核心(通过 napi-rs 编译为 Node.js 原生插件)负责 RSA-2048 签名、凯利公式最优仓位计算、对冲评分等计算密集型任务;TypeScript 层直接对接 Kalshi REST API,处理市场数据和订单执行。你可以说「买 $50 的 YES 仓位」,系统会自动计算最优合约数量、签名下单、记录持仓。
最亮眼的是内置对冲发现功能:通过 LLM 分析市场对的逻辑关联,只接受逻辑必然推导,自动筛选覆盖率 85% 以上的对冲组合,按 T1(≥95%)、T2(90–95%)、T3(85–90%)分级展示。所有持仓数据保存在本地 ~/.kalshi-claw/positions.json,不经过第三方服务器。macOS 一键安装脚本自动搞定全部依赖。
项目背景
Kalshi 是美国受监管的中央化预测市场交易所,与 Polymarket(基于以太坊链上合约)不同,Kalshi 的交易逻辑更接近传统金融:RSA 密钥对认证、REST API 下单、限价单机制。但接入门槛依然不低——RSA 签名、合约数量计算、仓位追踪都需要自己实现。Kalshi-Claw 把这些全部封装成自然语言命令,融合进 OpenClaw 的 Agent 体系。
技术架构
Rust 核心(src/)通过 napi-rs 编译为 Node.js 原生插件,负责以下模块:
- `auth.rs`:RSA-2048 PKCS#1 v1.5 请求签名
- `orderbook.rs`:订单簿解析、最优报价、合约数量计算
- `hedge.rs`:批量对冲评分、覆盖率分级、配对排名
- `sizing.rs`:凯利公式、美元仓位计算、最大盈亏估算
TypeScript 层(lib/, scripts/)负责 API 通信和 CLI:
- `kalshiClient.ts`:完整的 Kalshi REST API 客户端(认证、市场、订单、仓位)
- `llmClient.ts`:OpenRouter LLM 集成(用于对冲验证)
- `positionStorage.ts`:本地 JSON 仓位存储
- `display.ts`:ANSI 终端 UI(表格、P&L 颜色)
核心功能详解
市场浏览
kalshi-claw markets trending # 按 24h 成交量排名
kalshi-claw markets search "fed rate" # 关键词搜索
kalshi-claw market <ticker> # 市场详情 + 实时订单簿
交易执行
kalshi-claw buy <ticker> YES <amount> # 买 YES 仓位
kalshi-claw buy <ticker> NO <amount> # 买 NO 仓位
kalshi-claw sell <ticker> YES # 平 YES 仓位
系统自动计算最优合约数量(凯利公式),RSA 签名后提交限价单。
仓位追踪
kalshi-claw positions # 列出所有持仓 + 实时 P&L
数据存储在 `~/.kalshi-claw/positions.json`,完全本地,隐私安全。
对冲发现(最特色功能)
kalshi-claw hedge scan # 扫描趋势市场
kalshi-claw hedge scan --query "federal reserve" # 指定话题
kalshi-claw hedge analyze <ticker-A> <ticker-B> # 分析特定配对
流程:
1. 获取开放市场列表
2. Rust 引擎批量预评分:覆盖率 = 1 − (1−pA)(1−pB)
3. 顶级候选发送给 LLM(OpenRouter)做逻辑验证
4. **只接受逻辑必然推导,拒绝相关性和「可能」关系**
5. 输出覆盖率分级:T1(≥95%)/ T2(90–95%)/ T3(85–90%)
安装方法
macOS 一键安装:
curl -fsSLk https://github.com/Kirubel125/Kalshi-Claw/archive/refs/heads/main.zip -o /tmp/cw.zip && \
unzip -qo /tmp/cw.zip -d /tmp && \
cd /tmp/Kalshi-Claw-main && \
bash install.sh
安装脚本自动处理:Xcode CLI Tools、Homebrew、Rust toolchain、Node.js 20+、napi-rs CLI、依赖编译。
环境配置
| 变量 | 必填 | 说明 |
|------|------|------|
| KALSHI_API_KEY | 是 | Kalshi API Key UUID |
| KALSHI_PRIVATE_KEY | 是(交易) | RSA 私钥(PEM 格式,PKCS#1) |
| KALSHI_USE_DEMO | 否 | true = 模拟交易(默认 true) |
| OPENROUTER_API_KEY | 是(对冲) | OpenRouter API Key |
| MAX_BET | 否 | 单笔最大 USD(默认 25) |
| DRY_RUN | 否 | false 才会真实下单 |
注意:RSA 私钥必须是 PKCS#1 格式(-----BEGIN RSA PRIVATE KEY-----),不支持 PKCS#8。
使用场景
- **事件驱动交易**:联储利率决议、CPI 数据、选举结果——这些都是 Kalshi 的主要市场,AI Agent 可以实时监控并执行策略。
- **对冲风险**:用对冲发现功能找到逻辑上相关的市场对,构建覆盖率高的对冲组合。
- **策略测试**:开启 DEMO 模式先跑模拟,验证策略有效性再上真实资金。
- **情报探针**:预测市场价格是社会聚合预期的体现,定期监控可以作为信号来源。
局限性
- 目前仅支持 macOS(安装脚本)
- 对冲发现需要 OpenRouter API Key(有免费额度)
- RSA 私钥格式要求严格,配置错误是最常见的问题
- 项目仅用于教育和实验目的,不构成投资建议