Agenci AI na serwerze domowym: jedno środowisko dla Windowsa, MacBooka i telefonu
3 min czytania
Agentów AI uruchamiam na domowym serwerze z Linux System operacyjny popularny na serwerach, alternatywa dla Windowsa i macOS-a., a z Windowsa, MacBooka i telefonu tylko nimi steruję. Wszystkie te urządzenia widzą to samo środowisko, a robotę wykonuje serwer. Serwer z Linuxem, SSH Bezpieczne połączenie z innym komputerem, na którym wpisujesz polecenia, jakbyś siedział przy nim. i Docker Program, który uruchamia aplikację w odizolowanym środowisku (kontenerze) razem ze wszystkim, czego potrzebuje. to według mnie najlepsze, co można mieć dla swojego agenta.
Mój sprzęt
Pracuję na Windowsie, MacBooku i serwerze z Linuxem. Serwer to zwykły komputer, który jest też moim NAS Komputer z dyskami, do którego inne urządzenia w domu zapisują i z którego czytają pliki przez sieć., czyli dyskiem sieciowym dostępnym w domowej sieci. Chodzi cały czas, bo bierze niewiele prądu.
Co mi to daje
Z każdego komputera łączę się z serwerem i korzystam z tych samych agentów: Codex Asystent AI firmy OpenAI, który pracuje na plikach na komputerze: czyta je, zmienia i uruchamia programy., Claude Code Asystent AI firmy Anthropic do programowania, który czyta pliki projektu i uruchamia polecenia. albo Copilot Asystent AI od GitHuba do pisania kodu, wbudowany w edytory takie jak VS Code. w VS Code Darmowy edytor do pisania kodu od Microsoftu.. VS Code używałem częściej wcześniej, kiedy otwierałem raczej sam kod niż środowisko dla agentów.
Projekty leżą na serwerze, więc nie zajmują miejsca na dysku MacBooka ani Windowsa i żadnego z nich nie obciążają. Nie mam sytuacji, że coś jest na jednym komputerze, a na drugim nie. Pliki projektu mogę też trzymać na GitHub Serwis w internecie, w którym przechowuje się projekty razem z historią zmian., ale jedno stałe środowisko jest wygodniejsze.
Najbardziej lubię to, że serwer stoi w domu, a ja z telefonu, nawet poza domem, wydaję polecenia agentowi, który działa na komputerze w mojej sieci.
Docker na Linuxie
Docker uruchamia program w odizolowanym środowisku, czyli kontenerze. Na Linuxie działa świetnie, na Windowsie moim zdaniem gorzej, a na macOS-ie też nie za bardzo. Powód jest prosty: kontener korzysta wprost z Linuxa, na którym stoi komputer. Na Windowsie i macOS-ie Docker musi w tle uruchomić maszyna wirtualna Program udający osobny komputer w okienku, na którym działa inny system, tu Linux. z Linuxem, więc jest dodatkowa warstwa, która zjada pamięć i spowalnia m.in. dostęp do plików. W kontenerach uruchamiam zwykle Python Popularny język programowania, np. do skryptów i analizy danych. z jakimiś paczkami albo Node Środowisko do uruchamiania programów napisanych w JavaScripcie, np. stron internetowych. ze stroną.
Minus jest taki, że obrazy kontenerów zajmują sporo miejsca. Każda warstwa obrazu zjada dysk.
Karta graficzna i lokalne modele
Na serwerze mam kartę graficzną, która uciągnie małe modele. Odpalam na niej modele zamieniające mowę na tekst i tekst na dźwięk (to może być temat na osobny wpis) oraz hostuję kilka LLM Duży model językowy, czyli program AI rozumiejący i piszący tekst, np. ChatGPT albo Claude.. Część moich aplikacji z nich korzysta, więc dane przetwarzam prywatnie, u siebie.
Do pisania programu albo wymagającej analizy wolę płatny model. Lokalne biorę do prostych, mocno powtarzalnych rzeczy, bo za wywołanie nic nie płacę. Nie ma rachunku za API Sposób, w jaki jeden program zamawia coś od drugiego, tu płatny dostęp do modelu AI z własnej aplikacji. ani limitu, który się wyczerpie. Koszt to prąd, zużycie sprzętu i wcześniej zakup tego sprzętu.
Aplikacja z oknem zamiast terminala
Wolę aplikacje graficzne od agenta w terminal Okno, w którym zamiast klikać, wpisujesz polecenia tekstem.. Robię zrzut ekranu, zaznaczam na nim, co mi się nie podoba na stronie albo w aplikacji, i komentuję, co poprawić. Wygodny jest też tryb głosowy.
ChatGPT i Claude na komputer bez problemu łączą się przez SSH z moim serwerem domowym. Z wynajętym w chmurze VPS Wynajęty serwer w chmurze, do którego łączysz się przez internet i na którym działają twoje programy. powinno być tak samo. Wtedy mój komputer nie zużywa zasobów, agent pracuje nawet po jego wyłączeniu, a wynik (program, stronę, analizę) obejrzę potem z telefonu.
Największy minus
Domyślnie przez SSH nie mam computer use Tryb, w którym agent AI patrzy na ekran komputera i sam klika oraz pisze. w takim stopniu jak na Windowsie, Macu czy desktopowym Linuxie. Agent odpala polecenia powłoki, np. curl Polecenie, które pobiera pliki i strony z internetu bezpośrednio z terminala., żeby coś pobrać z sieci, albo kontenery Dockera. To działa bez okien i bez podglądu.
Trochę ratuje Playwright Narzędzie, które otwiera stronę w przeglądarce sterowanej programem, np. żeby zrobić jej zrzut ekranu.: agent odpala moją stronę, renderuje ją i pokazuje mi, jak wygląda. Da się też obejść brak ekranu. Na serwerze można uruchomić pulpit bez monitora, np. wirtualny ekran Xvfb Program tworzący w pamięci wirtualny ekran, żeby aplikacje graficzne działały na serwerze bez monitora. albo GNOME Wygląd pulpitu na Linuxie, czyli okna, menu i ikony. z dostępem przez VNC, a agent steruje nim, patrząc na zrzuty ekranu. Nie wymaga to przekierowania grafiki przez SSH. Sam tego u siebie jeszcze nie testowałem.