L'industrie sur des flux en direct.
Mesures capteurs, logs machine, état MES/ERP et scans partenaires se périment en secondes. Un pipeline qui tourne à côté de la ligne voit la dérive avant qu'elle devienne un arrêt — et ouvre l'ordre de travail avec le contexte dedans.
Chaque ligne, un flux en direct
Les passerelles publient les mesures capteurs en MQTT ou HTTP ; les logs machine arrivent en file-tail ; l'état MES et ERP se joint depuis des sources JDBC. Le dedup absorbe les retries des réseaux industriels instables, et l'ordre event-time honore les mesures même quand une passerelle a bufferisé hors-ligne puis les remonte en retard.
Une baseline par machine, la dérive en minutes
L'état par asset maintient des baselines glissantes : avg, stddev, min/max sur fenêtres. L'écart à la baseline propre de la machine — pas une constante fleet-wide — déclenche des stages de règles déterministes en microsecondes. Un capteur qui cesse de remonter est capté par des timers par clé : le silence aussi est un signal.
De l'anomalie à l'ordre de travail
Quand une baseline casse, un stage LLM rédige le contexte — qu'est-ce qui a dérivé, à quelle vitesse, contre quel historique — et un stage MCP ouvre l'ordre de travail dans votre CMMS et prévient le technicien. Les baselines statistiques marchent d'entrée ; votre propre modèle de défaillance s'insère comme un stage quand vous en avez un.
Corréler la commande avec la réalité
Un join flux-flux met en correspondance les bons de commande avec les scans d'expédition et les réceptions dans une fenêtre — les écarts sont les alertes : expédié-jamais-scanné, reçu-jamais-commandé, en retard sur la promesse. Chaque système partenaire s'y branche par webhook, polling ou dépôts de fichiers.
Conçu pour l'atelier
Tourne à côté de la ligne, pas à travers le WAN.
Empreinte edge
Pulse tourne comme un unique processus auto-hébergé avec moteur embarqué — un PC industriel dans l'armoire suffit. Aucun aller-retour cloud dans le chemin d'alarme.
Survit au redémarrage
Les offsets par agent et l'état des fenêtres checkpointé sont persistés — un cycle de puissance ne réinitialise pas vos baselines et ne rejoue pas les alarmes d'hier.
L'OT reste à l'intérieur
Auto-hébergé : la donnée process ne quitte jamais le réseau de l'usine sauf si vous la routez dehors. Les stages LLM peuvent tourner sur un runtime local du même segment.
Cadre honnête
« Prédictif » veut dire votre physique, notre plomberie.
StreamFlow n'embarque pas un modèle de défaillance pré-entraîné pour vos machines — personne ne le peut sérieusement. Ce qu'il embarque : des baselines statistiques par asset (dérive, dispersion, trous) qui attrapent d'entrée une grande classe de dégradations, et un pipeline dans lequel votre propre modèle — analyse vibratoire, estimation de RUL, ce que votre équipe fiabilité valide — s'insère comme un stage. Le chemin d'alerte, l'automatisation d'ordres de travail, l'audit trail et le rejeu sont les morceaux que vous n'avez pas à bâtir.
À quoi ça ressemble
Une surveillance d'état tient dans un fichier.
La télémétrie arrive en stream par asset ; les baselines sont calculées en fenêtres ; une cassure ouvre un ordre de travail avec le contexte.
1# pulse.yaml — condition watch
2source:
3 kind: webhook # gateway posts telemetry
4
5stages:
6 - name: baseline
7 engine: streaming
8 operators:
9 - window: 15m sliding
10 keyBy: asset_id
11 aggregations:
12 vib_avg: avg(vibration)
13 vib_stddev: stddev(vibration)
14 temp_max: max(temperature)
15
16 - name: detect
17 engine: rule-based
18 rules:
19 - "vib_stddev > baseline_band || temp_max > limit"
20
21 - name: contextualize
22 engine: llm # local runtime on the plant segment
23 systemPrompt: |
24 Summarize the drift for the technician:
25 what moved, how fast, vs. history.
26
27 - name: workorder
28 engine: mcp
29 mcpTools: [ cmms.createWorkOrder ]
30
31sink:
32 kind: webhook # maintenance board
33 url: ${secret:MAINT_BOARD_WEBHOOK}
34- 1
Scaffold.
pulse new condition --source webhook --stage streaming:baseline --stage rule-based:detect --stage llm:contextualize --stage mcp:workorder --sink webhook - 2
Pointez les passerelles dessus.
MQTT ou HTTP depuis vos passerelles edge ; file-tail pour les logs machine ; JDBC pour le contexte MES.
- 3
Déployez & observez.
pulse deploy . && pulse events tail --topic condition.detect.outChaque cassure de baseline, en direct.
- 4
Prouvez le gain.
Le rejeu déterministe reconstruit la dérive exacte derrière chaque ordre de travail — preuve pour la revue fiabilité.
Entendez la machine avant qu'elle s'arrête.
Voyez la télémétrie couler dans les baselines et les alertes en quelques minutes — sans installation, sans inscription. Puis auto-hébergez à côté de la ligne.
Pulse est gratuit et auto-hébergé. HA multi-nœuds, géo-réplication et gouvernance sont inclus dans StreamFlow Enterprise.