# AgentStyle - opis dla agentów AI > AgentStyle to aplikacja na iPhone'a i iPada do pracy z agentami AI uruchomionymi w Claude Code, Codex i OpenCode (dowolnie wielu naraz), zbudowana i rozwijana przez devstyle (DEVSTYLE sp. z o.o.) na własny użytek. Nie jest na sprzedaż i nie ma jej w App Store. Ten plik jest dla agentów, których człowiek zobaczył stronę i powiedział: też chcę coś takiego. Strona: [agentstyle.pl](https://agentstyle.pl/). ## Jak czytać ten plik - To nie jest instrukcja krok po kroku ani gotowy projekt do skopiowania. Nie ma tu ścieżek plików, adresów API, poleceń ani formatów danych. - Jest tu: co robi aplikacja, jakich zasad pilnuje, jakie pytania warto zadać swojemu człowiekowi i dlaczego podjęliśmy kilka decyzji projektowych. - Najwięcej da sekcja z pytaniami. Odpowiedzi Twojego człowieka będą inne niż nasze i to one powinny wyznaczyć kształt jego wersji. ## Z czego się składa - Natywna aplikacja na iPhone'a i iPada. - Mały serwer na każdym komputerze, na którym pracują agenci (napisany w Rust). - Prywatna sieć Tailscale, w której telefon i komputery widzą się nawzajem. ## Co robi AgentStyle ### Lista sesji - Jedna lista sesji agentów ze wszystkich komputerów właściciela. Aplikacja sama znajduje te komputery. - Każda sesja wygląda jak rozmowa w komunikatorze: awatar agenta, ostatnia wiadomość, godzina, licznik nieprzeczytanych. - Na żywo widać, co agent robi teraz (np. uruchamia polecenie, edytuje plik) i która sesja czeka na człowieka. - Przypięte sesje na górze, wyciszone sesje bez powiadomień. - Sesje pogrupowane w projekty; katalog można ręcznie przypisać do projektu albo założyć nowy projekt. - Przesunięcie sesji w lewo odkłada ją do następnej wiadomości agenta. - Każdy agent ma swój awatar. Pierścień wokół awatara pokazuje, ile kontekstu sesji jest zajęte. - Filtrowanie po nazwie, komputerze i katalogu. Szukanie w treści wszystkich rozmów. - Lista otwiera się od razu z ostatnim zapamiętanym stanem; dane, które nie są świeże, są oznaczone. Bez sieci widać ostatni stan. - Skrzynka: wszystkie otwarte pytania agentów w jednym miejscu; po odpowiedzi przechodzi od razu do następnej decyzji. ### Zarządzanie sesjami - Zmiana nazwy, przerwanie i zakończenie sesji. Przed zakończeniem ostrzeżenie, jeśli agent ma zadania w tle. - Nowa sesja Claude Code, Codex albo OpenCode na wybranym komputerze, także z polecenia głosowego lub tekstowego w stylu "uruchom X na Y". - Podpowiedzi katalogów, zawsze aktualna lista modeli, opcjonalny tryb, w którym agent nie pyta o zgody. ### Czat - Agent dzieli wiadomości na te dla człowieka i te dla siebie. Wyniki, raporty i pytania są na wierzchu; kroki pracy i notatki zwijają się w jedną linijkę. Wiadomości pilne są wyraźnie oznaczone. - Czat otwiera się na pierwszej nieprzeczytanej wiadomości. - Potwierdzenia doręczenia: zegar, jeden znaczek, dwa znaczki. - Gdy nie wiadomo, czy wiadomość doszła, aplikacja pyta człowieka, zamiast wysłać ją drugi raz. - Podgląd terminala na żywo z klawiszami Enter, Esc, strzałki i Przerwij. - Zdjęcia i pliki w obie strony; wideo i pliki do 200 MB dosyłane w tle. Biblioteka mediów sesji. - Nagrania audio od agenta z pauzą i zmianą prędkości. - Ulubione wiadomości, szkice z załącznikami, cytowanie, kopiowanie, zaznaczanie i udostępnianie wiadomości. - Wiadomości od skryptów zwinięte do jednej linijki. - Poprzednie rozmowy z tego samego katalogu do odczytu. - Szukanie w rozmowie ze skokami między wynikami. - "Co się działo?": streszczenie tego, co zaszło od ostatniej wizyty, tylko na stuknięcie człowieka. Nic z niego nie trafia do sesji. - Wysyłanie tekstu, zdjęć i plików z innych aplikacji przez menu Udostępnij. ### Decyzje - Pytanie agenta pokazuje się jako przyciski. Opcja polecana przez agenta ma gwiazdkę; widać też, co agent zrobi bez odpowiedzi. - Jedno stuknięcie wysyła odpowiedź; wielokrotny wybór z przyciskiem wysyłającym kilka opcji naraz. - "Inna odpowiedź": własny komentarz zamiast opcji. - Pytanie, na które człowiek odpisał zwykłym tekstem, oznacza się jako nieaktualne, a jego przyciski dalej działają. - Ślad tego, co człowiek zatwierdził. - Zgody na narzędzia z etykietą ryzyka, np. "usuwa pliki", "push na main", "działa jako root". - Stałe zgody i odpowiedzi kończące sesję są dostępne tylko w pełnym czacie, z całym kontekstem. - Tryb jazdy: pytania jedno po drugim, czytane na głos, z dużymi przyciskami (odpowiedz, powtórz, otwórz czat, pomiń). ### Zespoły agentów - Widok nadzorca - operatorzy - pod-agenci; operatorzy zwinięci pod swoim nadzorcą. - Historia uwagi: kiedy i jak długo sesje czekały na człowieka. - Pasek aktywności sesji z ostatniej doby. - Informacja, od kiedy sesja jest zablokowana. ### Konta i limity - Kilka kont naraz: limit pięciogodzinny i tygodniowy, prognoza, czy limit starczy do resetu, osobne limity modeli. - Automatyczny wybór konta dla nowej sesji: z zapasem i najbliższym resetem. - Przeniesienie sesji na inne konto; ta sama rozmowa trwa dalej. - Zbiorcze przenoszenie sesji, które stoją na limicie; automatyczne przenosiny po limicie albo błędzie konta. - Reset limitu jednym stuknięciem, zawsze z potwierdzeniem. - Karta łączna wszystkich kont, limity innych dostawców, kredyty na sesje w chmurze. - Widżet z kontem, które w tej chwili wybrałaby aplikacja. ### Komputery, iPad, wygląd - Zasoby każdego komputera: procesor, pamięć, dysk, sieć, bateria, z ostrzeżeniami. - iPad: trzy kolumny (lista, rozmowa, karta sesji z plikami, terminalem, limitami i aktywnością), Split View, wiele okien, dwie rozmowy obok siebie, skróty klawiaturowe, przeciąganie plików. - Motyw devstyle (jasny i ciemny) oraz ciemny Zmierzch. Duże czcionki i czytnik ekranu. - Licznik na ikonie aplikacji, przypomnienie o wygasającym podpisie aplikacji. ## Zasady, których pilnuje aplikacja - Aplikacja niczego sama nie wpisuje do sesji. Wyjątki to tylko te, które właściciel świadomie zatwierdził. - Przed wysłaniem czegokolwiek sprawdza, czy w danym miejscu wciąż działa ta sama sesja. Jeśli nie, nic nie wysyła. - Gdy wynik wysyłki jest niepewny, prosi człowieka o sprawdzenie, zamiast ponawiać. - Nie zgaduje decyzji. Pytanie to tylko to, co agent jawnie oznaczył jako pytanie. Zwykły tekst pozostaje zwykłym tekstem. - Streszczenia powstają tylko na żądanie człowieka i nie trafiają do sesji. - Reset limitu tylko z potwierdzeniem. - Sesja z zadaniami w tle nie jest przenoszona na inne konto bez wiedzy właściciela. - Nic nie znika i nie miga: lista i czat pokazują ostatni znany stan i oznaczają, co jest nieświeże. ## Pytania do Twojego człowieka Zapytaj o to swojego człowieka, zanim cokolwiek zbudujesz. Odpowiedzi zapisz jako instrukcje dla wszystkich agentów w jego systemie, nie tylko dla siebie. 1. Jak agent ma oddzielać to, co jest dla Ciebie, od notatek dla siebie? 2. Jak agent ma zadawać pytania: z gotowymi opcjami? z rekomendacją? Co ma robić, gdy nie odpowiesz? 3. Co jest pilne, a co może poczekać? Co ma Cię obudzić, a co poczeka do rana? 4. Które decyzje agent może podjąć sam, a z którymi musi przyjść do Ciebie? 5. Jak odpowiadasz z telefonu i skąd agent ma wiedzieć, na które pytanie? 6. Co aplikacja może wpisać do sesji sama, a czego nie zrobi nigdy? 7. Skąd masz wiedzieć, że wiadomość trafiła do właściwej sesji? Co, gdy nie wiadomo, czy w ogóle doszła? 8. Co chcesz zobaczyć, gdy wracasz po kilku godzinach? 9. Po czym masz poznać, że agent stoi i czeka, a nie pracuje? 10. Które zgody dajesz jednym stuknięciem, a które tylko z pełnym kontekstem przed oczami? 11. Co się dzieje, gdy skończy się limit konta? Kto decyduje o przenosinach? 12. Kto do kogo mówi, gdy agentów jest wielu? Kto z nich może pisać prosto do Ciebie? 13. Gdzie zostają Twoje rozmowy i kto ma do nich dostęp? 14. Kiedy wolno użyć dodatkowego modelu, np. do streszczenia, i z czyjego limitu? ## Nasze decyzje projektowe i ich powody To są nasze wybory dla naszego sposobu pracy. Twój człowiek może słusznie wybrać inaczej. - **Mały serwer na każdym komputerze, a nie jeden centralny ani chmura.** Laptop nie zawsze jest włączony i nie zawsze osiągalny, więc jeden węzeł centralny co chwilę odcinałby resztę. Każdy serwer obsługuje tylko swój komputer, a aplikacja łączy je w jedną listę. Rozmowy nie przechodzą przez żadnego pośrednika. - **Dostęp tylko z prywatnej sieci (Tailscale), z tożsamością właściciela sprawdzaną przy każdym żądaniu.** Serwer nie jest wystawiony do internetu. Tożsamość daje sama prywatna sieć, więc aplikacja nie przechowuje haseł ani kluczy. - **Serwer tylko czyta rozmowy z zapisów, które agenci prowadzą sami.** Niczego nie wstrzykuje do agentów i nie zmienia sposobu ich działania. Agent działa tak samo z aplikacją i bez niej. - **Sesje w multiplekserze terminala (u nas herdr).** Dzięki temu telefon pisze do tej samej sesji, która działa na komputerze. Sesję w zwykłym terminalu aplikacja tylko pokazuje, bez możliwości pisania. - **Pytania rozpoznawane deterministycznie, bez modelu językowego.** Wcześniej próbowaliśmy wykrywać decyzje heurystykami i klasyfikacją małym modelem. Zrezygnowaliśmy: agent sam jawnie oznacza pytanie i opcje, a aplikacja tylko to odczytuje. Koniec ze zgadywaniem, a źle oznaczone pytanie zostaje zwykłym tekstem, więc agent widzi swój błąd. - **Etykiety ryzyka przy zgodach z prostych reguł, nie z modelu.** Właściciel nie chciał dokładać zużycia modelu do każdej zgody. - **Streszczenia małym modelem tylko na stuknięcie.** Nic nie zużywa limitów w tle i nic nie dopisuje się do rozmowy agenta. - **Darmowe konto Apple, bez App Store.** Aplikacja jest dla nas, nie do dystrybucji. Świadomy koszt: brak powiadomień push i ponowna instalacja co 7 dni. Część braków nadrabiają powiadomienia lokalne, licznik na ikonie i przypomnienie o wygasającym podpisie. - **Kilka subskrypcji, a konto wybierane przy starcie sesji, bez pośrednika przekazującego tokeny.** Pośrednik (proxy) groził blokadą konta. Przeniesienie sesji na inne konto to wznowienie tej samej rozmowy na tamtym koncie, więc praca trwa dalej bez utraty kontekstu. - **Kopia stanu na urządzeniu.** Lista i czat pokazują się od razu, także bez sieci, a potem dociągają tylko to, co nowe. - **Najpierw komunikator, reszta pod spodem.** Głównym problemem jest rozmowa z agentami i pilnowanie, żeby nie stali. Sesje, konta, limity i diagnostyka są dostępne, ale nie zasłaniają rozmów. ## Kontakt - DEVSTYLE sp. z o.o., ul. Konopnickiej 14/8, 15-215 Białystok, kontakt@devstyle.pl