מערכת אמיתית מותקנת ופעילה ב-zbang-api. כל ריצה שמופיעה בדשבורד התרחשה על שרתים אמיתיים — לא הדמיה.
FlowKit היא מערכת תזמור של זרימות HTTP מרובות-שלבים. כל Flow הוא רצף סדור של בקשות, כאשר כל שלב יכול לחלץ משתנים מהתגובה ולהזרים אותם לשלב הבא דרך טוקני {var}. אסרטים מאמתים שהתגובה תקינה לפני שהשלב מסומן כעבר.
6 יכולות מרכזיות
- Flows builder — הגדרת זרימה מרובת שלבים עם method, URL templates, body templates, headers, סטטוס צפוי, extract rules ו-assert rules.
- Variable extraction — דיאלקט jsonpath מצומצם (
$.a.b.0.c) לחילוץ ערכים מתגובות JSON. המשתנים זמינים אוטומטית לשלבים הבאים בריצה. - Assertions engine — שלושה סוגי כללים:
body_contains,jsonpath_equals,jsonpath_exists. שלב נכשל אם תנאי כלשהו לא מתקיים. - Cron scheduler — ה-scheduler async רץ ברקע בתוך zbang-api, מזהה flows שמועד תזמונם הגיע (תומך ב-
*/N, רשימות וטווחים) ומפעיל אותם אוטומטית. - Runs history — כל ריצה נשמרת ב-PostgreSQL: רשומת run + רשומה לכל step (כולל request preview, response preview, סטטוס, משתנים שחולצו ושגיאות). pruning אוטומטי לפי גג נשמר.
- Analytics dashboard — throughput לפי שעות, p50/p95 latency, אחוז הצלחה, top flows עם progress rings, KPI cards וטיימליין של ריצות אחרונות.
ניתן לקנפג
- שם workspace, default timeout, היסטוריה מקסימלית לכל flow
- התראה ב-webhook חיצוני על כשלון
- משתני environment (חלקם sicret, מטושטשים בממשק אך נשלחים מלאים בריצה)
- כל flow: cron, פעיל/לא, tags, default headers
ארכיטקטורה
- Backend: FastAPI + SQLAlchemy + httpx async, רץ ב-Docker compose לצד שאר shel zbang-api
- DB: PostgreSQL עם 6 טבלאות (flows, steps, runs, step_results, vars, settings)
- Scheduler: async loop משלים cron matcher מינימלי, רץ במקביל לשאר ה-schedulers (CronPing, Dripcast)
- Frontend: Vanilla JS ללא frameworks, SVG charts ידניים, Glassmorphic UI עם 4 תמונות codex אמיתיות
- 12 API endpoints: CRUD מלא ל-flows ול-steps, trigger, runs detail, vars, stats, settings
תוצאות אמיתיות (בדיקת e2e שרצה לפני הצילום)
- Flow "User Lifecycle" (3 שלבים): 100% הצליח, 139ms ממוצע
- Flow "HTTPBin Echo": 100% הצליח, ~700ms ממוצע (כולל POST + assertion על echo + סטטוס)
- Flow "Stale API Watchdog": partial — שלב 1 עבר, שלב 2 נכשל בכוונה כדי להדגים זיהוי
- 13 ריצות אמיתיות תועדו ב-PostgreSQL, 92.3% success rate