Jak uruchomić agenta AI do kodowania na serwerze VPS
Instrukcja konfiguracji Aider lub Goose na VPS z wykorzystaniem sesji tmux oraz modelu Ollama. Optymalizacja zasobów, bezpieczeństwo i praca zdalna w terminalu Linux.
Dlaczego warto uruchomić agenta programistycznego na VPS
Agent programistyczny to narzędzie, które analizuje kod źródłowy, wprowadza zmiany i wykonuje polecenia w celu ich przetestowania, działając w całości z poziomu terminala. Uruchomienie go na VPS oferuje trzy przewagi nad laptopem: praca trwa po rozłączeniu, agent znajduje się w bezpośrednim sąsiedztwie kodu i narzędzi budowania oraz może komunikować się z modelem hostowanym samodzielnie. Uruchomienie w sesji tmux pozwala zamknąć laptopa i wznowić pracę w dowolnym momencie, zgodnie ze schematem opisanym w uruchamianie Claude Code na VPS z użyciem tmux.
Warto znać dwa agenty działające w terminalu. Aider to rozwiązanie natywne dla terminala, stawiające na pierwszym miejscu git: automatycznie zatwierdza każdą zmianę z czytelnym komunikatem, dzięki czemu historia pozostaje przejrzysta, a każda edycja jest odwracalna. Jest to jeden z najdłużej rozwijanych agentów programistycznych dla terminala, choć tempo wydawania nowych wersji spadło. Goose, stworzony przez Block, ma szersze zastosowanie: to agent na licencji Apache-2.0 z rozbudowanym ekosystemem rozszerzeń i wsparciem dla wielu dostawców, w tym lokalnych modeli Ollama, rozwijany obecnie w ramach Agentic AI Foundation (AAIF) pod egidą Linux Foundation. Aider sprawdza się w zdyscyplinowanym przepływie pracy opartym na git; Goose jest odpowiedniejszy jako wszechstronny asystent z szerokim zestawem wtyczek.
Wymagania
Wymagany jest serwer VPS z zainstalowanym git, tmux oraz aktualną wersją Python dla Aider lub instalatorem Goose dla Goose. Niezbędny jest również model: klucz API od dostawcy takiego jak Anthropic lub OpenAI albo model lokalny udostępniany przez Ollama na tym samym serwerze VPS. Rozwiązanie z własnym hostowaniem pozwala zachować kod na własnym serwerze i eliminuje koszty za token, jednak wymaga posiadania pamięci RAM wystarczającej do obsługi wydajnego modelu.
Instalacja i uruchomienie Aider
Zainstaluj Aider w izolowanym środowisku za pomocą pipx, który jest dostępny w apt, ponieważ Ubuntu 24.04 blokuje zwykłe pip install poza wirtualnym środowiskiem (PEP 668). Następnie uruchom Aider wewnątrz projektu, w sesji tmux, aby proces nie został przerwany po rozłączeniu:
sudo apt install pipx
pipx ensurepath
pipx install aider-chat
tmux new -s aider
cd ~/my-project
aiderUwaga dotycząca wersji: ta metoda instalacji działa na Ubuntu 24.04. Na Ubuntu 26.04 obecnie kończy się niepowodzeniem, ponieważ sztywne zależności Aider obejmują starszą wersję numpy, która nie kompiluje się z Python 3.14 w wersji 26.04. Rozwiązaniem jest dostarczenie Aider własnego interpretera Python 3.12:
pipx install --python 3.12 --fetch-missing-python aider-chatpipx pobiera samodzielny interpreter przeznaczony wyłącznie dla Aider, co pozwala na ukończenie instalacji. Jest to objaw spowolnionego tempa wydawniczego Aider; jeśli jest to problematyczne, Goose stanowi bardziej aktywnie rozwijaną alternatywę.
Po uruchomieniu odłącz się od sesji za pomocą Ctrl-b, a następnie d. Agent będzie kontynuował pracę nawet po zamknięciu laptopa. Powróć do sesji później za pomocą tmux attach -t aider, aby sprawdzić wprowadzone zmiany. Nic nie stoi na przeszkodzie, aby otworzyć drugie okno tmux dla kolejnego agenta. Jeśli oba są instancjami Claude Code, obie sesje mogą przekazywać sobie zadania, zamiast ręcznego pośrednictwa użytkownika. Aider analizuje repozytorium, proponuje edycje, stosuje je i zatwierdza każdą z nich. Może również pobierać dodatkowe pliki w celu uzyskania kontekstu, gdy zmiana obejmuje wiele z nich. Ponieważ każda zmiana jest osobnym commitem, cofnięcie działań agenta sprowadza się do zwykłego git revert, co stanowi mechanizm bezpieczeństwa ułatwiający pracę. Goose instaluje się za pomocą udokumentowanego skryptu jednowierszowego i działa w podobny sposób z poziomu terminala, realizując zadania poprzez swoje rozszerzenia:
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bashModel hostowany czy model self-hosted
Model hostowany zapewnia najwyższą jakość i nie wymaga lokalnego sprzętu, jednak wiąże się z kosztami za każdy token, a kod jest przesyłany do dostawcy. Koszty za token sumują się szybciej, niż większość użytkowników zakłada, ponieważ agent przy każdej iteracji przesyła ponownie całą historię konwersacji. Analiza Claude Code dotycząca tego, ile tokenów faktycznie zużywa długa sesja agenta, ma tu zastosowanie, gdyż Aider i Goose rozliczają się w ten sam sposób. Model self-hosted uruchomiony przez Ollama pozwala zachować wszystkie dane na własnym serwerze i jest darmowy w eksploatacji po zakupie sprzętu, jednak model programistyczny o wystarczającej użyteczności wymaga znacznych zasobów pamięci. To jest kompromis, który należy rozważyć: jakość i wygoda kontra prywatność i koszty.
W przypadku wyboru modelu self-hosted, kluczowym pytaniem technicznym jest to, który model zmieści się na serwerze. Należy monitorować okno kontekstowe, ponieważ Ollama domyślnie ustawia małą wartość i bez ostrzeżenia ucina dłuższe treści, co w przypadku agenta programistycznego oznacza, że pliki właśnie odczytane znikają z promptu: zwiększenie num_ctx rozwiązuje ten problem, a większa pamięć podręczna KV, której to wymaga, stanowi część budżetu pamięci RAM. Należy oszacować wymagania przed pobraniem ośmiogigabajtowego modelu na maszynę, która nie posiada wystarczających zasobów:
Bezpieczeństwo: edycja plików i wykonywanie poleceń
Agent programistyczny nie jest pasywny. Modyfikuje pliki oraz może uruchamiać polecenia budowania i testowania, dlatego należy traktować go z taką samą ostrożnością, jak każdy proces mający uprawnienia do zmian w systemie. Trzy nawyki pozwalają wyeliminować większość zagrożeń. Pracuj wewnątrz repozytorium git, dzięki czemu każda zmiana jest śledzona i odwracalna, co Aider wykonuje automatycznie. Uruchamiaj agenta jako zwykły użytkownik bez uprawnień roota, zgodnie z zasadą użytkowników z minimalnymi uprawnieniami, aby błędne polecenie nie mogło wpłynąć na cały system. Zadbaj również o zabezpieczenie samej maszyny, ponieważ VPS z narzędziami programistycznymi pozostaje serwerem publicznym: stosuj logowanie SSH wyłącznie przez klucze, domyślną politykę firewall typu deny oraz pozostałe standardowe środki. Przewodnik po zabezpieczeniach OpenClaw przyjmuje to samo stanowisko w odniesieniu do bardziej autonomicznych agentów, a te zasady mają zastosowanie uniwersalne.
Aby zintegrować agenta programistycznego z własnym procesem pracy, budowanie agenta AI z Claude pokazuje, jak model steruje narzędziami; uruchamianie Gemini CLI od Google na VPS stanowi alternatywną opcję terminalową, a samodzielne hostowanie OpenHands to bardziej rozbudowana, autonomiczna ścieżka. Najpopularniejszy projekt open source w tej dziedzinie posiada własny przewodnik: uruchamianie OpenCode na VPS konfiguruje go przy użyciu tego samego schematu z tmux oraz użytkownikiem bez uprawnień roota.
FAQ
Czy mogę uruchomić agenta programistycznego z lokalnym modelem zamiast płatnego API?
Tak. Zarówno Aider, jak i Goose współpracują z lokalnymi modelami udostępnianymi przez Ollama, dzięki czemu można uruchomić agenta programistycznego w pełni we własnej infrastrukturze, bez kosztów za token i bez przesyłania kodu poza serwer. Ograniczeniem jest pamięć: model wystarczająco wydajny, aby pisać użyteczny kod, wymaga znacznej ilości pamięci RAM lub VRAM, dlatego przed podjęciem decyzji należy dobrać parametry maszyny do modelu.
Aider czy Goose, co wybrać?
Wybierz Aider, jeśli Twój proces pracy opiera się na terminalu i git, a zależy Ci na najbardziej dojrzałym rozwiązaniu o najniższym narzucie; narzędzie automatycznie zatwierdza każdą zmianę, dzięki czemu historia pozostaje odwracalna. Wybierz Goose, jeśli potrzebujesz bardziej rozbudowanego asystenta z dużym ekosystemem rozszerzeń i wsparciem dla wielu dostawców. Oba narzędzia działają z poziomu terminala i oba współpracują z Ollama, więc każde z nich sprawdzi się na VPS.
Ile pamięci potrzeba dla lokalnego modelu programistycznego?
Zależy to od rozmiaru modelu i stopnia jego kwantyzacji. Mały, skwantyzowany model może działać na kilku gigabajtach, podczas gdy silniejszy model wymaga znacznie więcej, a długie okna kontekstowe dodatkowo zwiększają to zapotrzebowanie. Użyj powyższego narzędzia do szacowania, aby określić pamięć wymaganą dla danego modelu i długości kontekstu przed jego pobraniem.
Czy bezpieczne jest zezwalanie agentowi AI na edycję kodu i uruchamianie poleceń?
Jest to możliwe do opanowania przy odpowiednich nawykach. Przechowuj pracę w repozytorium git, aby każda edycja była odwracalnym commitem, uruchamiaj agenta jako użytkownik bez uprawnień, a nie jako root, i zabezpiecz VPS tak, jak każdy inny serwer publiczny. Weryfikuj zmiany, które agent zatwierdza, zamiast ufać im bezkrytycznie, zwłaszcza w przypadku poleceń, które mają zostać wykonane w systemie.