Kalshi-Claw:用自然語言在預測市場交易的 OpenClaw 技能
想用 AI 助手直接參與預測市場交易?主流平臺要麼沒有 API,要麼接入繁瑣,還得自己處理訂單簽名、倉位跟蹤這些細節。Kalshi-Claw 正是爲解決這個痛點而生——爲 OpenClaw 提供了完整的 Kalshi 預測市場交易能力,用自然語言就能下單和管理倉位。
技術架構採用 Rust + TypeScript 雙運行時設計:Rust 核心處理 RSA-2048 簽名、訂單簿解析、凱利公式倉位計算和對沖評分等 CPU 密集任務;TypeScript 層負責 Kalshi REST API 對接、LLM 集成和終端 UI 展示。
最亮眼的是內置的 LLM 對沖發現功能。系統先用 Rust 引擎對市場對進行批量預評分,再將高分候選發送給 LLM 進行逆否命題邏輯驗證——只接受邏輯必然蘊含關係,拒絕相關性和「可能」的關聯。篩選出的對沖組合按覆蓋率分爲 T1(≥95%)、T2(90-95%)、T3(85-90%)三級,幫助交易者構建風險可控的對沖組合。
所有持倉數據僅保存在本地 `~/.kalshi-claw/positions.json`,不經過第三方服務器。支持模擬交易(DRY_RUN)和 Kalshi Demo 環境,可以零風險試用。macOS 提供一鍵安裝腳本,自動處理 Rust、Node.js 等依賴。
项目背景
想用 AI 助手直接参與预測市場交易,主流平台要么没有 API,要么接入繁琐,還得自己處理订单签名、仓位跟踪這些细節。Kalshi-Claw 為 OpenClaw 提供了完整的 Kalshi 预測市場交易能力,用自然语言就能下单和管理仓位。灵感來自 Chainstack 的 PolyClaw(Polymarket 版本),但 Kalshi 作為受监管的中心化交易所,交易流程更簡洁直接。
核心功能
市場浏览與搜索
- `markets trending`:按 24 小时交易量排序的热門市場
- `markets search "關键词"`:關键词搜索市場
- `market <ticker>`:查看市場详情,包含實时订单簿的 YES/NO 买卖深度
交易执行
- `buy YES/NO <ticker> <金额>`:买入 YES 或 NO 頭寸
- `sell YES/NO <ticker>`:以当前买一价挂卖出限价单
- Rust 核心自動計算合约數量:`floor(预算 / 当前卖一价)`
- RSA-2048 PKCS#1 v1.5 签名保障订单安全
- 凯利公式(Kelly Criterion)計算最优仓位大小
交易示例:买入 $50 的 YES(卖一价 $0.65)→ 76 张合约 × $0.65 = $49.40 成本,如果正确則收益 $76.00,净盈利 +$26.60。
仓位追踪
- `positions`:列出所有持仓,显示入場价、当前中間价、未實現盈亏
- 持仓數據本地存储:`~/.kalshi-claw/positions.json`,不經過第三方服务器
LLM 對冲發現(最大亮點)
- `hedge scan`:扫描热門市場寻找對冲機會
- `hedge scan --query "话題"`:按话題搜索對冲组合
- `hedge analyze <ticker1> <ticker2>`:分析特定市場對
工作流程:
1. Rust 引擎批量预评分:coverage = 1 − (1−pA)(1−pB)
2. 高分候选發送给 LLM(通過 OpenRouter)進行逆否命題逻辑驗证
3. 只接受逻辑必然蕴含關系,拒绝相關性和「可能」的關联
4. 按覆盖率分级展示:T1(≥95% 高覆盖)、T2(90-95% 良好)、T3(85-90% 中等)
5. 低于 85% 的默認過滤(`--include-weak` 可显示)
整个扫描過程约 60-120 秒,因為需要 LLM 逐對驗证逻辑關系。
钱包管理
- `wallet status`:显示 API 密钥信息、環境(demo/live)和 USD 余额
技術架構
采用 Rust + TypeScript 双運行时,通過 napi-rs 编译為 Node.js 原生插件:
Rust 层(src/)——CPU 密集計算:
| 模块 | 职责 |
|------|------|
| auth.rs | RSA-2048 PKCS#1 v1.5 请求签名 |
| orderbook.rs | 订单簿解析、最优买卖价、合约數量計算 |
| hedge.rs | 批量對冲评分、覆盖率分级、市場對排名 |
| sizing.rs | 凯利公式、資金分配、最大盈亏計算 |
TypeScript 层(lib/ + scripts/)——异步 API 和 UI:
| 文件 | 职责 |
|------|------|
| kalshiClient.ts | Kalshi REST API 完整封装(認证、市場、订单、组合) |
| llmClient.ts | OpenRouter LLM 集成(對冲驗证) |
| positionStorage.ts | 本地 JSON 持仓存储 |
| display.ts | ANSI 终端 UI(表格、横幅、盈亏着色) |
安装與配置
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、npm 依赖、Rust 原生插件编译。
環境变量
| 变量 | 必需 | 说明 |
|------|------|------|
| KALSHI_API_KEY | 是 | Kalshi API 密钥 UUID |
| KALSHI_PRIVATE_KEY | 是(交易) | RSA 私钥(PEM 格式,必须是 PKCS#1) |
| KALSHI_USE_DEMO | 否 | true = 模拟環境(默認 true) |
| OPENROUTER_API_KEY | 是(對冲) | OpenRouter 密钥(有免费额度) |
| MAX_BET | 否 | 单笔最大金额(默認 $25) |
| DRY_RUN | 否 | true = 模拟下单不执行 |
| KALSHI_LLM_MODEL | 否 | LLM 模型(默認 nemotron-nano 免费) |
自然语言使用示例(OpenClaw 集成後)
- "What's trending on Kalshi?" → 热門市場
- "Run Kalshi hedge scan limit 15" → LLM 對冲分析(约 60 秒)
- "Buy $50 YES on market KXFED-25DEC-T525" → 执行交易
- "Show my Kalshi-Claw positions" → 查看持仓和盈亏
與 Polymarket 的区别
Kalshi 是受监管的中心化交易所,交易直接通過 REST API + RSA 签名完成;Polymarket 是链上 CTF Token 拆分機制。Kalshi 的接入更簡洁,不涉及链上操作。
隐私與安全
- 所有持仓數據仅保存本地
- 支持 Demo 環境零风险試用
- DRY_RUN 模式可模拟交易流程
- RSA 私钥仅用于本地签名,不上传
协议:MIT | 作者:Kirubel125