Jak uruchomić w pełni funkcjonalny terminal roboczy z agentami AI bezpośrednio w przeglądarce
Czasami trzeba szybko naprawić padnięty serwis z tabletu w podróży lub sprawdzić logi na laptopie, na którym nie ma skonfigurowanych zwykłych kluczy SSH. Zwykle oznacza to męczenie się z mobilnymi terminalami, potykanie o niewygodne wprowadzanie tekstu i ponowne ustanawianie sesji, które się zerwały po utracie połączenia.
Ostatnio natknąłem się na Tabminal. Developer stworzył terminal webowy, który rozwiązuje jednocześnie dwa problemy: utrzymywanie trwałych sesji serwera, jednocześnie łącząc tradycyjny dostęp powłoki z protokołem ACP do pracy z autonomicznymi agentami AI.
Co potrafi Tabminal
W istocie to w pełni funkcjonalne środowisko pracy w przeglądarce. Backend działa na Twojej maszynie lub serwerze, a łączysz się z nim przez interfejs webowy lub aplikację PWA.
Kluczowe funkcje:
- Sesje nie umierają, gdy zamykasz kartę, odświeżasz stronę lub przełączasz się z Wi-Fi na dane komórkowe.
- Wbudowany edytor plików oparty na Monaco (silnik VS Code) z podświetlaniem składni i podglądem obrazów.
- Natywna obsługa ACP (Agent Client Protocol) do uruchamiania autonomicznych asystentów takich jak Claude Code, Gemini CLI czy Codex.
- Zarządzaj klastrem wielu serwerów w jednym oknie z oddzielnymi prawami dostępu.

Praca z agentami AI przez ACP
Integracja AI idzie tu głębiej niż boczny panel czatu obok konsoli. Projekt obsługuje specyfikację ACP, więc agent działa w izolowanym kontekście i wyświetla swoje działania bezpośrednio w interfejsie:
- Wywołania narzędzi i wykonanie poleceń są pokazywane w czasie rzeczywistym.
- Zmiany w kodzie są wyświetlane jako czytelne bloki diff.
- Jest przycisk "Jump in", który przenosi Cię prosto do działającego terminala agenta, jeśli musisz przejąć kontrolę ręcznie.
- Stan dialogu, plany wykonania i transkrypcje są zachowywane między przeładowaniami strony.
Jeśli narzędzia CLI od Anthropic, Google czy OpenAI są zainstalowane na serwerze, Tabminal automatycznie je wykrywa w ścieżkach systemowych.
Ponadto złożonym agentom, istnieje też prosty wbudowany asystent. Jeśli wpiszesz polecenie z symbolem # na początku linii, serwer wysyła żądanie do OpenAI lub OpenRouter, biorąc pod uwagę ostatnią historię powłoki. Gdy polecenie zawiedzie z błędem, system sam zaproponuje poprawkę.
Multi-Host i interfejs mobilny
Ciekawy szczegół architektoniczny: jedno działające wystąpienie Tabminal może pełnić rolę centralnego huba. W pasku bocznym dodajesz inne serwery, na których również działa backend projektu. Rejestr hostów jest zapisywany na głównym serwerze, a autoryzacja działa indywidualnie dla każdego węzła.
Warto osobno wspomnieć o adaptacyjności. Zwykle webowe terminale na smartfonach zamieniają się w koszmar z powodu klawiatury ekranowej i brakujących klawiszy Ctrl, Alt czy Esc. W Tabminal wirtualny panel jest umieszczony tuż nad klawiaturą, a interfejs może zwinąć się do widoku kompaktowego, szanując bezpieczne obszary ekranu (Safe Area na iOS).

Architektura i bezpieczeństwo
Pod maską projekt wykorzystuje klasyczny stack: Node.js w wersji 22 lub wyższej, framework Koa, emulator node-pty i WebSockety. Strona klienta jest napisana w czystym JavaScript bez ciężkich frameworków, a biblioteka xterm.js odpowiada za renderowanie konsoli.
Ważne: Tabminal daje bezpośredni dostęp do systemu plików i wykonywanie poleceń z prawami użytkownika uruchamiającego proces. Nigdy nie wystawiaj jego portu na publiczny internet bez zabezpieczenia. Do zdalnego dostępu autor bezpośrednio zaleca izolowane sieci overlay jak Tailscale lub tunelowanie z autoryzacją przez Cloudflare Access. Przy starcie flaga --accept-terms jest obowiązkowa, w przeciwnym razie proces zakończy się błędem.
Szybki start
Najłatwiejszy sposób na uruchomienie narzędzia to przez npx:
npx tabminal --accept-terms
Jeśli planujesz korzystać z wbudowanego asystenta, podaj klucz OpenAI lub OpenRouter:
npx tabminal --openai-key "YOUR_API_KEY" --accept-terms
Do trwałego wdrożenia jest gotowy obraz Docker:
docker run --rm -it -p 9846:9846 \
leask/tabminal \
--accept-terms
Przy starcie bez hasła serwer wygeneruje tymczasowy token i wydrukuje go w konsoli. Wszystkie ustawienia są zapisywane lokalnie w katalogu ~/.tabminal/.
Kto znajdzie ten projekt przydatny
Tabminal zamyka lukę między klasycznym SSH przez terminal a ciężkimi cloudowymi IDE. Jeśli często adminiszujesz serwer domowy, pracujesz z wielu różnych urządzeń lub chcesz przetestować agentów AI w izolowanym środowisku przez web, projekt zdecydowanie warto uruchomić lokalnie. Repozytorium ma otwartą licencję (MIT), więc nic nie stoi na przeszkodzie, żeby dostosować je do własnych potrzeb.
Powiązane projekty