Install
openclaw skills install metric-platformMetricHub多租户指标平台全流程编排:指标目录浏览、查询构建执行(九条铁律/九条消歧规则/快速计算语法)、数据可视化推荐、仪表盘编排。触发:查询指标、同环比、占比、排名、时间限定、metricDefinitions、timeConstraint、filters、dimensions、查看指标目录、创建仪表盘、配置Gateway
openclaw skills install metric-platformMetricHub 是一个多租户 SaaS 指标平台,基于 Aloudata CAN Gateway 语义层 API。提供以下核心能力:
当用户意图可以通过浏览器操作完成时,引导用户前往对应页面:
| 用户意图 | 操作 |
|---|---|
| "查看指标目录""有哪些指标""搜索指标" | 导航到 /:workspaceSlug/catalog |
| "查询XX指标""帮我分析XX" | 导航到 /:workspaceSlug/query 并预填充指标 |
| "查看仪表盘""创建仪表盘" | 导航到 /:workspaceSlug/dashboards |
| "配置 Gateway""设置 API Key" | 导航到 /:workspaceSlug/settings/gateway |
| "查看查询历史" | 导航到 /:workspaceSlug/query/history |
以下内容从 metric-query 1.0.2 SKILL.md 原封不动保留,作为平台查询能力的核心知识:
注意: 当用户需要直接通过 Agent 构建并执行查询 JSON 时,使用本节的所有规则。当用户已登录 MetricHub 前端平台时,引导用户在平台上操作。
Gateway Search API: GET {api_base_url}/api/metrics/search?keyword={关键词}
Gateway Metrics Query API: POST {api_base_url}/api/metrics/query
所有 Gateway 调用通过 MetricHub 后端代理(POST /api/v1/workspaces/{id}/queries/execute),API Key 由平台按工作空间管理。
铁律 1 — 相对时间必须用 NOW(),禁止硬编码日期
"上月""上周""本年""昨天""近N天""去年""本季""上季" → 必须 NOW()。
铁律 2 — metricDefinitions 中每个 key 必须同时在 metrics 数组中(包括辅助指标) 定义了就必须注册。辅助计算指标也必须显式列为 metric。
铁律 3 — 占比/排名 + filters = 分母/范围被缩小 → 结果恒 100%/恒为 1
要"某个值在全局中的占比/排名" → 用 resultFilters 做展示筛选,不用 filters。
铁律 4 — "同比"默认 = yoy;带粒度前缀时按前缀选择
yoymom;"周同比" → wow;"季同比" → qoq铁律 5 — 一个指标只能做一次快速计算,不可链式叠加 需要多步(如先算环比再排名)→ 用 metricDefinitions 分步。
铁律 6 — MetricMatches 只能在 metricDefinitions 的 filters 中使用 禁止放在顶层 filters。
铁律 7 — 派生指标的 metric_time 粒度限制必须遵守 标注"仅支持日粒度"的派生指标只能在 timeConstraint 锚定到天粒度时使用。
铁律 8 — "月变化趋势"中的占比/排名范围维度必须是 metric_time__month
铁律 9 — 上下文不足时必须拒绝生成查询,返回空 JSON {}
同环比: {指标}__sameperiod__{偏移粒度}__{方法}
dod, wow, mom, qoq, yoy, moeom, qoeoq, yoeoyvalue, growthvalue, growth, decrease, decreaserate占比: {指标}__proportion__{范围维度}
proportion__ = 全局占比;proportion__dim_A = 组内占比排名: {指标}__{方式}__{顺序}__{范围维度}
rank / rankDense / rowNumber;顺序: desc / asc时间限定: {指标}__period__{限定}
7d, 3w, 6m, 2q, 1yytd, qtd, mtd, wtd| 属性 | 说明 |
|---|---|
refMetric | 引用已有指标 |
expr | 复合表达式 "[m1]+[m2]" |
period | 时间限定(仅支持相对偏移) |
preAggs | 时间维度多层聚合(数组格式 [{...}]) |
filters | 业务限定(支持 MetricMatches) |
indirections | 衍生方式(同环比/占比/排名/多层聚合) |
specifyDimension | 聚合维度控制(EXCLUDE) |
| 用户说 | timeConstraint |
|---|---|
| 昨天 | "['metric_time__day']= DATEADD(DateTrunc(NOW(), \"DAY\"), -1, \"DAY\")" |
| 今天 | "['metric_time__day']= DateTrunc(NOW(), \"DAY\")" |
| 上周 | "DateTrunc(['metric_time'], \"WEEK\") = DATEADD(DateTrunc(NOW(), \"WEEK\"), -1, \"WEEK\")" |
| 本周 | "DateTrunc(['metric_time'], \"WEEK\") = DateTrunc(NOW(), \"WEEK\")" |
| 上月 | "DateTrunc(['metric_time'], \"MONTH\") = DATEADD(DateTrunc(NOW(), \"MONTH\"), -1, \"MONTH\")" |
| 本月 | "DateTrunc(['metric_time'], \"MONTH\") = DateTrunc(NOW(), \"MONTH\")" |
| 上季 | "DateTrunc(['metric_time'], \"QUARTER\") = DATEADD(DateTrunc(NOW(), \"QUARTER\"), -1, \"QUARTER\")" |
| 本年 | "DateTrunc(['metric_time'], \"YEAR\") = DateTrunc(NOW(), \"YEAR\")" |
| 去年 | "DateTrunc(['metric_time'], \"YEAR\") = DATEADD(DateTrunc(NOW(), \"YEAR\"), -1, \"YEAR\")" |
| 近7天 | "DateTrunc(['metric_time'], \"DAY\") >= DATEADD(DateTrunc(NOW(), \"DAY\"), -7, \"DAY\") AND ['metric_time__day'] < DateTrunc(NOW(), \"DAY\")" |
| 近30天 | "DateTrunc(['metric_time'], \"DAY\") >= DATEADD(DateTrunc(NOW(), \"DAY\"), -30, \"DAY\") AND ['metric_time__day'] < DateTrunc(NOW(), \"DAY\")" |
| 近12个月 | "DateTrunc(['metric_time'], \"MONTH\") >= DATEADD(DateTrunc(NOW(), \"MONTH\"), -12, \"MONTH\") AND DateTrunc(['metric_time'], \"MONTH\") < DateTrunc(NOW(), \"MONTH\")" |
DateTrunc('YYYY-MM-DD', ...)metric__sameperiod__mom__growth__rank__desc__dimproportion__metric_time__DAY 导致报错根据查询结果类型推荐最佳图表类型:
| 数据类型 | 推荐图表 | ECharts 类型 |
|---|---|---|
| 时间序列(单维度+时间) | 折线图 | line |
| 时间序列(多指标) | 面积图 | area |
| 维度对比(少类别) | 柱状图 | bar |
| 占比数据 | 饼图 | pie |
| 双变量关系 | 散点图 | scatter |
| 排名数据 | 排行榜表格 | table |
| 汇总数值 | 指标卡 | metric_card |
支持以下操作:
/api/v1/workspaces/{id}/dashboards/api/v1/workspaces/{id}/dashboards/{db_id}/chartsrefresh_interval 秒数,0 表示不自动刷新/:workspaceSlug/dashboards/:id/full/api/v1/workspaces/{id}/gateway/config 配置)admin(管理员)/ editor(编辑者)/ viewer(查看者)