mcpField
O
openmarket

openmarket

github.com/openmarket-xyz数据与数据库46 次安装
代码仓库

关于 openmarket

这是 OpenMarket CLI 的 Agent 操作指南,帮助具备 Shell 能力的 LLM 客户端使用其行情数据、告警、研究、图表和交易工作流。

主要功能

  1. 01查询行情数据与指标
  2. 02安装和管理 WRUN 软件包
  3. 03创建告警并监控事件流
  4. 04运行相关性事件研究
  5. 05查看和修改图表工作区
  6. 06配置由信号驱动的策略

适用场景

  1. 01查询某个交易品种的市场指标
  2. 02监控新闻或市场事件
  3. 03研究已监控事件前后的回报
  4. 04调整图表布局和技术指标

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openmarket-xyz/openmarket-skill --skill openmarket

安装后在 Claude Code 中输入/openmarket确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

alerts.md
chart-actions-tool-drawing.md
chart-actions.md
event-watches.md
marketplace.md
metrics.md
news.md
om-chat.md
openmarket-agent.md
orders.md
research.md
rooms-docs.md
secrets.md
signal.md
strategy.md

详细介绍

om — Agent 操作手册

这是 OpenMarket CLI(om)的总览技能 Markdown。任何支持 shell 的大模型客户端都会读取这些文件,以了解如何使用此二进制程序。

一个二进制程序,七项用途:

  • 市场数据:om points、om markets、om symbols、om coins、om exchanges、om normalized-symbols、om block-sizes、om tenors、om enum、om usage、om subscribe、om polymarket、om metric。通过内置 SDK 调用 OpenMarket Data API:https://api.openmarket.xyz。om metric get 可按需计算某个标的的任意已注册标量指标(price、volume、funding_rate、open_interest,以及 RSI / MACD / EMA / BB / ATR / Stoch 等指标);它使用与警报引擎相同的指标注册表,因此数值与警报触发时使用的数值一致。
  • WRUN 软件包:om install 可从本地路径、GitHub 仓库或注册表 tarball 安装 WRUN 软件包;om wrun ... 可搭建脚手架、验证、构建、导出、安装、列出、移除、升级和配置 WRUN 指标软件包。安装后的输出会成为类似 wrun/@scope/name/output 的指标 ID,可用于指标查询、警报和图表添加(om collab indicator add --type wrun/...)。有关注册表工作流和原生 Agent 创作,请参阅 marketplace.md。
  • 警报引擎:使用 om alert ... 将警报编写为 ~/.openmarket/alerts/ 下的 JSON 文件(类型化条件或由 ~/.openmarket/scripts/ 下的文件支持的自定义脚本条件);可选通过 on_fire.execute 自动在 Hyperliquid 或 Polymarket 上执行操作;使用 om service install 安装一个监控警报的 launchd/systemd 守护进程;使用 om alert watch 实时追踪触发事件。
  • 新闻 / 文本事件信息流:om news ... 通过一个按能力门控的界面管理三种产品——警报(指定触发条件,在事件发生时收到通知)、简报(指定主题,每天获取几张报道卡片)和 信息流(来自 Synoptic 市场的现成信息流)。订阅其中任意产品后,都会自动附加一个针对该信息流的事件监视器,因此其中的内容会送达日志和通知渠道。请参阅 news.md。
  • 事件监视器:om event-watch ... 管理持久化事件流监视器;om event-journal ... 按需检索其本地 Markdown 事件日志。请参阅 event-watches.md。
  • 研究分析:om research study 基于已接受的事件监视器记录和单个资产的 K 线,开展严格的相关性事件研究。可用于检查事件锚点和事件前后的收益,切勿将其用作交易信号。请参阅 research.md。
  • 协作桥接:om collab ... 通过守护进程与 collab-service 保持打开的持久 WebSocket,检查和修改 OpenMarket 图表工作区。命令按资源分组(session / workspace / chart / indicator / drawing)——结构与 kubectl 和 docker 相同,可随着服务器端新增操作而扩展。读取操作:om collab session status、om collab workspace list、om collab workspace state --workspace <id>。修改操作:om collab chart layout(多图表网格——3x1/2x2/...)、om collab chart symbol / chart interval / chart plot-type(针对每个窗格)、om collab chart sync(同步标的 / 时间间隔 / 十字光标)、om collab indicator add(RSI/MACD/EMA/...)、om collab drawing add(TrendLine、FibonacciRetracement)、om collab chart view(设置可见时间范围——临时设置)。完整工作流请参阅 chart-actions.md。网格 / 布局请求应先执行 chart layout 修改,再逐个窗格执行 chart symbol。
  • 策略:om signal + om strategy 将信号(基于受监控的事件流或市场指标)接入 Polymarket 或 Hyperliquid 上的自动交易——信号会发出方向 / 确信度视图,策略将其绑定到固定市场和仓位计算器,守护进程则在每个周期评估已启用的策略(observe / paper / dry_run / live)。编写策略后,使用 om strategy resume;由守护进程执行策略(无需前台策略运行命令)。请参阅 strategy.md。 同一个 om 二进制文件提供所有这些功能。没有独立的 “data”、“wrun”、“runner”、“research” 或 “collab” CLI。

工具调用规范:调用任何创建/编辑工具时,省略用户未要求填写的可选字段——切勿仅为重申默认值而传入字段。聊天界面会显示每次调用设置的值与使用默认值的字段;显式传入默认值会错误地显示为用户选择。

必需的环境变量:

变量用途
OM_API_KEYOpenMarket Data API 身份验证。由 om init 以交互方式获取(存储在 ~/.openmarket/om.sqlite 中),或作为环境变量导出。
OM_BASE_URL(可选)覆盖 REST 基础 URL;默认为 https://api.openmarket.xyz。
OM_BIND(可选)守护进程的 HTTP 绑定目标;默认为 127.0.0.1:31337。绑定到非环回地址时需要令牌(自动生成到 ~/.openmarket/runner.token)。

频道(Telegram、Discord 等)通过 om init 或 om setup <channel> 配置,并保存在 ~/.openmarket/om.sqlite 中——无需环境变量。

如何加载此技能

  • Claude Code / Cursor / Aider(shell Agent):将 Agent 指向 skills/ 目录,或将 om skill show openmarket / om skill show openmarket-research 的输出传入上下文。
  • OpenClaw:om setup openclaw 会将捆绑的技能(SKILL.md + 支持文档)写入 ~/.openclaw/skills/openmarket/,遵循 Agent Skills 开放标准。
  • Codex:om setup codex 会将捆绑的技能写入 ~/.codex/skills/openmarket/,采用相同的 Agent Skills 布局。
  • 其他任何场景(bash、cron、GitHub Actions):直接阅读 Markdown 文件。此技能仅由 Markdown 构成——其中没有任何特定于客户端的内容。

文件

  • SKILL.md(本文件)— 总索引。根据用户的问题,将 Agent 引导至相应的详细文件。
  • alerts.md — 提醒的组成、支持的条件结构、先发现再导入的工作流以及错误恢复。用户提及提醒、条件、阈值、om alert ...,或希望收到市场通知时阅读。还涵盖可选的 on_fire.execute 区块——它独立于条件,因此 kind: script 条件也可以自动执行(有状态策略可以下单,而不只是发送通知)。
  • orders.md — 通过配对的执行场所(Hyperliquid 和 Polymarket CLOB)使用 om order place 一次性下单。用户想要立即操作——在某个价位限价买入、开仓或平仓——而不是设置由条件触发的提醒时阅读。涵盖标志参数和 JSON 标准输入形式、仓位规模模式、场所账户读取,以及预览/确认安全约定。
  • marketplace.md:发现、安装和发布注册表软件包(om search / om install / om publish / om yank / om access),以及面向 Agent 的 WRUN 指标创作(wrun_author → wrun_build → 数值检查 → 发布),包括元数据方言和样式词汇。用户提及 marketplace 或注册表、想安装或发布软件包,或要求构建自定义指标、设置样式或将指标放到图表上时阅读。
  • metrics.md — 通过 om metric get 临时计算标量指标值,通过 om metric screen 扫描一组标的,并通过 om metric list 发现注册表。涵盖所有已注册指标(price / delta_pct / volume / funding_rate / open_interest 以及指标类:RSI / SMA / EMA / MACD / BB / ATR / Stoch)的规范默认参数和提示规则;CCI/MFI/OBV/VWAP/ADX/Ichimoku 仅可作为图表叠加项,不能作为指标。用户询问某个标的的任意标量指标当前值(“BTC 的 RSI 是多少?”、“SOL 的价格是多少?”、“给我 ETH 的 4h MACD”、“BTC 现在是否处于超买状态?”、“显示 SOL 的布林带”),或想确认提醒现在会因何而触发时阅读。
  • chart-actions.md — Collab Service Bridge:用于检查编排器 WS 连接的 Agent 命令(om collab session status)、列出工作区(om collab workspace list)、读取缓存的服务端状态(om collab workspace state --workspace <id>)以及修改图表(om collab chart layout、om collab chart symbol、om collab chart interval、om collab chart plot-type、om collab chart sync、om collab indicator add、om collab drawing add、om collab chart view)。用户询问“编排器/桥接是否已连接?”、“我有哪些工作区?”、“我的图表工作区上有什么?”,或要求更改布局/网格(例如 3x1、1x3、2x2、“三个横排”、“拆分成两个”)/更改图表标的/周期/绘图类型/切换多图表同步(标的/周期/十字线)/添加技术指标(RSI / MACD / EMA / BB / ATR / Stoch / Liquidations)/移动/缩放/平移可见区间时阅读。对于绘图工具(趋势线、斐波那契、形状、仓位、注释),请参阅 chart-actions-tool-drawing.md。网格尺寸或“用这些标的设置 N 个图表”首先属于 chart layout 更改——操作前请阅读本文件。
  • chart-actions-tool-drawing.md — om collab drawing 绘图工具的详细说明(auto / add / schema / remove)。用户要求在图表上绘制、添加、放置、标记、框选、注释、绘制斐波那契、设置多头/空头仓位或移除工具时阅读。涵盖 drawing auto(根据市场数据计算锚点——首选)、drawing add(调用方提供带角色标签的 --anchor)、drawing schema(发现工具的锚点角色)以及 drawing remove。
  • news.md — 通过 om news 设置文本事件新闻/社交提醒:供应商能力(Attention 创作与 Synoptic 目录)、创建前预览原则、发布/关注/分叉礼仪、自动附加事件监视的验证,以及噪声/重复项调整。用户提及新闻、头条、推文、社交帖子、催化剂或简报,想为任何以文本而非价格形式到达的内容设置提醒,询问有哪些新闻源,或抱怨新闻提醒重复或噪声过多时阅读。
  • event-watches.md — 创建、发现和管理受监视事件流的生命周期,以及按需检索日志。
  • research.md — 基于已接受的事件监视记录和单个资产的 K 线开展相关性事件研究。用户询问受监视的事件流是否与市场走势同时发生、想检查事件锚点,或想了解事件前后的收益时阅读。
  • signal.md — om signal 生成端接口:四种信号类型(text_long_short、constant、metric_level_rule、metric_band_rule)及其可调参数——将主题作为策略、上下文/记忆、模型固定、决策缓存、K 线/逐笔评估与冷却,以及身份变更(force)保护。用户询问信号类型或设置有哪些、想单独创建或调整信号,或询问信号编辑为何被拒绝时阅读。若要将信号绑定到市场并进行交易,请接着阅读 strategy.md。
  • strategy.md — 端到端创作并运行由信号驱动的原生守护进程策略(将 om signal——基于事件监视或市场指标——绑定到固定市场,作为 om strategy,并使用 om strategy resume 启用,再在运行中的守护进程下验证;通过 Polymarket CLOB 或 Hyperliquid 执行)。用户想将事件/新闻或指标信号接入自动交易、询问策略如何运行,或询问策略为何没有交易时阅读。
  • rooms-docs.md — OM Rooms 聊天的动态文档层:空间资料库(每份文档一个最新版本、CAS 修订、om://doc 标签)和 doc_* 通道动词(列出/读取/搜索/历史/写入,以及移动/还原/归档/恢复/访问)。在包含文件或文档的聊天房间中工作时阅读:用户询问此频道中有哪些文件、想将对话保存到文档、提及 om://doc 标签,或要求编辑、重命名、归档、还原、共享、归档处理或限制文档访问时阅读。
  • secrets.md — 密封(端到端加密)的聊天消息:/secret、收件人卡片、恢复码。发送私密/密封消息或恢复秘密内容时阅读。

渠道

om setup <name> 用于绑定一个出站通知渠道。路由采用物化方式——告警会在顶层存储其确切的 channels: string[](渠道 ID),读取时不会扇出。创建时如果没有 channels[],则会分配到已配置的默认渠道(通过 om setup default <name> 设置);如果只配置了一个渠道,则分配到该渠道;如果配置了多个渠道但未设置默认渠道,则拒绝创建(传入 --channel <name> 或设置默认渠道:om setup default <name>);如果未配置任何渠道,则仅创建卡片(不推送,也不会由 Agent 接管)。绑定第一个渠道时,也会将所有仍仅为卡片的告警和监视项路由到该渠道,因此在渠道尚不存在时编写的规范也会获得实际目的地(之后添加第二个渠道不会重新分配任何内容)。

渠道设置
telegramom setup telegram --token <bot-token> --chat-id <id>(或使用交互模式)
discordom setup discord --webhook-url <url>(或使用交互模式)
slackom setup slack --webhook-url <url>(或使用交互模式)
webhookom setup webhook --webhook-url <url> [--bearer-token <token>](向任意 http(s) 端点发送通用 JSON POST;告警触发时会附带结构化的 alert 块)

交互模式(不带凭据标志)会先提示输入渠道名称(默认使用适配器 ID,例如 telegram / discord),然后收集凭据——与 om init 相同。传入 --name <name> 可跳过该提示,并在命令行中提供名称。传入 --default 可将新渠道设为未显式指定 channels[] 字段的告警的默认渠道。

默认渠道管理:om setup default(显示当前默认渠道)、om setup default <name>(设为默认渠道)、om setup default --clear(移除默认标记;配置了多个渠道时,在设置默认渠道或指定渠道名称之前,不带 channels[] 的创建会被拒绝)。om setup list 会显示 DEFAULT 列,并在默认渠道所在行旁标记 *。

单渠道查看与路由:om channel <name>(名称、ID 或 default)会显示一个渠道绑定的对话线程,以及路由到该渠道的所有告警和监视项;还支持 --add <alert-id|watch-slug> / --remove <alert-id|watch-slug>,用于将规范路由到该渠道或从该渠道移除;支持 --rename <new-name> 用于重命名渠道(其路由会随之更新);以及 --format json。如果某项规范触发时会直接在此处发布(该渠道已超过唤醒上限),命令会对此进行标记,并在脚注中注明与其共享同一聊天的其他渠道。

系统生命周期消息(运行器启动 / 停止、告警暂停 / 恢复)始终会扇出到所有已配置的渠道——默认渠道偏好仅适用于告警触发消息。

om setup openclaw 是一套独立流程——它会将 OM 技能安装到本地 OpenClaw,并将 OpenClaw 的 webhook 注册为直通目标(原始接收 JSON,不由运行器渲染)。

运行器

om service install 会注册一个 launchd(macOS)或 systemd --user(Linux)单元,在后台运行 tick 循环。每次 tick 都会重新读取 ~/.openmarket/alerts/*.json(默认间隔为 10s,可通过 --interval-ms 覆盖),评估每个提醒,并在条件为 TRUE 时触发(循环模式),或触发一次后终止(单次模式),然后通过直接 HTTPS POST 分发到已配置的渠道。对于类型化条件,边缘语义由叶运算符(crosses_above / crosses_below)决定;对于自定义脚本条件,则由脚本正文决定——运行器本身不做判断。生命周期命令:om service [start|stop|restart|status|logs|uninstall]。前台模式(om run,不带 --service)是用于开发循环的变体——使用相同的评估器,不进行守护进程化。原生 Windows 仅支持前台模式(尚未集成任务计划程序)。

runner.log 中每次 tick 的日志行格式为 [tick] scanned=[ids] evaluated=[ids] fired=[ids] errors=[ids]。每个方括号列表都是该类别中的提醒 ID 集合,而不是数字元组——scanned=[2,1] 表示已扫描提醒 2 和 1,fired=[2] 表示提醒 2 在本次 tick 中触发。

只要运行器处于运行状态——无论是前台运行 om run,还是后台运行 om service install——它还会在 :31337 上提供本地 HTTP 接口:/healthz、/rpc/v1/alert/*(通过 HTTP 进行 CRUD 操作)、/events/v1(SSE 流——alert_fired、event_watch_fired、channel_delivered、channel_failed、tick_completed)、/api/v1/*(上游 REST 代理)、/ws/v1/*(WebSocket 代理)。大多数 om alert * CLI 命令在运行器可访问时会通过 /rpc/v1/alert/* 路由;不可访问时则回退到直接写入文件系统,因此无论哪种情况都能创建提醒。om alert watch 是唯一需要运行器的命令(它会使用 /events/v1)。

打包到二进制文件中

编译后的 om 二进制文件通过 Bun 的文本导入嵌入这些文件,因此即使仓库不在磁盘上,om skill show [name] 也能正常工作:

// packages/cli/src/skills/package.ts
import skill from "../../../../skills/SKILL.md" with { type: "text" };
import alerts from "../../../../skills/alerts.md" with { type: "text" };
import orders from "../../../../skills/orders.md" with { type: "text" };
import metrics from "../../../../skills/metrics.md" with { type: "text" };
import marketplace from "../../../../skills/marketplace.md" with { type: "text" };
import chartActions from "../../../../skills/chart-actions.md" with { type: "text" };
import eventWatches from "../../../../skills/event-watches.md" with { type: "text" };
import news from "../../../../skills/news.md" with { type: "text" };
import research from "../../../../skills/research.md" with { type: "text" };
import signal from "../../../../skills/signal.md" with { type: "text" };
import strategy from "../../../../skills/strategy.md" with { type: "text" };

om skill list 会列出这些文件;om skill show [name] 会将其中一个输出到标准输出。

已安装的副本不会包含下方生成的命令参考:只要有可用的 shell,om --help 和 om <command> --help 就是实时命令接口,且始终与已安装的二进制文件保持同步。

命令参考

  • om block-sizes(操作:block_sizes)——列出支持的热力图块大小,即可作为 --block-size 传递给 BLOCK_BOOK_SNAPSHOT_AGG 点位查询的值。

  • om coins(操作:coins)——列出支持的基础币种(BTC、ETH、……),也可按元数据筛选。

  • om config——(定制命令;参见上文说明)

  • om config key-info(操作:config_key_info)——解码已配置的 OpenMarket API 密钥(JWT),并展示其声明——层级、账户 ID(sub)、令牌 ID(jti)、签发和过期时间戳。

  • om config show(操作:config_show)——检查本地 OpenMarket CLI 配置:当前使用的 API 密钥(返回时会脱敏,并注明来源——环境变量还是已存储)、是否有 OM_API_KEY 环境变量覆盖了另一个已存储密钥、已配置的通知渠道(telegram / discord / openclaw / ……)——每个渠道都会显示 id,提醒或监视项的 channels[] 会引用该 ID,因此你可以为规范指定发布位置,而不必引用原始 ID——未指定目标的新提醒创建时默认使用哪个渠道,以及是否启用了匿名舰队遥测(telemetry.fleet)。

  • om enum(操作:enum)——从 SDK 导出已知枚举值——交易所、数据类型、间隔、排序字段、polymarket 字段等。

  • om exchanges(操作:exchanges)——列出符合给定筛选条件的交易所。

  • om logs(操作:logs_tail)——返回运行器守护进程 runner.log 中最近的 N 行(以及轮转归档文件,按从旧到新的顺序读取)。

  • om markets(操作:markets)——列出可交易市场,可按交易所 / 币种 / 类别 / 类型筛选,也可按可选的符号子串筛选。

  • om normalized-symbols(操作:normalized_symbols)— 列出符合给定元数据筛选条件的规范化符号(例如 BTC-USDT)。

  • om points(操作:points)— 获取历史市场数据:K 线(TRADE_SIDE_AGNOSTIC_AGG)、未平仓合约量(OPEN_INTEREST_AGG)、资金费率(FUNDING_RATE_AGG)、强平数据(LIQUIDATION_AGG)、成交量分布、TPO 时段、热力图快照。

  • om polymarket leaderboard(操作:polymarket_leaderboard)— 按盈亏、ROI、胜率、成交量或活跃度排名的 Polymarket 顶级钱包。

  • om polymarket market-summary(操作:polymarket_market_summary)— 汇总单个 Polymarket 市场的统计数据(总成交量、交易者数量、顶级钱包)。

  • om polymarket platform-distribution(操作:polymarket_platform_distribution)— 按可配置的百分位区间或十分位区间,统计 Polymarket 交易者、成交量或活跃度的分布。

  • om polymarket platform-summary(操作:polymarket_platform_summary)— Polymarket 全平台汇总数据:交易者总数、成交量、市场数量。

  • om polymarket positions(操作:polymarket_positions)— Polymarket 持仓条目。

  • om polymarket trader-profile(操作:polymarket_trader_profile)— 单个交易者钱包的完整 Polymarket 统计数据:已实现/未实现盈亏、持仓数量、胜率、持仓时长。

  • om polymarket user-categories(操作:polymarket_user_categories)— 单个交易者活动的类别细分(选举 / 体育 / 加密货币 / …)。

  • om send(操作:send_message)— 向已配置的频道发送一次性消息(telegram / discord / 通用 webhook / …)。

  • om service — (定制命令;参见上文说明)

  • om service install(操作:service_install)— 将 OpenMarket 守护进程安装为 launchd plist(macOS)或 systemd --user 单元(Linux)。

  • om service logs(操作:logs_tail)— 返回运行器守护进程 runner.log 最近的 N 行(以及轮转归档文件,按从旧到新的顺序遍历)。

  • om service restart(操作:service_restart)— 通过监管程序停止并启动 OpenMarket 守护进程(launchd:bootout + bootstrap;systemd:原生重启)。

  • om service start(操作:service_start)— 启动 OpenMarket 守护进程(如果已在运行则不执行操作)。

  • om service status(操作:service_status)— 报告本地 OpenMarket 守护进程(launchd/systemd 单元)的安装和运行状态。

  • om service stop(操作:service_stop)— 停止 OpenMarket 守护进程。

  • om service uninstall(操作:service_uninstall)— 停止 OpenMarket 守护进程并移除其 launchd plist / systemd 单元。

  • om status(操作:system_status)— 一次调用检查所有有状态的本地信息:版本状态(CLI 构建版本、守护进程构建版本、最新发行版、是否有可用更新?)、守护进程是否正在运行、是否已配置 API 密钥(已遮蔽 + 来源)、LLM 身份验证信息(提供商/模型/配置/凭据类型)、通知频道 + 默认频道、已配对的交易平台(Hyperliquid:地址 + 构建者审批 + 网络;Polymarket:签名者 + 资金方 + 钱包类型 + 网络)、活跃警报数量、事件监视数量、设置覆盖项(history_turns、各提供商模型)。

  • om symbols(操作:symbols)— 列出符合给定元数据筛选条件的交易所原生符号。

  • om tenors(操作:tenors)— 列出符合给定元数据筛选条件的可用期权期限(ONE_W、ONE_M、…)。

  • om upgrade(操作:system_upgrade)— 将 om 二进制文件更新到最新发行版,并在其上重启守护进程。

  • om usage(操作:usage)— 报告已通过身份验证的账户当前 API 配额用量:limit(每个时间窗口的权重)、used、remaining、reset(Unix 秒)、window_seconds。

  • om wrun create(操作:wrun_create)— 创建 WRUN 编写工作区的脚手架。

  • om wrun list(操作:wrun_list)— 列出已安装的 WRUN 软件包和指标 ID。

  • om wrun source set(操作:wrun_source_set)— 将一个 Polymarket 市场设为 WRUN 赔率输入源。

评论

支持 Markdown