Schémas de blocs
Référence complète du schéma YAML pour tous les blocs MyBotBox
Cette section contient les définitions complètes du schéma YAML pour tous les types de blocs disponibles dans MyBotBox. Chaque type de bloc a des exigences de configuration spécifiques et des formats de sortie.
Blocs fondamentaux
Voici les éléments essentiels pour créer des flux de travail :
Bloc de démarrage
Point d'entrée du flux de travail prenant en charge les déclencheurs manuels, les webhooks et les planifications
Bloc Agent
Traitement alimenté par l'IA avec intégration LLM et prise en charge d'outils
Bloc Fonction
Environnement d'exécution de code JavaScript/TypeScript personnalisé
Bloc Réponse
Formatage et renvoi des résultats finaux du flux de travail
Logique et flux de contrôle
Blocs pour implémenter la logique conditionnelle et le flux de contrôle :
Bloc Condition
Branchement conditionnel basé sur des expressions booléennes
Bloc Routeur
Routage intelligent alimenté par l'IA vers plusieurs chemins
Bloc Boucle
Traitement itératif avec des boucles for et forEach
Bloc Parallèle
Exécution simultanée sur plusieurs instances
Blocs d'intégration
Blocs pour se connecter à des services et systèmes externes :
Bloc API
Requêtes HTTP vers des API REST externes
Bloc Webhook
Déclencheurs webhook pour intégrations externes
Blocs avancés
Blocs spécialisés pour des modèles de flux de travail complexes :
Bloc Évaluateur
Valider les sorties selon des critères et métriques définis
Bloc Flux de travail
Exécuter d'autres flux de travail comme composants réutilisables
Éléments de schéma communs
Tous les blocs partagent ces éléments communs :
Structure de base
block-id:
type: <block-type>
name: <display-name>
inputs:
# Block-specific configuration
connections:
# Connection definitionsTypes de connexion
- success : Bloc cible pour une exécution réussie
- error : Bloc cible pour la gestion des erreurs (facultatif)
- conditions : Chemins multiples pour les blocs conditionnels
Variables d'environnement
Utilisez des doubles accolades pour les variables d'environnement :
inputs:
apiKey: '{{API_KEY_NAME}}'
endpoint: '{{SERVICE_ENDPOINT}}'Références de bloc
Référencez les sorties d'autres blocs en utilisant le nom du bloc en minuscules :
inputs:
userPrompt: <blockname.content>
data: <functionblock.output>
originalInput: <start.input>Règles de validation
Tous les blocs YAML sont validés par rapport à leurs schémas :
- Champs obligatoires : doivent être présents
- Validation de type : les valeurs doivent correspondre aux types attendus
- Validation d'énumération : les valeurs de chaîne doivent provenir des listes autorisées
- Validation de plage : les nombres doivent être dans les plages spécifiées
- Validation de modèle : les chaînes doivent correspondre aux modèles regex (le cas échéant)
Référence rapide
Types de blocs et propriétés
| Type de bloc | Sortie principale | Cas d'utilisation courants |
|---|---|---|
| starter | .input | Point d'entrée du workflow |
| agent | .content | Traitement IA, génération de texte |
| function | .output | Transformation de données, calculs |
| api | .output | Intégration de services externes |
| condition | N/A (branchement) | Logique conditionnelle |
| router | N/A (branchement) | Routage intelligent |
| response | N/A (terminal) | Formatage de sortie finale |
| loop | .results | Traitement itératif |
| parallel | .results | Traitement concurrent |
| webhook | .payload | Déclencheurs externes |
| evaluator | .score | Validation de sortie, évaluation de qualité |
| workflow | .output | Exécution de sous-workflow, modularité |
Obligatoire vs optionnel
- Toujours obligatoire :
type,name - Généralement obligatoire :
inputs,connections - Dépendant du contexte : les champs d'entrée spécifiques varient selon le type de bloc
- Toujours optionnel : connexions
error, champs spécifiques à l'interface utilisateur