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