Gyred
Sterownia agentów AI jako natywne okno na pulpit, renderowane bez przeglądarki (Rust + Dioxus). Jedno miejsce na wszystkie sesje: co czeka, co pracuje, co zaplanowane i cała rozmowa. Ten sam kod kompiluje się też na inne platformy.
Natywne okno na pulpit do prowadzenia wielu sesji agentów AI naraz, zbudowane w Rust + Dioxus i renderowane bez przeglądarki. Wszystkie sesje w jednym miejscu - co czeka na decyzję, co pracuje, co zaplanowane, plus pełna rozmowa z każdą - zamiast dziesiątek kart i ciągłego przełączania.
Wprowadzenie
Gyred to desktopowe wcielenie sterowni agentów AI z rodziny Gyre. Gyre to jedno miejsce, w którym prowadzi się wiele sesji naraz: widzisz je, rozmawiasz z nimi, planujesz pracę i dostajesz sygnał, gdy coś wymaga człowieka. Ten case study dotyczy klienta na pulpit - okna, w którym ta sterownia żyje przez cały dzień obok reszty narzędzi programisty.
Ważna zasada całego Gyre: panel nigdy nie posiada sesji na własność. Cokolwiek widzisz w oknie, otworzysz też we własnym terminalu - Gyred jest wygodnym widokiem na sesje, nie klatką na nie. Do tego samego workflow jest osobny klient na telefon; desktop stawia na gęstość informacji i klawiaturę przy biurku.
Problem dziesięciu kart
Gdy prowadzisz jedną sesję agenta, wystarczy karta w przeglądarce. Gdy prowadzisz dziesięć, karta zamienia się w pułapkę. Nie widzisz naraz, która sesja stanęła i czeka na Twoją decyzję, a która wciąż mieli swoje. Przełączasz się w kółko, gubisz wątek i przegapiasz moment, w którym agent utknął na pytaniu - a właśnie ten moment jest najdroższy, bo sesja stoi i nic nie robi, dopóki nie odpowiesz.
Gyred odwraca ten układ. Zamiast jednego okna na sesję - jedno okno na wszystkie sesje, z czytelnym podziałem na to, co potrzebuje człowieka teraz, i to, co spokojnie pracuje dalej. Lista po lewej pokazuje stan całości, panel po prawej pełną rozmowę z wybraną sesją. Nie musisz pamiętać, gdzie schowała się ta jedna, która czeka; ona sama wychodzi na wierzch.
To różnica między zarządzaniem uwagą a jej rozpraszaniem. Dziesięć kart wymaga, żebyś to Ty co chwilę sprawdzał każdą z osobna. Jedno okno z jasnym stanem robi to za Ciebie i zwalnia Cię z pilnowania.
Rust i Dioxus zamiast drugiej przeglądarki
Aplikacja, która ma chodzić w tle cały dzień i odświeżać stan wielu sesji na żywo, nie może zjadać zasobów jak druga przeglądarka. Dlatego zamiast Electrona poszliśmy w Rust z Dioxusem. Dioxus pozwala pisać interfejs w stylu komponentów, znanym z frontu, ale kompiluje się do natywnego binarium - bez pakowania całego silnika Chromium tylko po to, żeby narysować listę i pole tekstowe.
W praktyce oznacza to okno, które startuje od razu i trzyma niski ślad pamięci nawet przy kilkunastu otwartych sesjach. Dla narzędzia, które ma być włączone cały czas, to nie kosmetyka - to różnica między programem, o którym zapominasz, a takim, który grzeje laptopa w tle.
Ślad pamięci na starcie (orientacyjnie, MB)
Jeden rdzeń, wiele wcieleń
Gyred nie jest osobnym programem obok panelu i aplikacji mobilnej. Rdzeń sesji - połączenie, kolejka zdarzeń, stan każdej rozmowy, reguły tego, co wymaga człowieka - żyje w warstwie w Rust, niezależnej od tego, co go rysuje. Widok w Dioxus to skorupa nad tym rdzeniem, spięta z nim przez wspólne typy, a nie przez osobne API do samego siebie.
Ta sama decyzja daje premię, która wpadła niejako po drodze: kod komponentów celuje też w inne platformy. Piszesz widok raz, a logika sesji jest jedna dla wszystkich wcieleń Gyre. Nowa reguła albo nowy stan sesji łapie się w rdzeniu i pojawia wszędzie tym samym commitem, zamiast być trzy razy przepisywana i trzy razy psuta inaczej.
Kto czeka, ten na górze
Cała wartość takiego okna sprowadza się do jednej rzeczy: nigdy nie przegapić sesji, która czeka na Ciebie. Dlatego sortowanie nie idzie po czasie utworzenia, tylko po tym, czy sesja potrzebuje człowieka. Jeden agent zablokowany na pytaniu ma być na górze listy, a nie zagrzebany między dziesięcioma, które wciąż pracują.
Prosta reguła, która zmienia komfort pracy: sesje sortuj po tym, czy czekają na człowieka, nie po czasie utworzenia. Kolejka ustawia się sama, a Ty patrzysz tylko na górę listy zamiast skanować całość w poszukiwaniu tej jednej, która stanęła.
połączenie, kolejka zdarzeń i stan każdej sesji w warstwie niezależnej od widoku.
lista sesji i pełna rozmowa jako komponenty, spięte z rdzeniem przez wspólne typy.
sesje czekające na decyzję lądują na górze, reszta poniżej, żeby nic nie zginęło.
kompilacja do natywnego okna, które startuje szybko i trzyma niski ślad pamięci.
Jaki jest finalny efekt
Zamiast polowania po kartach dostajesz jeden ekran, na którym od razu widać, gdzie jest Twoja kolej. Odpowiadasz sesji wprost z okna, wracasz do swojej roboty, a agenty pracują dalej. Mniej przełączania, mniej przegapionych decyzji, mniej sesji stojących w próżni tylko dlatego, że nie zauważyłeś pytania.
A ponieważ to natywne binarium, a nie opakowana strona, okno zachowuje się jak reszta programów na pulpicie: startuje natychmiast, nie ciąży pamięci i nie ginie w gąszczu zakładek. Rdzeń w Rust jest jeden dla wszystkich wcieleń Gyre, więc desktop nie jest osobnym projektem do utrzymania - rośnie razem z panelem i aplikacją mobilną.
Jedno okno, w którym od razu widać, czyja jest kolej - reszta sama ustawia się w kolejce.
Więcej projektów
Inne realizacje z tej samej kategorii - zobacz, jak podchodzimy do podobnych wyzwań.
Masz podobny projekt?
Napisz do nas - wycena jest bezpłatna i wraca w godzinę.



