← zpět na katalog

Automatizace (workflow engine)

N8N-style vizuální workflow engine — uzly (trigger → logika → akce) propojené hranami, data protékají jako items, výrazy {{ $json.pole }}, per-uzel izolace chyb a log exekucí. Engine je v jádru API (runtime vypínač v Nastavení → Funkce), editor je thin JS canvas mimo admin.wasm.

automation 1.0.0 · Riplet

Obsah balíčku: plugin.json README.md run.sh

sha256: cab4e0b926bf7f37a1292da100dde260234b945f82d8075f2b96b47f78a16538

Stáhnout balíček

Automatizace — N8N-style workflow engine

Vizuální editor automatizací věrný N8N. Workflow = graf uzlů propojených hranami; data protékají jako pole items (JSON). Model i ovládání kopírují N8N: multi-output větve (IF má true/false, Switch N výstupů), výrazy {{ $json.pole }}, smyčky po dávkách, per-uzel izolace chyb a log každého běhu s daty pro panely vstupu/výstupu.

Po zapnutí pluginu přibude v adminu Pluginy → Automatizace.

Architektura (proč „plugin")

Cílem plugin balíčku je nebobtnat binárku ani admin.wasm:

Plugin je tedy deklarativní descriptor — Riplet nikdy nespouští jeho kód (viz docs/plugins.md). Chování je v jádru, tady je metadata + dokumentace.

Typy uzlů

TypKategorieVstupyVýstupyPopis
trigger.eventtrigger01Doménová událost (inquiry.created, form.submitted, subscriber.confirmed)
trigger.scheduletrigger01Interval v minutách (scheduler)
trigger.webhooktrigger01POST /api/automation/webhook/{path}
trigger.manualtrigger01Jen ruční spuštění z editoru
logic.iflogic12 (true/false)Rozvětvení podle podmínek
logic.filterlogic11Propustí jen items splňující podmínky
logic.switchlogic1N (dle pravidel)Routing do víc výstupů, volitelný fallback
logic.mergelogic21Append / spojení podle pořadí / podle klíče / výběr větve
logic.waitlogic11Pauza (strop 300 s)
logic.split_batcheslogic12 (loop/done)Dávkování se smyčkou (N8N „Loop Over Items")
transform.settransform11Nastaví/přepíše pole z výrazů
transform.codetransform11JSON šablona s výrazy (žádný JS runtime)
transform.aggregatetransform11Sloučí proud do jednoho itemu
transform.datetimetransform11Formátování / posun data a času
transform.sorttransform11Řazení podle polí
transform.limittransform11Prvních/posledních N items
transform.remove_duplicatestransform11Odstranění duplicit
core.nooptransform11Průchozí (spojka větví)
core.stickynote00Poznámka na plátně (engine ignoruje)
action.emailaction11Zařadí e-mail do fronty
action.http_requestaction11HTTP volání (opt-in, SSRF guard)
action.logaction11Zápis do tracing + audit logu

Uzel lze vypnout (disabled) — zůstane v grafu i s hranami, ale při běhu jen propustí data dál (N8N „deactivate").

Smyčky

logic.split_batches je jediný uzel, do kterého smí vést zpětná hrana: tělo smyčky se vrací na jeho vstup, uzel vydá další dávku a po vyčerpání pošle nasbíraná data na výstup done. Validace takovou hranu nepovažuje za cyklus (validate::back_edges), editor ji kreslí čárkovaně. Počet iterací je zastropován (1000) a vnořené smyčky podporované nejsou.

Výrazy

Textová pole podporují {{ … }} vsuvky (bezpečná podmnožina, žádný JS runtime):

Editor u každého výrazového pole ukazuje živý náhled vyhodnocený stejnou funkcí, kterou použije engine (automation_core::expr přes wasm) — náhled tedy nemůže lhát.

Editor

Texty editoru jsou i18n (admin/i18n/*.json, klíče auto.*); jazyk a motiv předává admin v query parametrech iframu.

Bezpečnost

Instalace / ověření

Plugin se instaluje z katalogu: Admin → Pluginy → Dostupné → Instalovat. Ověřit balíček ze zdrojů jde i ručně:

sh registry/plugins/automation/run.sh

Skript jen validuje balíček (JSON manifest). Funkce samotná je vestavěná v jádru — zapne se v Admin → Nastavení → Funkce, položka menu se objeví po zapnutí pluginu v Admin → Pluginy.