Pluginy Forge

Nové funkce jako pluginy. Jádro zůstává, jak je.

Plugin přidá do platformy Forge obrazovky úkolů i obchodní logiku. Nepotřebuje ani řádek Javy, jádra se nedotkne a v Portálu vypadá, jako by tam byl odjakživa.

Nové obchodní funkce přicházejí zvenku, ne z jádra.

Co dřív znamenalo zásah do samotné platformy, dnes přichází jako plugin: samostatná služba, kterou platforma volá jménem vašich uživatelů, s jejich identitou a jejich oprávněními.

Ani řádek Javy

Platforma se o pluginu dozví jen z konfigurace. Jádro se nemění a nevzniká žádná odnož, kterou by bylo potřeba udržovat.

Vlastní vydání

Každý plugin se dodává jako samostatný kontejnerový image a běží vedle platformy, ne v ní.

Zapíná se fázi po fázi

Fáze procesu vymění formulář úkolu za obrazovku pluginu. Všechny ostatní úkoly si ponechají své formuláře.

Cesta požadavku, kterou si vaši architekti ověří.

Prohlížeč nikdy nemluví s pluginem přímo. Každý požadavek projde službou platformy, která ověří, kdo se ptá, a podepíše, co předává dál.

Jak putuje volání pluginu. Prohlížeč mluví jen se službou platformy. Platforma ověří uživatele, úkol a oprávnění a teprve potom podepsaně zavolá plugin ve vnitřní síti. Stav pluginu uchovává databáze platformy, do které plugin nikdy nesahá.Vnitřní síťBez CORS, bez přihlášení, bez cesty zpět.Prohlížečjediný vstupSlužbaplatformyověří uživatele,úkol a oprávněníPodepsanévoláníEd25519, 60 sPluginani řádek JavyDatabáze platformyStav pluginu: jeden verzovanýdokument JSON, který uchováváa ověřuje platforma.bez přístupu k databáziJak putuje volání pluginu. Prohlížeč mluví jen se službou platformy. Platforma ověří uživatele, úkol a oprávnění a teprve potom podepsaně zavolá plugin ve vnitřní síti. Stav pluginu uchovává databáze platformy, do které plugin nikdy nesahá.Prohlížečjediný vstupVnitřní síťBez CORS, bez přihlášení,bez cesty zpět.Službaplatformyověří uživatele,úkol a oprávněníPodepsanévoláníEd25519, 60 sPluginani řádek Javybez přístupu k databáziDatabázeplatformyStav pluginu: jedenverzovaný dokumentJSON, který uchováváa ověřuje platforma.
Jediný vstup
Prohlížeč mluví jen se službou platformy. Pluginy běží ve vnitřní síti: bez CORS, bez přihlášení, bez cesty zpět.
Každé volání je podepsané
Podpis Ed25519 váže volání na uživatele, úkol a průnik oprávnění a platí 60 sekund.
Žádný přístup do vaší databáze
Data pluginu tvoří jeden verzovaný dokument JSON, který uchovává a ověřuje platforma.
Vypadá jako součást Portálu
Obrazovky se otevírají přímo v úkolu v Portálu, v jeho vzhledu a jazyce. Úkol se dál dokončuje tlačítkem Portálu.

Nacenění a schválení obchodu jako plugin.

První plugin postavený na tomto systému nacení obchod přímo v úkolu v Portálu, před schválením ho podrobí oponentuře a rozhodnutí nechá na procesu.

Plugin Nacenění a schválení obchodu: histogram úspěšnosti a ekonomika obchodu v úkolu Portálu
Nacenění a schválení obchodu v úkolu v Portálu: úspěšnost srovnatelných obchodů podle ceny a ekonomika obchodu.

Úspěšnost srovnatelných obchodů

Histogram úspěšnosti srovnatelných obchodů podle ceny, hned vedle ekonomiky a tržní pozice tohoto obchodu.

Plán týmu

Kdo na obchodu pracuje, s návrhem od AI jako výchozím bodem.

Oponentura AI před schválením

Než obchod půjde ke schválení, AI zpochybní jeho slabá místa.

Rozhodnutí zůstává v procesu

Schválit, schválit s podmínkou, nebo zamítnout: to je výsledek fáze procesu. Proces se podle něj větví jako u každého jiného schvalování a plugin ho nikdy neukládá.

Plugin Nacenění a schválení obchodu: plán týmu s návrhem pomocí AI
Plán týmu s návrhem od AI.

Zapíná se v Designeru.

Návrhář procesu přepne formulář úkolu na obrazovku pluginu: vybere plugin a obrazovku. Tato fáze pak v Portálu otevře obrazovku pluginu; ostatní fáze si ponechají své formuláře.

Designer: formulář úkolu se přepíná na obrazovku pluginu a vybírá se obrazovka
V Designeru se z formuláře úkolu stává obrazovka pluginu.

AI v pluginu zůstává na serveru.

Plugin, který používá Forge AI, to dělá přes operace, které sám deklaruje, se stejným podpisem, oprávněními a časovými limity jako každé jiné volání.

Každé volání AI je pojmenovaná operace
Každá funkce s AI je operace, kterou plugin deklaruje, s vlastními oprávněními a časovým limitem.
Prompt je na serveru
Prompty jsou napsané v serverovém kódu pluginu. Prohlížeč posílá vstupní data, nikdy prompt.
Bez Forge AI zbytek funguje dál
Když Forge AI není připojená, operace s AI to ohlásí a všechno ostatní v pluginu běží dál.

Plugin začíná jediným příkazem.

Příkaz vytvoří deklaraci, server, obrazovky, testovací data a test v Playwrightu. Zbytek najdete v průvodci pro vývojáře.

bun forge new <name>
Pod kapotou

Kontrakt mezi platformou a pluginem

Token pro každé volání
Každé volání nese vlastní token podepsaný Ed25519 a svázaný s hashem přesného těla požadavku. Je určený jedinému pluginu a po 60 sekundách vyprší.
Průnik oprávnění
Token nese oprávnění uživatele v průniku s oprávněními z manifestu pluginu. Operace proběhne jen pro uživatele, který má alespoň jedno z požadovaných.
Rotace klíčů bez výpadku
Pluginy drží jen veřejné klíče. Nový klíč dostanou všechny pluginy dřív, než jím platforma začne podepisovat, a starý se odebere, až vyprší poslední tokeny.
Zápisy stavu
Zápis přes compare-and-set proti verzi, kterou operace četla, s kontrolou podle schématu pluginu a s limitem velikosti. Při souběhu se operace jednou zopakuje, potom konflikt ohlásí.
Oddělené styly
Obrazovka se vykresluje ve stínovém DOM (shadow root), který patří Portálu. CSS pluginu se připojí jen do něj, takže se styly Portálu a pluginu nikdy nepotkají.
Obrazovky jsou kód, nikdy data
Soubory obrazovky jsou statické a obsahují jen kód. Data se k obrazovce dostanou výhradně přes kontext, který jí předá Portál.

Řekněte nám proces, který vás stojí peníze.

Přineste na ukázku jeden skutečný proces. Popíšeme ho společně Studiu a uvidíte, jak vzniká na funkční platformě, ne na slidech.