Zum Hauptinhalt springen
DokumentModuleEingebautes Modul

Integrierte Modulbibliothek

Über 120 mit der Plattform mitgelieferte Module — direkt als sub_workflow aufrufbar oder in Ihre eigenen Workflows integrierbar.

Braidrun bringt 120+ integrierte Module mit. Jedes Modul ist ein gekapselter Workflow mit typisiertem Eingabe- / Ausgabevertrag; andere Workflows referenzieren es über einen sub_workflow-Schritt, ohne sich um die interne Implementierung kümmern zu müssen.

Integrierte Module sind schreibgeschützt

Integrierte Module werden mit der Plattform ausgeliefert, beim Servicestart automatisch in die Modulbibliothek geladen und verbrauchen kein Workflow-Kontingent. Sie können nicht bearbeitet oder gelöscht werden und erhalten bei Plattform-Upgrades automatisch neue Versionen; um die interne Logik zu ändern, erstellen Sie mit „Als meinen Workflow klonen“ eine bearbeitbare Kopie.

Allgemeine Tools (ca. 80)

utility-module-* -Präfix, deckt geschäftsunabhängige allgemeine Bereiche ab wie Datenverarbeitung, HTTP-Anfragen, Such-Scraping, Text-KI und Monitoring-Checks. Beispielmodule:

utility-module-http-request

Universeller REST-Client: GET / POST / PUT / DELETE / PATCH, unterstützt query / body / headers sowie basic / bearer / api-key-Authentifizierung, mit eingebautem Timeout und exponentiellem Backoff-Retry, gibt Statuscode und Response-Body zurück.

Typische Eingabe:url, method
utility-module-json-transform

Führt auf JSON-Daten verkettet die Transformationen extract / filter / map / flatten / merge / pick / omit / sort aus.

Typische Eingabe:input_json / input_path, operations_json
utility-module-csv-processor

Liest CSV und führt Operationen wie filter / sort / select / groupby / dedupe aus, erkennt das Trennzeichen automatisch und gibt CSV oder JSON aus.

Typische Eingabe:input_path, operations_json, output_format
utility-module-web-search

Websuche: DuckDuckGo (ohne key) oder Serper.dev, gibt Titel, Link und Zusammenfassung der ersten N Ergebnisse zurück.

Typische Eingabe:query, provider, max_results
utility-module-text-summarizer

LLM-Zusammenfassung langer Texte, unterstützt die vier Stile bullets / paragraph / tldr / headline und eine Längenobergrenze.

Typische Eingabe:input_text / input_path
utility-module-sentiment-analyzer

LLM-Sentimentanalyse: gibt Polarität (positive / neutral / negative / mixed), Konfidenz und die die Stimmung treibenden Schlüsselphrasen aus.

Typische Eingabe:text, language_hint

Zustellung und Benachrichtigung

Der stabile Benachrichtigungsausgang am Ende eines Workflows, meist über reine Code-Schritte umgesetzt, ohne LLM-Abhängigkeit, um zu vermeiden, dass fehlende Modell-Zugangsdaten die Benachrichtigungskette scheitern lassen. Beispielmodule:

utility-module-slack-webhook

Nachrichtenversand über Slack Incoming Webhook: reiner Text oder Blocks-Rich-Text, mit anpassbarem Anzeigenamen und Symbol.

Typische Eingabe:webhook_url, text / blocks_json
utility-module-dingtalk-webhook

DingTalk-Gruppen-Bot: drei Nachrichtenarten text / markdown / link; bei Übergabe eines secret wird automatisch eine HMAC-SHA256-Signatur berechnet.

utility-module-email-sender

SMTP-E-Mail-Versand: HTML-Text, Anhänge, CC / BCC, unterstützt die beiden Sicherheitsmodi STARTTLS und SMTPS.

Typische Eingabe:smtp_host, smtp_port
utility-module-twilio-sms

SMS-Versand über die Twilio REST API, geeignet für Verifizierungscodes und Warnbenachrichtigungen.

Die übrigen Benachrichtigungsmodule decken Gruppen-Bots für Discord, Feishu, WeCom, Microsoft Teams, Mattermost und Rocket.Chat, E-Mail über Mailgun / SendGrid sowie Push über Bark, Pushover und ServerChan ab. Außerdem gibt es ein Telegram-Dateizustellmodul, das .md / .xlsx / .pdf / .csv-Reports zusammen mit einem Begleittext direkt an eine angegebene Konversation sendet und dedupe_key unterstützt, um bei einem Replay doppelten Versand zu verhindern.

Finanzanalyse (ca. 10)

module-* -Präfix, eine quantitative Tool-Kette: Kurse → technische Indikatoren → Portfolioanalyse → Backtest. Die Kursmodule benötigen keinen API key (Datenquellen Tencent Finance / Yahoo Finance / CoinGecko), die Indikator- und Backtest-Module sind rein mit der Standardbibliothek umgesetzt.

module-stock-quote

Echtzeitkurse für mehrere Märkte: A-Aktien / Hongkong-Aktien / US-Aktien / Kryptowährungen, mit automatischem Routing der Datenquelle nach Symbolpräfix, gibt ein einheitliches quotes_json zurück.

module-stock-history

Abruf historischer Kerzen (OHLCV), gibt ein einheitliches, nach Zeit aufsteigend sortiertes bars_json zurück, das sich direkt an die Indikator- und Backtest-Module übergeben lässt.

module-technical-indicators

Berechnung technischer Indikatoren: SMA / EMA / RSI / MACD / BOLL / KDJ / ATR, und gibt das jüngste Golden-Cross- / Death-Cross-Signal aus.

Typische Eingabe:bars_json
module-portfolio-analyzer

Portfolio-Performanceanalyse: kumulative / annualisierte Rendite, Sharpe / Sortino / Calmar, maximaler Drawdown, Trefferquote, mit optionalem Benchmark-Vergleich.

module-backtest-engine

Tageweiser Backtest-Engine: vier integrierte Strategien (Gleitender-Durchschnitt-Kreuzung / RSI / MACD / Bollinger) oder benutzerdefinierte Signale, unterstützt Gebühren, Slippage, Stop-Loss und Take-Profit.

Typische Eingabe:bars_json

Dieselbe Reihe umfasst außerdem Module wie Aktien-News, bedingtes Stock-Screening, Optionsbewertung, Risikokennzahlen und Marktüberblick, die sich zu einer vollständigen Pipeline von den Kursen bis zum Report verketten lassen.

Werbung und Wachstum (ca. 40)

Diese Modulgruppe stammt aus dem realen Kampagnenbetrieb eines Abo-App-Teams und deckt Apple Search Ads, Google Ads und App-Umsatzdaten ab. Die wichtigsten Kategorien nach Zweck:

  • ASA-Report-Abruf:Vier Dimensionen campaigns / keywords / adgroups / searchterms, gleicht Unterschiede in der Feldbenennung der Schnittstelle automatisch aus.
  • ASA-Entitätenliste:Massenabruf von Kampagnen, Anzeigengruppen, Keywords und negativen Keywords.
  • Google Ads-Tool:Führt GAQL-Abfragen aus und liefert strukturierte Ergebnisse; zusätzlich Kampagnen-Performance-Report und Erkennung zugänglicher Konten.
  • App-Umsatzabruf:Ruft Umsatz- und Abonnementdaten nach Zeitfenster ab.
  • Zeitfensterauflösung:Wandelt die Anzahl der Rückblicktage plus Zeitzone in ein standardisiertes Start- und Enddatum um und stellt sicher, dass die Semantik von „gestern / letzte Woche“ über eine Reihe von Reports hinweg vollständig einheitlich ist.
  • Report-Zusammenstellung:Aufbau von Excel-Dateien mit mehreren Sheets und Rendern von Markdown-Report-Vorlagen.
  • App-übergreifende Stapelverarbeitung:Lässt denselben Sub-Ablauf für eine Reihe von Apps je einmal laufen und führt die Ergebnisse zusammen.
  • Qualitätsreview-Schleife:Ein standardisiertes Qualitäts-Gate nach dem Muster generieren → bewerten → bei Nichterreichen wiederholen → bei Erreichen beenden.

Modulvertrag

Jedes Modul deklariert einen Vertrag: Die Eingaben sind typisiert (string / number / boolean / enum / path / json) und lassen sich mit required, Standardwert, Enum-Werten und Wertebereich kennzeichnen; die Ausgaben deklarieren Name, Typ und Quellvariable; der Vertrag hat eine von der Workflow-Implementierungsversion unabhängige contract_version.

yaml
module:
  enabled: true
  display_name: Web Search
  contract_version: 1.0.0
  inputs:
    - {name: query, type: string, required: true}
    - {name: provider, type: enum, default: duckduckgo,
       allowed_values: [duckduckgo, serper]}
    - {name: max_results, type: number, default: "10", min: 1, max: 100}
  outputs:
    - {name: results_json, type: string, source: "{{var:results_json}}"}
    - {name: result_count, type: number, source: "{{var:result_count}}"}

Beim Ändern eines Vertrags vergleicht die Plattform den neuen mit dem alten Vertrag: Nicht brechende Änderungen (etwa eine neue optionale Eingabe) gehen direkt durch; brechende Änderungen (die bestehende Referenzierende betreffen) werden standardmäßig zum Speichern abgelehnt, erfordern eine ausdrückliche Bestätigung und es wird eine empfohlene neue Vertragsversionsnummer vorgeschlagen. Der Vertrag unterstützt zudem die deprecated-Kennzeichnung mit Migrationshinweis, um Referenzierende auf ein Ersatzmodul hinzuweisen.

In Einem Workflow referenzieren

Über einen sub_workflow-Schritt nach Modul-id referenzieren. Die Werte von inputs sind alle Strings (auch Zahlen werden als "10" geschrieben) und unterstützen Variablen-Templates; outputs bildet die Ausgaben des Moduls auf Variablen des übergeordneten Workflows ab, die nachfolgende Schritte direkt verwenden.

metrics-notify.yamlyaml
workflow:
  - step: fetch_metrics
    sub_workflow:
      name: utility-module-http-request
      version_strategy: latest
      inputs:
        url: "https://api.example.com/v1/metrics"
        method: GET
      outputs:
        status_code: fetch_status
        response_body: metrics_json

  - step: notify
    sub_workflow:
      name: utility-module-slack-webhook
      inputs:
        webhook_url: "{{var:slack_webhook_url}}"
        text: "Metrics updated: {{var:metrics_json}}"
      outputs:
        send_status: notify_status
    depends_on:
      - fetch_metrics
    retry:
      max_attempts: 2
      backoff: exponential
  • version_strategy Standard latest; alternativ lässt sich eine bestimmte Version anheften, sodass Modul-Aktualisierungen den bereits produktiven übergeordneten Workflow nicht beeinflussen.
  • Eine Referenz auf ein Modul arbeitet im Vertragsmodus; inputs / outputs werden gemäß Vertrag validiert. Wird das Modul auf einen gewöhnlichen Workflow herabgestuft, fällt die Referenz in einen lockeren Modus zurück und wird nicht mehr automatisch validiert.
  • Schrittmodifikatoren wie retry, condition, depends_on sind für sub_workflow-Schritte wie gewohnt verfügbar.

Benutzerdefiniertes Modul

Jeder Workflow lässt sich zum Modul hochstufen: Suchen Sie im Workflow-Einstellungs-Panel des Editors den Bereich „Modulvertrag“, füllen Sie Anzeigename, Beschreibung, Eingaben / Ausgaben und Vertragsversion aus und klicken Sie auf „Modulvertrag speichern“. Danach erscheint er in der Modulbibliothek und andere Workflows können ihn über sub_workflow referenzieren.

Beim Aufheben des Modulstatus (Herabstufung) führt die Plattform zunächst eine Rückwärts-Abhängigkeitsprüfung durch: Referenziert noch ein übergeordneter Workflow dieses Modul, werden die konkreten Referenzstellen aufgelistet und die Operation blockiert, um zu verhindern, dass fremde Abläufe unbemerkt beschädigt werden.

Module lassen sich wie Vorlagen im Marktplatz veröffentlichen, mit Versionsnummer, und die Abhängigkeiten werden bei der Installation automatisch aufgelöst.