Aller au contenu

Contenu personnalisé

Forkez les modèles et templates intégrés ou écrivez depuis zéro. Utilisez le registre local ~/.miravo/ et les couches de résolution de contenu.

Créez des modèles et templates personnalisés en forçant le contenu intégré ou en écrivant depuis zéro.

Miravo résout les modèles et templates à travers trois couches par ordre de priorité :

  1. Répertoire courant — Fichiers .twin.yaml et .miravo.yaml dans le répertoire de travail
  2. Registre local~/.miravo/registry/local/{models,templates}/
  3. Intégré — Livré avec Miravo via le package @miravo/content

Un modèle dans le répertoire courant remplace le même nom dans le registre local, qui remplace le contenu intégré.

La commande miravo fork copie le contenu intégré dans le registre local pour personnalisation.

Fenêtre de terminal
miravo fork model centrifugal-pump

Crée ~/.miravo/registry/local/models/centrifugal-pump.twin.yaml. Éditez ce fichier pour personnaliser les paramètres, membres, générateurs, défaillances ou cycle de vie.

Fenêtre de terminal
miravo fork template smart-factory

Copie le template et tous les modèles référencés dans le registre local.

Fenêtre de terminal
miravo fork template smart-factory --models-only

Copie uniquement les modèles référencés par le template, pas le fichier template lui-même.

Par défaut, fork ignore les fichiers qui existent déjà. Utilisez --force pour écraser :

Fenêtre de terminal
miravo fork model centrifugal-pump --force

Créez un fichier .twin.yaml dans votre répertoire de travail ou registre local :

schema_version: "2"
model:
name: my-sensor
description: "Custom temperature/humidity sensor"
parameters:
temp_center:
type: float
default: 22.0
unit: degC
members:
temperature:
kind: variable
data_type: Double
access: read
unit: degC
generator:
type: noise
center: "$param.temp_center"
stddev: 0.3
humidity:
kind: variable
data_type: Double
access: read
unit: "%RH"
generator:
type: mean-reverting-noise
mean: 45
tau: 20
sigma: 2

Créez un fichier .miravo.yaml :

kind: MiravoTemplate
version: "1"
name: "My Custom Plant"
description: "Custom sensor array"
namespace:
enterprise: MyCompany
site: test-lab
areas:
- name: floor-1
lines:
- name: zone-a
twins:
- model: my-sensor
count: 10
variation: 0.1
settings:
tick_interval_ms: 1000
time_multiplier: 1

Exécutez-le :

Fenêtre de terminal
miravo start --template ./my-plant.miravo.yaml
~/.miravo/
registry/
local/
models/ # Fichiers .twin.yaml personnalisés
templates/ # Fichiers .miravo.yaml personnalisés
state/ # Snapshots de simulation persistés
daemon/ # Registre des processus en arrière-plan

Le répertoire de base est configurable avec MIRAVO_HOME :

Fenêtre de terminal
MIRAVO_HOME=/data/miravo miravo start

Utilisez --dry-run pour valider un template et ses modèles référencés sans démarrer la simulation :

Fenêtre de terminal
miravo start --template ./my-plant.miravo.yaml --dry-run

Cela détecte les erreurs de schéma, les modèles manquants, les références de paramètres invalides et les problèmes d’ordre des membres.