Communitygithub.com

iaiops —— 工业数据采集与智能排障

一个受管控的 MCP 服务,提供 66 个工具,覆盖 8 种工业协议,并内置跨协议智能分析层。

iaiops —— 工业数据采集与智能排障 是什么?

iaiops 是一个工业级 AI 运维(AIOps)技能,通过一个统一的 MCP 服务器暴露 66 个工具,支持 OPC-UA、Modbus、Siemens S7、Mitsubishi MELSEC、MTConnect、MQTT/Sparkplug B、Allen-Bradley EtherNet/IP 和 EtherCAT 等 8 种主流工业协议。所有工具均经过 iaiops 治理框架(审计、预算、风险分级、撤销)管控,并且严格遵循“只读优先”原则——6 个写入工具默认处于高风险(HIGH)、模拟运行(dry_run=True)状态,需要二次确认并捕获变更前的值以备撤销。其跨协议智能层提供了诸如数据流诊断、历史数据健康检查、ISA-18.2 报警泛滥分析、OEE 计算、资产主动发现等高级分析能力。iaiops 适合在 Claude Code、Cursor、Codex 等 AI 开发环境中使用,帮助运维和开发工程师快速诊断 OT 网络中的数据断流、标签异常、设备离线等问题,而无需直接连接生产控制系统。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add industrial-aiops/industrial-aiops

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

iaiops —— 工业数据接入 + 智能排障

一个受管控的 MCP 服务器,暴露 66 个工具,覆盖 8 种工业协议,并包含跨协议智能层。每个工具都经由 iaiops 治理框架(审计/预算/风险分级/撤销)运行。只读优先。 6 个写入工具按变更管理(MOC)进行管控:risk=HIGH, dry_run=True 默认,CLI 需二次确认,变更前值会捕获以支持撤销。禁止在未授权情况下向生产控制系统写入。 支持预览/模拟或仿真验证——请在实际设备上核实。从 protocols_supported 查看配置,然后用 <协议> doctor 测试连接。

何时路由至此

任务提及:OPC-UA / opc.tcp, Modbus, Siemens S7 / S7-1200/1500, Mitsubishi / MELSEC, MTConnect / CNC 机床监控, MQTT / Sparkplug B / 统一命名空间, Allen-Bradley / ControlLogix / CompactLogix / EtherNet-IP, EtherCAT / CoE / SDO / PDO / SOEM, OEE / 停机, OT 资产清单, “无数据/标签卡死”诊断, 报警泛滥 / ISA-18.2。

各协议工具

OPC-UA(只读)—— opc.tcp 端点

  • opcua_server_info —— 状态、构建信息、命名空间数组
  • opcua_browse —— 从节点 ID 浏览节点树(限定深度)
  • opcua_read_node —— 值 + 数据类型 + 源时间戳 + 状态码
  • opcua_read_many —— 批量读取节点 ID(有界)
  • opcua_subscribe_sample —— 有界采样,然后返回(不会循环)
  • opcua_read_alarms —— 尽力尝试获取活动报警/条件
  • opcua_read_history —— 历史访问(HDA):在 [开始,结束] 窗口内的原始历史数据
  • health_summary —— 根据警告/报警阈值对节点 ID 进行分类
  • anomaly_scan —— 对某个节点进行采样,标记统计异常值

Modbus-TCP(此处只读)

  • modbus_read_holding (FC03), modbus_read_input (FC04), modbus_read_coils (FC01), modbus_read_discrete (FC02) —— 带解码提示
  • modbus_health_summary —— 根据阈值对寄存器分类

Siemens S7comm(pyS7;S7-300/400/1200/1500)

  • s7_cpu_info —— CPU 标识 + 运行/停止状态
  • s7_read_area —— 从 S7 内存区域读取 N 个指定类型的项
  • s7_read_db —— 从数据块读取 N 项
  • s7_read_many —— 批量读取原始 pyS7 地址字符串
  • s7_write_db —— [写入][高][变更管理] 向 DB 写入一个值(默认关闭)

Mitsubishi MC(pymcprotocol 3E;Q/L/iQ)

  • mc_cpu_status —— MELSEC CPU 类型/代码
  • mc_read_words / mc_read_bits —— 从首设备批量读取字/位设备
  • mc_read_many —— 一次请求中随机读取分散的字 + 双字
  • mc_write_words —— [写入][高][变更管理] 写入字(默认关闭)

MTConnect(只读;所有 CNC 机床)

  • mtconnect_probe —— 设备模型(设备 → 组件 → 数据项)
  • mtconnect_current —— 每个数据项的最新值(设备快照)
  • mtconnect_sample —— 最近观测数据的有界流
  • mtconnect_assets —— 切削刀具/夹具/程序
  • mtconnect_oee_snapshot —— 可用性/执行/模式/程序(OEE 输入)

MQTT / Sparkplug B / UNS(paho-mqtt;完整 Tahu protobuf 解码)

  • mqtt_read_topic —— 普通 MQTT 有界消息收集
  • sparkplug_decode_payload —— 将一条原始 Sparkplug B 载荷解码为指标
  • sparkplug_subscribe_sample —— 有界采样,完整解码(包含出生/死亡/序列号)
  • sparkplug_node_list —— 边缘节点/设备 + 在线状态 + 主主机状态
  • uns_browse —— 在某个过滤器下浏览实时主题树(UNS)(有界)
  • mqtt_publish —— [写入][高][变更管理] 向主题发布/发送命令(默认关闭)

Allen-Bradley EtherNet/IP(pycomm3;ControlLogix/CompactLogix)

  • eip_controller_info —— 控制器标识(验证 CIP 链路)
  • eip_list_tags —— 发现控制器标签列表(名称/类型/结构)
  • eip_read_tag —— 读取一个标签(或数组元素)及其类型
  • eip_read_many —— 批量读取(自动多包)
  • eip_write_tag —— [写入][高][变更管理] 写入一个标签值(默认关闭)

EtherCAT(pysoem/SOEM;Linux + root/CAP_NET_RAW + 专用网卡 + 真实从站)

可选额外安装 pip install iaiops[ethercat];无软件仿真器(仅限硬件,不支持 macOS)。如果缺少 pysoem/权限/网卡/总线,工具会降级为提示性错误。

  • ethercat_master_state —— 主站/工作计数器状态 + 预期与实际从站数量
  • ethercat_slaves —— 总线扫描:枚举从站(ID/厂商/产品/版本/地址/AL 状态)
  • ethercat_slave_info —— 单个从站:SM/FMMU 配置 + 对象字典摘要
  • ethercat_read_sdo —— CoE SDO 上传(非周期性邮箱读取对象字典条目)
  • ethercat_read_pdo —— 单个从站输入过程数据映像的循环快照
  • ethercat_write_sdo —— [写入][高][变更管理] CoE SDO 下载(默认关闭)
  • ethercat_set_state —— [写入][高][变更管理] AL 状态切换(可启动/停止运动;默认关闭)

跨协议智能

诊断 —— skills 伞形目录:排障

  • diagnose_dataflow —— 定位端点可达跳段中的“无数据”中断
  • historian_health —— 对系列数据进行坏标签/平线/间隙检测
  • alarm_bad_actors —— 基于事件列表的 ISA-18.2 报警泛滥分析(速率 vs <6/12/30,帕累托违规者,抖动,持续)
  • tag_health —— 按质量不良/平线/越界/异常对标签违规者排序

分析

  • oee_compute —— OEE = 可用性 × 性能 × 质量
  • downtime_events —— 检测运行→停止转换,对停歇进行分类
  • oee_multidim —— 按设备×工件×班次聚合 OEE
  • asset_inventory —— 主动识别端点特征(厂商/型号/固件/协议)并纳入资产登记册(主动发现,非被动 SPAN/镜像)
  • monitor_changes —— 在有限窗口内仅捕获测点的值变化

元数据/路线图

  • protocols_supported —— 能力映射(协议、状态、工具、连接参数)
  • 路线图:EtherCAT EoE/FoE/SoE 邮箱协议;EtherNet/IP PLC-5 / SLC (PCCC)、Micro800;被动资产发现;OPC-UA 证书安全。

设置

iaiops init(交互式向导,按协议提示)写入 ~/.iaiops/config.yaml;凭据存入加密存储(~/.iaiops/secrets.enc,主密码通过 IAIOPS_MASTER_PASSWORD 提供)。运行 iaiops doctor 探测每个配置好的端点。完整的各协议参考、连接参数、仿真测试指南和 MCP JSON 示例见 README。

安全

只读优先。6 个写入工具(s7_write_db, mc_write_words, mqtt_publish, eip_write_tag, ethercat_write_sdo, ethercat_set_state)默认 dry_run=True,需要 CLI 二次确认,并从捕获的变更前值/状态记录撤销描述符。EtherCAT 状态变更可能启动或停止机器运动。未经授权不得将其指向生产控制系统。没有工具会返回机密信息。

相关技能