>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Uruchom autonomicznego agenta AI bezpośrednio w terminalu dzięki Zero

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