SKILL.md 13 KB


name: wind-hazard-diagnosis

description: 风速风量监测与隐患判识:查询平台测风装置实时数据,结合云通防知识库判识风速超限/风量不足/重大隐患,输出固定格式md报告。触发词:"查询当前风速风量"、"测风数据有没有问题/隐患"、"风速风量隐患判识"

风速风量监测与隐患判识(wind-hazard-diagnosis)

通用 skill:当用户提到「查询当前风速风量数据及是否存在问题/隐患」「测风数据判识」「风速风量有没有问题」等意图时自动启用。不局限于特定 agent,任何具备以下依赖的环境均可运行。

依赖(写死,运行前先确认可用)

  • MCP 服务器 tf_mcp:提供测风装置/实时数据/需风量查询工具(query_device_infoquery_device_data_by_idget_needq_all_dataexecute_sql_queryget_device_kind_dict 等)。
  • 云通防知识库http://39.97.59.228:8067(Obsidian Vault Knowledge Service,/api/search/api/retrieve/api/context)。
  • 若以上不可用:明确告知用户"缺少 tf_mcp 或云知识库,无法完整执行",并说明缺哪一环。

执行流程

Step 1 获取测风装置全量清单

  1. mcp__tf_mcp__get_device_kind_dict 确认测风装置大类为 windrect(小类:windrect_dd/ds/ds_two/ds_two_235/ds_four/rect/normal/sensor/siyoute/test 等)。
  2. mcp__tf_mcp__query_device_info(device_kind="windrect") 或 SQL SELECT gdeviceid, strName, strInstallPos, gdevicetype, nSubStationID FROM device WHERE gdevicetype LIKE 'windrect%' 获取全量清单。
  3. 标注设备类别:
    • 测试/模拟设备:类型含 test,或名称匹配 测风N测试多参传感器test25xd**矿井进风/回风 等 → 标记为"测试设备"。
    • 真实测点:其余。

Step 2 逐台获取实时数据

对每台设备调用 mcp__tf_mcp__query_device_data_by_id(device_id=...)必须逐台调用,不支持逗号批量)。 提取字段:windSpeed/va(风速 m/s)、airVolume/m3(风量 m³/min)、temperaturetTime(采样时间)、netStatuscachedAlarms(活跃报警)、alarmLogs(历史报警)。

  • netStatus 为空或 0、无 windSpeed → 记录"无实时数据/离线"。
  • 模拟数据识别:若多台设备数据呈高度雷同规律值(如风速≈1.3x 或 3.2x、风量≈120x、温度≈33~34℃、sourcePressure≈8~9),且风量 ≠ 风速×断面×60,判定为分站模拟/仿真数据,标注"模拟数据,不可用于生产判识"。

Step 3 判定巷道类型(确定风速上下限依据)

优先级:

  1. 绑定信息优先:若设备查询结果/wind 表/模型数据中带有明确的巷道类型(strTypemodeltype、巷道属性等),直接采用并在报告中注明"绑定信息"。
  2. 名称关键词推断(无绑定信息时),规则表:
    • 无提升设备的风井/风硐 → 上限 15
    • 专为升降物料的井筒 → 上限 12
    • 风桥 → 上限 10
    • 升降人员和物料的井筒(副井、副斜井、主斜井带提升)→ 上限 8
    • 总进风巷/总回风巷/回风大巷/进风大巷 → 上限 8
    • 架线电机车巷道 → 下限 1.0 / 上限 8
    • 箕斗提升井兼作进风 → 上限 6
    • 装有带式输送机兼作回风的井筒 → 上限 6
    • 输送机巷、采区进/回风巷、胶运/胶带/皮带巷、顺槽(胶运/回风)→ 下限 0.25 / 上限 6
    • 装有带式输送机兼作进风的井筒 → 上限 4
    • 采煤工作面、掘进中的煤巷和半煤岩巷、工作面进/回风 → 下限 0.25 / 上限 4
    • 掘进中的岩巷 → 下限 0.15 / 上限 4
    • 其他通风人行巷道、辅运/行人巷 → 下限 0.15 / 无上限
  3. 报告中注明每台设备的判定依据(绑定信息 or 关键词推断),供人工核对。

Step 4 知识库佐证限值

web_fetch 调云知识库确认限值表未过时: http://39.97.59.228:8067/api/search?q=井巷允许风流速度 最低 最高 总回风巷 采煤工作面&mode=keyword&top_k=5&min_score=0.1 将命中片段(如《煤矿安全规程》2025版 表6 / AQ1028-2006 表2)作为引用出处写入报告。若检索不到或分过低,以 Step 3 规则表为准并注明"知识库未检索到佐证"。

Step 5 风速超限判定

每台设备:实测风速 vs [下限,上限]:

  • 风速 > 上限 → 🔴 超速(写明超限百分比与限值来源)。
  • 风速 < 下限 → 🔴 欠速/风速不足(通风不良风险)。
  • 在区间内但贴近边界(≥85%上限)→ 提示"接近上限"。

Step 6 需风量关联与风量不足判定(核心)

  1. mcp__tf_mcp__get_needq_all_data 获取全量需风量:采煤面 retWorkFaceList、掘进面 headingFaceList、硐室 roomList、其他用风点 otherList、通风系统 ventilationSystemList
  2. 筛选最新月份:按 nyear/nmonth(及 time)取最新一期数据,避免多月份重复记录干扰。
  3. 关联顺序(每个测点依次尝试,命中即停):
    • ① 巷道 ID 精确关联:测风装置 windnTunIDquery_device_data_by_id 返回的 tunnelId,匹配需风量地点的 tunIDs 列表(逗号分隔),命中 → 关联成功,依据=巷道ID。
    • ② 名称模糊匹配兜底:规范化(去空格/单位/方位词)后,测点名称(或安装位置)与需风量地点 strName 满足"一方包含另一方 ≥1 个长度≥2 的核心词"(如"42上工作面""15211回风""充电硐室"),命中 → 关联成功,依据=名称匹配。
    • ③ 不满足匹配条件 → 显示「未匹配到对应用风地点」。若该测点为系统/区段巷道(总进回风巷、大巷等),追加与所属通风系统 ventilationSystemListqra(系统总需风量)做系统级对比,并注明。
  4. 判定:监测风量 < 需风量(fqneedfqmax,取 fqmax 为准并列出两者)→ 风量不足预警。
  5. 回复中必须逐条明示(人工排查关联是否错误的关键): > 监测风量 [数值] m³/min ←→ 需风量位置:「[地点名]」需风量 [fqneed/fqmax] m³/min(关联依据:巷道ID xxx / 名称匹配 / 未匹配到对应用风地点)

Step 7 重大隐患比对

  1. 知识库检索重大隐患条款:/api/search?q=煤矿重大事故隐患判定标准 通风 风量不足 需风量&mode=keyword。核心红线:《煤矿重大事故隐患判定标准》第八条:实际供风量 < 需风量 × 75% → 通风系统重大事故隐患
  2. 判定:
    • 系统级:总进/回风测点风量(或系统进风合计)< 该系统需风量 × 75% → 🔴 构成重大事故隐患风险。
    • 用风点级:监测风量 < 该地点需风量 × 75% → 🔴 该地点供风严重不足(同条款精神)。
    • 数据不可靠(模拟/缺失/异常值)无法支撑判定 → 明确写"当前数据不足以支撑重大隐患直接判定",并列出阻断判定的原因。
  3. 其他隐患(离线、超速、活跃报警、数据失配、测点失效)逐一与重大隐患条款比对,说明是否触碰红线。

Step 8 输出整体结论

回复结构(会话形式即可,无需固定模板但须包含):

  • 总览:总测点数 / 有效数据数 / 离线数 / 超速数 / 风量不足数 / 活跃报警数。
  • 分级清单:🔴 高风险(离线、超速、活跃报警、风量严重不足)→ 🟠 中风险(数据失配、接近限值)→ 🟡 提示(模拟数据、测试设备、台账问题)。
  • 重大隐患结论:构成 / 不构成 / 数据不足无法判定(三者取一,给出依据)。
  • Step 6 的关联明细表(监测风量→需风量位置/数值/关联依据)必须完整呈现。

Step 9 询问并生成报告

  1. 流程结束用 ask 工具询问(无 ask 环境用文字问):「是否生成 md 分析报告?」
    • 选项:生成(默认,含完整数据表)/ 不生成(仅会话结论)。
  2. 用户同意 → 生成 md 文件:
    • 文件名固定测风装置实时数据分析报告_YYYY-MM-DD.md(YYYY-MM-DD = 数据采样日期;同日重复生成直接覆盖旧文件)。
    • 路径固定:当前工作区根目录(用户另行指定路径时除外)。
    • 格式必须严格按下方「固定报告格式」章节执行,不得自行增删章节/表格列/判定用语。
  3. 用户拒绝 → 仅输出会话结论,不写文件。

固定报告格式(必须严格遵守,每次输出一致)

规则:章节顺序固定;无内容章节保留标题并写"无";表格列名固定不可增减;判定用语使用固定词表。任何一次生成都不得改变本格式。

文件

测风装置实时数据分析报告_YYYY-MM-DD.md

报告骨架(章节顺序固定,编号 0 至 八 不可变)

# 测风装置实时数据分析报告(风速风量监测与隐患判识)

## 0. 报告元信息
| 字段 | 内容 |
|---|---|
| 报告名称 | 测风装置实时数据分析报告 |
| 生成时间 | <本地时间> |
| 数据采样时间 | <平台实时数据 tTime 起止范围> |
| 数据来源 | tf_mcp:device表 / query_device_data_by_id / get_needq_all_data |
| 判识知识库 | 云通防知识库 http://39.97.59.228:8067 |
| 判识标准 | 《煤矿安全规程》2025版表6 / AQ1028-2006表2 / 《煤矿重大事故隐患判定标准》第八条 |
| 测风装置总数 | <N> 台(真实测点 <X> / 测试设备 <Y>) |
| 生成方式 | wind-hazard-diagnosis skill 自动生成 |

## 一、判识框架与标准
(固定四要素:①速域判识 ②量纲判识 ③红线判识 ④测风管理;附《煤矿安全规程》2025版表6 允许风流速度全表,每次照抄不省略行)

## 二、总体结论
### 2.1 总览表(固定行)
| 指标 | 数值 |
|---|---|
| 测风装置总数 | |
| 有实时数据测点 | |
| 离线/无数据 | |
| 超速(含疑似) | |
| 风量不足 | |
| 活跃报警 | |
| 数据失配/模拟 | |
| 重大隐患结论 | 构成 / 不构成 / 数据不足无法判定 |

### 2.2 重大隐患判定(固定格式)
**结论:<三选一>**
判定依据:……
阻断原因(仅"数据不足无法判定"时列出,编号列表):

## 三、逐台判识明细(固定 13 列;测试设备并入表底并标注)
| 序号 | 设备ID | 测点名称 | 设备类型 | 巷道类型(判定依据) | 风速(m/s) | 风量(m³/min) | 限值(最低~最高) | 风速判定 | 风量校验 | 需风量关联 | 报警/状态 | 问题分级 |

## 四、需风量关联明细(固定 7 列,供人工排查关联)
| 测点名称 | 监测风量(m³/min) | 需风量位置 | 需风量fqneed | 需风量fqmax | 关联依据 | 对比判定 |

## 五、需风量数据全表(平台最新月份,固定 6 列)
| 用风地点 | 类型 | fqneed(m³/min) | fqmax(m³/min) | 所属通风系统 | 系统总需风qra(m³/min) |

## 六、隐患分级清单(固定三级,编号格式固定)
### 🔴 高风险
1. <测点>:<问题描述>(<判定依据>)
### 🟠 中风险
1. <测点>:<问题描述>(<判定依据>)
### 🟡 提示
1. <测点>:<问题描述>(<判定依据>)

## 七、整改建议(固定编号列表,按 🔴🟠🟡 顺序归类)

## 八、判识依据出处(固定列表:note_id / 标准号 / 条款)

> 尾部声明(固定段落,不可省略):
> 本报告基于 <采样时间> 平台实时快照,由 wind-hazard-diagnosis skill 自动生成。测风装置数据质量参差(模拟/失配占比 <N>%),判定以"需核查项"为主;重大隐患结论受数据可靠性限制未直接认定时,建议结合每旬人工测风数据复核后形成正式结论。

固定用语词表(判识/填写时只允许使用下列用语)

  • 风速判定正常 / 接近上限 / 超速 / 欠速 / 疑似超速 / 无法判识(超上限/低于下限时附"超/欠 X%")
  • 风量校验(风速×断面×60 vs 上报风量):一致(±10%内)/ 不符(10%~50%)/ 严重不符(>50%)/ (无断面或数据)
  • 需风量关联依据巷道ID匹配 / 名称匹配 / 未命中
  • 需风量位置(未命中时固定写):未匹配到对应用风地点
  • 问题分级高风险 / 中风险 / 提示(对应 🔴🟠🟡)
  • 重大隐患结论构成 / 不构成 / 数据不足无法判定(三选一)

填充规则

  • 每章内容为空时:保留该章标题,正文写"无"。
  • 表格无数据行时:保留表头,正文写"无数据"。
  • 判定用语必须取自词表;限值、依据、出处必须与知识库检索结果一致。