用途
dapp-polymarket 是一个面向 Polymarket 预测市场的命令行工具技能,用于预测市场搜索、定价查询与交易。当用户询问预测市场、事件下注、某事件概率、买入 Yes/No 份额等相关问题时使用。
主要能力
该技能提供 12 条命令,分为数据类与交易类:
数据类命令(无需认证,可立即使用):
plugin-store polymarket search <query>:搜索预测市场,支持--limit限制结果数(默认 20)。返回字段包括 condition_id、question、outcomes、outcomePrices、clobTokenIds、volume、liquidity、endDate。plugin-store polymarket markets:列出热门/活跃市场,支持--tag(如 politics、crypto、sports)、--sort(volume、liquidity、newest、ending,默认 volume)、--limit(默认 20)。plugin-store polymarket event <event_id>:获取事件详情及相关市场。plugin-store polymarket price <token_id>:获取 Yes/No 价格、中间价、买卖价差。返回字段包括 buy、sell、midpoint、spread。plugin-store polymarket book <token_id>:查看订单簿深度,返回 bids 与 asks(含 price、size)。plugin-store polymarket history <token_id>:价格历史 K 线,支持--interval(1m、1h、6h、1d、1w、max,默认 1d)。
交易类命令(需要 Polygon 钱包私钥):
plugin-store polymarket buy --token <token_id> --amount <usdc> --price <0-1>:买入结果份额(限价单),支持--order-type(GTC、FOK、GTD,默认 GTC)。plugin-store polymarket sell --token <token_id> --amount <shares> --price <0-1>:卖出结果份额。plugin-store polymarket cancel <order_id>:取消订单。plugin-store polymarket orders:查看未成交订单,支持--market <condition_id>。plugin-store polymarket positions:查看当前持仓。plugin-store polymarket balance:查看 USDC 余额。
使用方式
前置检查:每次运行任何 plugin-store 命令前,需按顺序执行以下步骤。先运行 which plugin-store 确认已安装;若未找到,执行安装命令:
curl -sSL https://raw.githubusercontent.com/purong-huang-1121/skills-store/main/install.sh | sh
若安装脚本失败,请用户参照 https://github.com/okx/plugin-store 的说明手动安装。
检查更新:读取 ~/.plugin-store/last_check 并与当前时间戳比较:
cached_ts=$(cat ~/.plugin-store/last_check 2>/dev/null || true)
now=$(date +%s)
若 cached_ts 非空且 (now - cached_ts) < 43200(12 小时),跳过更新继续。否则(文件缺失或超过 12 小时),运行安装脚本检查更新。若本次会话中任何 plugin-store 命令出现意外错误,可先尝试重新安装。
认证:数据命令无需认证。交易命令需要 Polygon 钱包私钥,在 .env 文件中添加:
EVM_PRIVATE_KEY=0x...
API 凭证会在首次使用时由私钥自动派生,并缓存于 ~/.plugin-store/polymarket_creds.json。
快速开始示例:
浏览与研究:
plugin-store polymarket search "bitcoin"
plugin-store polymarket markets --sort volume --limit 10
plugin-store polymarket event <event_id>
plugin-store polymarket price <token_id>
plugin-store polymarket book <token_id>
plugin-store polymarket history <token_id> --interval 1d
交易:
plugin-store polymarket buy --token <token_id> --amount 100 --price 0.65
plugin-store polymarket sell --token <token_id> --amount 50 --price 0.70
plugin-store polymarket orders
plugin-store polymarket cancel <order_id>
plugin-store polymarket positions
plugin-store polymarket balance
技能路由:代币搜索/分析使用 okx-dex-token;DEX 兑换使用 okx-dex-swap;代币价格/图表使用 okx-dex-market;钱包余额使用 okx-wallet-portfolio;交易广播使用 okx-onchain-gateway。
适用场景
- 搜索与买入(最常见):先列出热门市场,用户选择后查看 Yes/No 价格,确认 EVM_PRIVATE_KEY 已设置后下单。市场数据中的 clobTokenIds 用于 price/buy/sell 命令;每个市场通常有 2 个 token ID,索引 0 为 Yes,索引 1 为 No。
- 投资组合回顾:查看持仓与盈亏,查询某持仓当前价格,卖出止盈。
- 市场研究:搜索相关市场,查看事件下所有市场,检查流动性深度,查看价格趋势。
- 与 OKX 技能配合:检查 Polygon 上的 USDC 余额,查找预测市场,下单。
操作流程:识别意图(浏览市场、查价格/赔率、分析深度、查趋势、买卖、管理订单、查组合)→ 收集参数(缺失搜索词、token_id、价格、金额、私钥时分别处理)→ 执行(数据阶段展示信息,确认阶段在下单前显示价格、金额、预期份额并请求确认,执行阶段下单并展示结果)→ 建议下一步。
限制与注意事项
- 价格即概率:价格 0.65 表示 65% 隐含概率。买入 Yes 每股支付 0.65 美元,若 Yes 获胜获得 1.00 美元。
- 每个市场有两个 token ID:clobTokenIds[0] = Yes,clobTokenIds[1] = No。
- 所有交易使用 Polygon 网络上的 USDC。
- 订单簿模型:Polymarket 使用 CLOB(中央限价订单簿),而非 AMM,订单可能不会立即成交。
- 边界情况:市场关闭/已结算时需检查 active 与 closed 字段,不允许在已关闭市场交易;流动性低时订单簿稀薄,需警告滑点;价格必须严格在 0 与 1 之间,拒绝 0 或 1;未设置私钥时交易命令需明确报错提示在 .env 中设置 EVM_PRIVATE_KEY;Polymarket API 有速率限制,需使用带退避的重试。
- 向用户展示时应以对话方式呈现,不要暴露技能名称或端点路径。