Block-Schemas
Vollständige YAML-Schema-Referenz für alle Worxflow-Blöcke
Dieser Abschnitt enthält die vollständigen YAML-Schema-Definitionen für alle verfügbaren Blocktypen in Sim. Jeder Blocktyp hat spezifische Konfigurationsanforderungen und Ausgabeformate.
Kernblöcke
Dies sind die wesentlichen Bausteine für die Erstellung von Workflows:
Starter-Block
Workflow-Einstiegspunkt mit Unterstützung für manuelle Auslöser, Webhooks und Zeitpläne
Agent-Block
KI-gestützte Verarbeitung mit LLM-Integration und Tool-Unterstützung
Funktions-Block
Ausführungsumgebung für benutzerdefinierten JavaScript/TypeScript-Code
Antwort-Block
Formatierung und Rückgabe der endgültigen Workflow-Ergebnisse
Logik & Kontrollfluss
Blöcke zur Implementierung von bedingter Logik und Kontrollfluss:
Bedingungsblock
Bedingte Verzweigung basierend auf booleschen Ausdrücken
Router-Block
KI-gestützte intelligente Weiterleitung zu mehreren Pfaden
Schleifenblock
Iterative Verarbeitung mit for- und forEach-Schleifen
Parallel-Block
Gleichzeitige Ausführung über mehrere Instanzen
Integrationsblöcke
Blöcke zur Verbindung mit externen Diensten und Systemen:
Erweiterte Blöcke
Spezialisierte Blöcke für komplexe Workflow-Muster:
Evaluator-Block
Validierung von Ausgaben anhand definierter Kriterien und Metriken
Workflow-Block
Ausführung anderer Workflows als wiederverwendbare Komponenten
Gemeinsame Schema-Elemente
Alle Blöcke teilen diese gemeinsamen Elemente:
Grundstruktur
block-id:
type: <block-type>
name: <display-name>
inputs:
# Block-specific configuration
connections:
# Connection definitionsVerbindungstypen
- success: Zielblock für erfolgreiche Ausführung
- error: Zielblock für Fehlerbehandlung (optional)
- conditions: Mehrere Pfade für bedingte Blöcke
Umgebungsvariablen
Verwende doppelte geschweifte Klammern für Umgebungsvariablen:
inputs:
apiKey: '{{API_KEY_NAME}}'
endpoint: '{{SERVICE_ENDPOINT}}'Blockreferenzen
Referenziere andere Blockausgaben mit dem Blocknamen in Kleinbuchstaben:
inputs:
userPrompt: <blockname.content>
data: <functionblock.output>
originalInput: <start.input>Validierungsregeln
Alle YAML-Blöcke werden anhand ihrer Schemas validiert:
- Pflichtfelder: Müssen vorhanden sein
- Typvalidierung: Werte müssen den erwarteten Typen entsprechen
- Enum-Validierung: Zeichenkettenwerte müssen aus erlaubten Listen stammen
- Bereichsvalidierung: Zahlen müssen innerhalb festgelegter Bereiche liegen
- Mustervalidierung: Zeichenketten müssen Regex-Mustern entsprechen (wo anwendbar)
Kurzreferenz
Blocktypen und Eigenschaften
| Blocktyp | Primäre Ausgabe | Häufige Anwendungsfälle |
|---|---|---|
| starter | .input | Workflow-Einstiegspunkt |
| agent | .content | KI-Verarbeitung, Texterstellung |
| function | .output | Datentransformation, Berechnungen |
| api | .output | Integration externer Dienste |
| condition | N/A (Verzweigung) | Bedingte Logik |
| router | N/A (Verzweigung) | Intelligentes Routing |
| response | N/A (Terminal) | Formatierung der Endausgabe |
| loop | .results | Iterative Verarbeitung |
| parallel | .results | Gleichzeitige Verarbeitung |
| webhook | .payload | Externe Auslöser |
| evaluator | .score | Ausgabevalidierung, Qualitätsbewertung |
| workflow | .output | Ausführung von Unterworkflows, Modularität |
Erforderlich vs. Optional
- Immer erforderlich:
type,name - Normalerweise erforderlich:
inputs,connections - Kontextabhängig: Spezifische Eingabefelder variieren je nach Blocktyp
- Immer optional:
errorVerbindungen, UI-spezifische Felder