Block-Schemas
Vollständige YAML-Schema-Referenz für alle Sim-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 definitions
Verbindungstypen
- 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:
error
Verbindungen, UI-spezifische Felder