Admin skydelis
Ką mato platformos administratorius: personas, job'ų eilę, GPU provisioning, LoRA lentą, events feed, Plan-100 control plane.
TL;DR
Administravimo skydelis — atskira React 19 SPA, prieinama tik administratoriaus rolei. Valdo cross-workspace resursus: sistemines personas, prompt'ų receptus, LoRA modelius, job'ų eilę, Vast.ai instance'us, provisioning taisykles, atsiskaitymus, auditą. Pagrindinė nauja funkcija — Plan-100 Control Plane Console su koordinatoriumi/raneriu/rekonsileriu ir shadow-tables cutover'iui.
Administravimo skydelio apžvalga
GoraGen administravimo skydelis — tai operatyvinė dispečerinė. Per ją platformos komanda mato, kas vyksta visame produkte vienu metu: kiek GPU išsinuomota, kurie job'ai užstrigo, kurie naudotojai išleidžia daugiausiai, kurie modeliai veikia prastai.
Apvalkalas — AdminShell.tsx su šonine panele ir keyboard shortcuts greitai navigacijai.
Dashboard
Pagrindinis ekranas — KPI ir live metrikos:
- Aktyvūs job'ai (pagal tipus: video, storyboard, kling, lora_training)
- Eilės gylis ir vidutinis lead time
- Klaidų skaitiklis per paskutines 5/15/60 minučių su filtru pagal severity
- Esami Vast.ai instances ir jų būsena (booting / ready / running / cancelling / destroyed)
Per /admin/system/workers-health stebimas heartbeat-loop iš workers konteinerio — jei paskutinis heartbeat senesnis nei 60 sekundžių, dashboard'e užsidega įspėjimas „workers down".
Naudotojai
/admin/users — naudotojų naršyklė. Spustelėjus user_id — detalės: workspace, generavimų istorija, kreditų balansas, daily-spend profilis, plan, paskutinių prisijungimų IP adresai.
Administratorius gali:
- Pakeisti naudotojo planą (Free → Starter → Pro)
- Pridėti/nuskaityti kreditus rankiniu būdu
- Imitavimas (impersonate) (cookie su žyme
impersonated_by=:admin_id) — skundų „man neveikia X" analizei
Visi šie veiksmai įrašomi į domain_events ir matomi compliance audito tikslais.
Personas / Presets / Workflows
Trys atskiri CRUD skyriai platformos turinio „backbone":
/personas— sisteminiai personažai. Kiekvienas turi lookbook (12+ kadrų), preset'us (kamera, fonas, apšvietimas), LoRA modelių sąrašą./presets— prompt'ų šablonų ir kameros judesių biblioteka./workflows— ComfyUI grafų šablonai. Šablonas gali būti susietas su modeliu (WAN, Hunyuan, LTX) ir naudojamas renderio.
Tasks
/admin/tasks — job eilės konsolė. Keturi tab'ai: queued / live / recent / failed.
Spustelėjus konkretų job'ą — pilnos detalės: workspace, user, instance, įvesties parametrai, vykdymo log'as, progreso WS pranešimai, Gemini įvertinimas, galutinė kaina. Jei fail — stack trace su Sentry event-id.
Iš live galima atšaukti (graceful — leidžiame dabartinei iteracijai užbaigti, neleidžiame kitos). Iš failed galima paleisti iš naujo (naujas job su tais pačiais parametrais).
Instances
/admin/instances — Vast.ai instance naršyklė. Kiekvienas instance:
- offer_id, image, region, kaina $/val.
- būsena (booting / ready / running / cancelling / destroyed)
- esamas job (jei yra)
- kaina nuo paleidimo pradžios
- mygtukai terminate / SSH-connect / re-init
Visos rankinės operacijos su instance'ais dabar vyksta per Control Plane (žr. žemiau), o ne kaip anksčiau — tiesioginiu Vast API kvietimu.
LoRA dashboard
/admin/lora — cross-workspace visų LoRA treniruočių vaizdas. Kiekvienai:
- statusas (preparing / captioning / training / validating / done / failed)
- progresas procentais, ETA
- nuoroda į validation-grid (rezultato peržiūra)
- kaina, trukmė
Administratorius gali nužudyti užstrigusią treniruotę, paleisti iš naujo failed užduotį, peržiūrėti kohya_ss log'ą.
System
/admin/system — techninė administravimo dalis, padalinta į subtab'us:
audit— administratoriaus veiksmų log'ashealth— išplėstinis health puslapis (Phase 9): workers heartbeat, DB latency, disk usage, queue depthprovisioning— auto-provisioning taisyklės (kada platforma pati išsinuomoja naują instance, kada jį užgesina)spend— finansinė suvestinė pagal GPU valandas ir Anthropic / Gemini / Kling API iškvietimusevents— Phase 9 domain events feed (append-only, paskutiniai 1000 įvykių) su JSON modaliniu langu kiekvienam
Plan-100 Control Plane Console
/admin/system/control-plane — atskiras puslapis koordinuotos provisioning sistemos valdymui.
Tai perėjimas nuo tiesioginio darbo su Vast API prie orkestracijos modelio, kur tarp administravimo skydelio ir Vast yra trys loop'ai:
- Coordinator — skaito
instance_requests(provisioning paraiškas), tikrina parallel-limits, velocity-guard, įterpiaprovision_attempts. - Runner — paima claimed attempts, kviečia
scripts/vast_provision.ensure_instance(...), taiko terminal reducer. - Reconciler — kas N sekundžių skenuoja stale leases, force-terminates užstrigusius
cancellingbūsenoje, atlaisvina destroyed instance'us.
Visi trys — leader-elected per provision_leader lentelę. Jei konteineris su lyderiu miršta, antras (jei yra) perima lyderystę per 60 sekundžių.
Puslapyje:
- Live trijų loop'ų statusas (running / lost / draining)
- Observability metrikos: 7 skaičiai (active requests, queued attempts, success rate ir t. t.)
- Mygtukas Pause — emergency vėliava, sustabdanti visus tris loop'us per 30 sekundžių
- Mygtukas Resume — panaikina emergency-pause
Po gaubtu — 5 cutover vėliavos su TTL-cache 60 sekundžių: workflow_spawn, auto_provisioner, parallel_limits, provisioning_cutover_admin_rule_action, provisioning_emergency_pause. Galima perjungti atskirai — pavyzdžiui, išjungti auto-provisioner, paliekant kitas.
Settings
/admin/settings — sisteminiai parametrai, derinami runtime metu:
- maintenance_mode — globalus 503 ne-administratoriams
- prices — generavimo kainos (per-shot, per-second, per-LoRA-train)
- retention — vaizdo įrašų, įvykių, idempotent raktų saugojimo terminai
Parametro pakeitimą iš karto mato visi workers per polling kas 60 sekundžių.
Events feed
Phase 9 įvedė append-only domain_events. Kiekvienas reikšmingas platformos įvykis (naujas user, naujas job, provisioning fail, plano atnaujinimas) įrašomas atskira eilute su tipu, aktoriumi, payload JSON.
Administravimo skydelyje /admin/system/events — reaktyvi juosta su filtrais pagal įvykio tipą, aktorių, datų intervalą. Dvigubas spustelėjimas — modalinis langas su pretty-printed JSON.
Tai duoda du dalykus: forensic auditą (kas nutiko per paskutines parą) ir event-source integracijoms (įvykių eksportas į external webhooks per webhook_dispatcher).