Intégration
Ajouter un type d'étape
Étendre le catalogue avec une nouvelle action, de façon cohérente dans Studio, l'assistant, l'Orchestrator et la documentation.
Cette page s'adresse aux développeurs de ZOKAS Automate. Un type d'étape est déclaré à cinq endroits, qui doivent rester alignés.
1. Déclarer le type pour l'assistant et la validation
Dans orchestrator/zokas_orch/scenario.py, ajoutez une entrée à STEP_TYPES :
"pdf.merge": ("Fusionner des PDF en un seul fichier", {
"files": "chemins séparés par des virgules",
"output": "fichier produit",
}),La description et le texte de chaque propriété sont lus par l'assistant : écrivez-les comme une consigne, avec un exemple entre parenthèses. Les propriétés listées ici sont les seules conservées à l'import.
2. Exécuter le type
Dans orchestrator/zokas_orch/runtime.py, PackageRunner._exec :
- action sur le poste du robot : ajoutez le type à
ROBOT_STEPS("pdf.merge": ("pdf_merge", ["files", "output"])) et, si la sortie est stockée, àSTORE_RESULT; - action côté Orchestrator : ajoutez une branche
elif t == "pdf.merge":.
Appelez self._check_filled(s, [...], {...}) pour les propriétés obligatoires : l'utilisateur obtient alors « valeur vide pour … » au lieu d'une erreur technique.
3. Outil du robot (si action robot)
Dans robot/zokas_robot/server.py, exposez l'outil MCP pdf_merge, en respectant les dossiers autorisés (files.safe) et le mode simulation (ZOKAS_ROBOT_DRY_RUN).
4. Palette de Studio
Dans desktop/shared/zk-engine.js, ajoutez la fiche à TYPES (famille, nom, icône, champs) et, si besoin, le comportement simulé dans run(). Champs : [clé, libellé, exemple, genre], genre = area, image ou select:val=Libellé|….
5. Documentation
Ajoutez la fiche dans web/docs-src/steps.json : type, group, name, summary, when, props (nom, type, requis, défaut, valeurs), output, example, errors, see, source. Lancez ensuite :
cd web && npm run docsLa construction échoue si un type de scenario.py n'est pas documenté, si une propriété documentée n'existe pas, ou si un exemple utilise une propriété inconnue. Elle régénère les pages, l'index de recherche et le Schéma JSON.
Liste de contrôle
- Même nom de type et mêmes propriétés dans
scenario.py,zk-engine.jsetsteps.json. - Propriétés obligatoires contrôlées par
_check_filled. - Secrets lus par
credential, jamais en clair. - Un test dans
tests/(exécution et validation du package). npm run docssans erreur.
Mis à jour le 28 octobre 2026