Uruchom autonomicznego agenta AI bezpośrednio w terminalu dzięki Zero
Często łapię się na tym, że jestem wyczerpany ciągłym przełączaniem się między oknem IDE, przeglądarką a terminalem, aby wprowadzać zmiany na podstawie sugestii sieci neuronowych. Większość gotowych rozwiązań jest albo powiązana z konkretną płatną subskrypcją, albo wymaga przekazania całego projektu serwerom stron trzecich bez wyraźnej kontroli nad tym, co dokładnie jest wysyłane do chmury. Niedawno odkryłem interesujący projekt o nazwie Zero stworzony przez zespół Gitlawb. To agent do kodowania działający w terminalu, napisany w Go, który uruchamia się bezpośrednio na Twojej maszynie z wybranym modelem.
Bez uzależnienia od dostawcy. Chcesz połączyć lokalną Ollamę lub LM Studio dla pełnej prywatności — śmiało. Potrzebujesz zlecić złożone zadanie refaktoryzacji Claude 3.5 Sonnet, DeepSeek lub Gemini — po prostu dodaj swój klucz API i możesz zaczynać.
Co potrafi agent i czym różni się od alternatyw
Zero jest zaprojektowane jako narzędzie dla deweloperów ceniących kontrolę. Agent nie tylko generuje fragmenty tekstu w czacie — potrafi eksplorować bazę kodu, edytować pliki, uruchamiać testy i wykonywać polecenia terminala.
Główna różnica tkwi w podejściu do bezpieczeństwa i kontroli dostępu. Domyślnie agent może odczytywać pliki w katalogu roboczym, ale wszelkie próby zapisu poza projekt, wykonania niebezpiecznych poleceń powłoki lub dostępu do sieci napotykają system uprawnień.
Narzędzie działa w dwóch trybach:
- Interaktywny TUI z obsługą motywów, przełączaniem modelu w locie, przeglądaniem diffów i nawigacją po gałęziach rozmowy.
- Tryb automatyczny za pomocą polecenia
zero exec, który można osadzać w skryptach bash lub potokach CI.
Wszystkie sesje są przechowywane lokalnie na dysku. Możesz zatrzymać pracę w dowolnym momencie, wrócić do starego zadania za pomocą /resume lub utworzyć izolowaną gałąź sesji za pomocą polecenia /btw, aby zadać dodatkowe pytanie bez zaśmiecania głównego kontekstu dialogu.
Instalacja i pierwsze uruchomienie
Zero można zainstalować na kilka sposobów. Najłatwiejszy to użycie npm lub oficjalnego skryptu instalacyjnego.
Przez npm:
npm install -g @gitlawb/zero
zero
Lub za pomocą skryptu instalacyjnego dla systemów Linux i macOS:
curl -fsSL https://raw.githubusercontent.com/Gitlawb/zero/main/scripts/install.sh | bash
Aby zbudować ze źródeł, potrzebujesz Go w wersji 1.26.5 lub nowszej:
git clone https://github.com/Gitlawb/zero.git
cd zero
go build -o zero ./cmd/zero
Przy pierwszym uruchomieniu polecenie zero uruchamia interaktywnego kreatora konfiguracji. Pomaga wybrać dostawcę modelu i zweryfikować połączenie. Jeśli korzystasz z chmurowych API, po prostu wcześniej wyeksportuj wymagany klucz:
export ANTHROPIC_API_KEY="sk-ant-..."
# или
export OPENAI_API_KEY="sk-..."
W przypadku modeli lokalnych narzędzie może automatycznie wykrywać działające instancje Ollama za pomocą polecenia zero providers detect.
Codzienne scenariusze użycia
Interfejs terminala jest responsywny i wygodny. TUI udostępnia skróty klawiszowe i polecenia poprzedzone ukośnikiem. Na przykład cykliczne zmienianie uprawnień odbywa się za pomocą Shift+Tab, a wybór modelu wywołuje się poleceniem /model.
/spec — составить и обсудить план изменений до правок кода
/image — прикрепить скриншот интерфейса или схемы
/compact — сжать контекст, если диалог стал слишком длинным
/add-dir — выдать агенту временные права на запись в соседнюю папку
Jeśli interfejs graficzny nie jest potrzebny, z pomocą przychodzi tryb headless. Załóżmy, że autotesty w jednym z Twoich pakietów Go zakończyły się niepowodzeniem:
zero exec "fix the failing test in ./pkg"
W przypadku złożonych zadań wygodnie jest używać izolowanych git worktrees, aby agent nie dotykał Twojej roboczej gałęzi, dopóki nie przejrzysz wyniku:
zero exec --worktree "try the migration in an isolated worktree"
Zero obsługuje również strumieniowanie danych wyjściowych w formacie JSONL za pomocą flagi --output-format stream-json, co upraszcza pisanie wrapperów i integrację z usługami zewnętrznymi.
Rozszerzalność za pomocą MCP, wtyczek i specyfikacji
Aby dostosować zachowanie projektu, Zero odczytuje pliki instrukcji AGENTS.md lub ZERO.md bezpośrednio z repozytorium. Jeśli umieścisz taki plik w korzeniu projektu, agent uwzględni standardy kodowania Twojego zespołu, strukturę katalogów i reguły formatowania commitów.
Jeśli wbudowane narzędzia nie są wystarczające, projekt obsługuje:
- MCP (Model Context Protocol) do łączenia zewnętrznych baz danych lub usług stron trzecich.
- Wtyczki z hakami dla zdarzeń rozpoczęcia sesji lub wykonania akcji (
beforeTool,afterTool). - Niestandardowe umiejętności w formacie markdown, które dodają określone scenariusze automatyzacji.
Kto skorzysta na Zero
Narzędzie przypadnie do gustu deweloperom, którzy często pracują na zdalnych serwerach przez SSH, kochają narzędzia terminalowe i nie chcą polegać na zastrzeżonych wtyczkach edytorów. Rygorystyczny sandboks oparty na seccomp dla Linuksa oraz lokalna historia sesji sprawiają, że Zero jest doskonałym wyborem do pracy z zamkniętym kodem korporacyjnym.
Możesz wypróbować projekt na dowolnej platformie — dokumentacja i kod źródłowy są otwarte na licencji MIT na stronie repozytorium.
Powiązane projekty