ygd-editor

Przewodnik użytkownika

Wszystko, czego potrzebujesz na pierwsze popołudnie z ygd-editor, prostymi słowami. Dziesięć minut czytania, a do każdej sekcji możesz wrócić z listy.

Pomysł w jedną minutę

Git worktree to drugi folder tego samego repozytorium, przełączony na inną gałąź. Zamiast przełączać gałęzie w jednym folderze — i za każdym razem robić stash, przebudowywać i tracić wątek — masz jeden folder na zadanie.

ygd-editor jest zbudowany wokół tego: lewy panel wyświetla listę twoich worktree, środkowy pokazuje, co się zmieniło w wybranym, a prawy uruchamia w nim agenta AI. Dwóch agentów przy dwóch zadaniach pracuje w dwóch folderach i nigdy się nie zderza. Gdy jeden czeka na odpowiedź, skrzynka w nagłówku ci o tym mówi.

Strona startowa: ostatnie repozytoria i akcje na start

Twoje pierwsze dziesięć minut

Po świeżej instalacji strona startowa pokazuje listę Pierwsze kroki: git, dostawca AI, repozytorium, pierwszy worktree i pierwsza sesja. Każdy krok ma przycisk, który go wykonuje, i sam się odhacza, gdy jest gotowy; Ukryj tę listę chowa ją na dobre. Poniżej te same kroki, opisane dokładniej.

  1. Otwórz repozytorium. Na stronie startowej wybierz Otwórz repozytorium i wskaż folder, w którym już jest git, albo Sklonuj repozytorium z adresem URL z GitHub, GitLab lub dowolnego serwera git. Ostatnie repozytoria zostają na stronie startowej.
  2. Utwórz worktree. Nowy worktree (⌘N) proponuje nazwę gałęzi na podstawie zadania i folder, w którym ją umieścić; oba możesz zmienić na dowolną konwencję, której używasz. Git nie pozwala na spacje w nazwie gałęzi, więc zamieniają się w myślniki, a okno pokazuje wynik, zanim cokolwiek utworzy. Gdzie worktree trafiają na dysku i opcjonalny sugerowany prefiks ustawisz w Ustawienia › Git.
  3. Uruchom sesję. + Sesja w prawym panelu wybiera agenta i model; domyślny agent to Ustawienia › Domyślny agent. Wpisz, czego chcesz, w kompozytorze. @ dołącza pliki lub kontekst, na przykład bieżący diff, / uruchamia polecenia agenta, # jego skille. ⌘↵ wysyła.
  4. Pozwól mu pracować — albo go zatrzymaj. Transkrypcja pokazuje każde narzędzie, którego agent używa. Gdy potrzebuje zgody na coś, czego wcześniej nie zatwierdzono, sesja przechodzi w stan Czeka na odpowiedź, skrzynka w nagłówku ją zlicza, a ty zezwalasz lub odmawiasz — „Zawsze zezwalaj” zapamiętuje twój wybór dla tego worktree. Zatrzymaj przerywa; wiadomości wpisane w trakcie pracy trafiają do kolejki.
  5. Przejrzyj zmiany. Zakładka Zmiany wyświetla każdy zmieniony plik razem z tym, kto go zmienił. Kliknij plik, aby zobaczyć diff; zaznacz linie i wybierz Wyjaśnij lub Poproś o zmianę, aby odesłać je do agenta. Ostrzeżenie oznacza pliki, których dotyka też inny worktree tego samego repozytorium.
  6. Commit, push, otwórz PR. Zaznacz pliki do dodania do stage, napisz wiadomość albo Napisz z AI, Commit. Push ustawia upstream; Otwórz pull request wypełnia tytuł, opis (napisany na podstawie diffu, jeśli chcesz), flagę draft, recenzentów i etykiety, po czym przekazuje sprawę do gh lub glab. Karta worktree pokazuje wtedy PR i jego checki.
Konsola z otwartym diffem i działającą sesją Claude Code

Na co dzień

Główny worktree — folder, z którego otworzono repozytorium — jest na liście razem z pozostałymi i to od niego odgałęziają się nowe worktree. Wybierz go i kliknij nazwę jego gałęzi w nagłówku: rozwinie się pole wyszukiwania ze wszystkimi gałęziami — twoimi albo takimi, które istnieją tylko na zdalnym repozytorium i które pobierze jako nową gałąź śledzącą. Pisz, aby zawęzić listę, strzałki i Enter, aby się przełączyć. Gałąź, którą ma już inny worktree, jest na liście, ale wyszarzona, bo git pozwala na jedną gałąź w jednym worktree naraz.

Aktualizuj z bazy na worktree robi fetch i rebase na gałęzi bazowej; konflikty zatrzymują proces z listą plików, rozwiązujesz je, dodajesz do stage i Kontynuuj. Fetch odświeża liczniki przed/za. Zakładka Terminal to prawdziwa powłoka w folderze worktree; Aktywność to oś czasu tego, co się tam działo — commity, pushe, sesje — i przetrwa restarty.

Przekazywanie. Sesję można przenieść do innego worktree z jej menu, razem z transkrypcją, gdy zorientujesz się, że praca należy do innej gałęzi.

Usunięcie worktree kończy jego sesje, archiwizuje ich logi i zapomina jego reguły uprawnień; gałąź zostaje, chyba że ją usuniesz. Ustawienia › Git mogą same usunąć worktree, gdy jego PR zostanie scalony.

Wiele repozytoriów. Otwórz, ile chcesz; nagłówek przełącza między nimi, a skrzynka zlicza oczekujące sesje ze wszystkich.

Git bez terminala

Pull i Aktualizuj z bazy to dwie różne rzeczy. Pull pobiera to, co wypchnięto na twoją własną gałąź — na przykład commit kolegi — żeby twój następny push przeszedł; gdy obie strony mają nowe commity, robi rebase albo merge zgodnie z Ustawienia › Git albo pyta. Aktualizuj z bazy, w menu ···, to drugie zadanie: nadrabianie zaległości względem gałęzi bazowej.

Konflikty. Gdy rebase, merge, revert albo cherry-pick zatrzyma się na konfliktach, otwórz plik i rozwiąż go blok po bloku: zachowaj jedną stronę, drugą albo Zachowaj oba — albo weź cały plik, albo Poproś agenta. Obie strony są nazwane według tego, co się dzieje, więc nie trzeba zgadywać, która jest „nasza”. Oznacz jako rozwiązane, a potem Kontynuuj na pasku.

Amend. Pole commita ma przełącznik Popraw (amend). Commit, którego nie wypchnięto, jest po prostu przepisywany. Wypchniętego nigdy nie wypycha się na siłę: aplikacja umieszcza go na nowej gałęzi, wypycha ją, otwiera nowy pull request i zamyka stary z linkiem do nowego.

Historia. Kliknij prawym przyciskiem commit w Aktywności, aby Kopiuj SHA, Pokaż zmiany, Cofnij (revert) albo zrobić Cherry-pick do… innego worktree.

Pull requesty. Karta PR wymienia każdy check, werdykt każdego recenzenta i komentarze z recenzji z plikiem i wierszem. Uwzględnij recenzję przekazuje otwarte komentarze agentowi; Scal proponuje metody, na które pozwala repozytorium, i mówi, dlaczego jeszcze się nie da. Gdy praca jest już w środku, Posprzątaj scalone worktree… usuwa za jednym razem wszystkie skończone worktree i wymienia te, które zostawia.

Forki. W forku origin to twoja kopia, a upstream — projekt. Aplikacja czyta gałąź bazową z upstream, gdy tylko istnieje, więc nowy worktree startuje od upstream/main, a nie od nieaktualnej kopii w twoim forku, podczas gdy push i pull requesty nadal idą do twojego forka; Fetch pobiera z obu. Ustawienia › Git › Zdalne repozytorium bazy wskazuje inne, a okno zdalnych repozytoriów oznacza je jako base.

Repozytoria bare. Repozytorium otwiera się w całości z każdego swojego folderu: głównego, połączonego worktree, repozytorium bare api.git z worktree obok albo układu proj/.bare. Wszystkie worktree są na liście. Repozytorium bare nie ma głównego worktree, więc każdy worktree można usunąć, a nowe trafiają obok folderu bare (api--fix). Worktree na gałęzi, na którą wskazuje repozytorium bare, pełni rolę domyślnego worktree: działają w nim Ustaw jako bieżący i Przełącz na…, i nie można go usunąć, dopóki jakiś worktree jest w nim bieżący.

Przegląd tego, co zrobił agent

Tura po turze. Każda tura, która zmienia pliki, kończy się linijką pod nią w transkrypcji — Zmieniono 5 plików · +120 −8. Kliknij ją, a zakładka Zmiany pokaże tylko to, co zrobiła ta tura. Cofnij tę turę… najpierw wymienia, co stanie się z każdym plikiem, a potem wycofuje zmiany tury: plik, którego nikt potem nie ruszał, wraca do poprzedniego stanu, plik edytowany przez ciebie lub późniejszą turę zachowuje te edycje, a tam, gdzie obie strony zmieniły te same wiersze, zostają znaczniki konfliktu do rozwiązania. Cofnięcie jest osobną turą, więc je też można cofnąć.

Blok po bloku. Każdy blok diffu ma Do stage i Odrzuć (Ze stage, gdy już jest w stage); zaznacz kilka wierszy, aby dodać do stage albo odrzucić tylko je. Plik częściowo w stage ma przełącznik W stage / Poza stage nad diffem.

Odszukanie starej rozmowy. Szukaj w sesjach, na górze panelu sesji, przeszukuje to, co powiedziano w tym worktree, w repozytorium albo w obszarze roboczym — a jeśli zaznaczysz zarchiwizowane, także w worktree, które już usunięto. Wynik otwiera sesję na tej wiadomości. Kliknij sesję prawym przyciskiem, aby Eksportuj transkrypcję…: plik Markdown z promptami, odpowiedziami i wywołaniami narzędzi. Nic nie jest ukrywane, więc przeczytaj go, zanim go udostępnisz.

Czytanie dużej zmiany. Lista Zmian grupuje pliki według folderów — przycisk folderu obok filtra przełącza na płaską listę — a filtr zostawia ścieżki zawierające wszystkie wpisane słowa. Zaznacz Przejrzany (V) przy każdym przeczytanym pliku: znacznik znika sam, gdy agent znowu zmieni ten plik, a Następny nieprzejrzany (⇧N) przenosi do kolejnego. W diffie N i P skaczą od bloku do bloku, a W zawija długie wiersze. Zmienione słowa są podświetlone wewnątrz wiersza, kod jest kolorowany według języka, widok obok siebie przechodzi w jednolity, gdy panel jest wąski, obrazy widać przed i po, a plik Markdown można pokazać jako Wyrenderowany.

Odrzucone przez pomyłkę? Odrzuć, Odrzuć wszystkie zmiany, odrzucenie bloku lub kilku wierszy oraz wymuszone usunięcie worktree zachowują to, co wyrzucają. Cofnij w komunikacie przywraca zmiany; później Schowki › Ostatnio odrzucone mają Przywróć, a Zapisz jako schowek zamienia wpis w zwykły schowek — to droga powrotu do zmian z usuniętego worktree. Schowaj wszystkie zmiany też oferuje Cofnij.

Duże repozytoria. Przy ponad 2000 nieśledzonych plików lista pokazuje pierwsze 2000 i po jednym wierszu na folder z liczbą pozostałych; Wszystko do stage, Commit i .gitignore nadal obejmują każdy z nich. Nieśledzone pliki powyżej 10 MB są pomijane w punktach kontrolnych tur, a stopka tury mówi, ile ich było. Jeśli odczyt worktree trwa dłużej niż 5 sekund, tura nie dostaje punktu kontrolnego, a jej stopka mówi, że nie da się jej otworzyć ani cofnąć. Zmiany w node_modules, dist, .next i target nie odświeżają już listy, a edycje zrobione poza aplikacją pojawiają się nawet podczas długiego pusha czy fetcha.

Komentarze i druga opinia. Zaznacz wiersze w diffie i wybierz Skomentuj albo użyj + obok wiersza w diffie tury. Komentarz podąża za swoim wierszem, gdy agent edytuje kod wokół niego, a otwarte komentarze trafiają do agenta razem. Przejrzyj z… prosi innego agenta o przegląd zmian albo pojedynczej tury, nie pozwalając mu niczego edytować. W widoku porównania Spróbuj na N sposobów Oceń z… pyta agenta, która próba jest najlepsza i dlaczego.

Tury, z których można korzystać. Commituj tę turę… commituje tylko to, co zmieniła jedna tura — z twoim nazwiskiem, twoim podpisem i twoimi hookami — a wszystko inne zostawia niezacommitowane. Blame może pokazać, która tura napisała każdy wiersz, a historia pliku wymienia jego tury. Rozwidlij stąd… zakłada nowy worktree w dowolnej turze, z plikami z tej tury, żeby spróbować jeszcze raz inaczej, nie ruszając pierwotnej sesji.

Agenci przy pracy

Czytanie transkrypcji. Odpowiedzi są pokazywane jako sformatowany tekst, a każdy blok kodu ma przycisk Kopiuj. Trzy lub więcej wywołań narzędzi z rzędu zwija się w jeden wiersz, który rozwija się, by je pokazać. Ścieżka do pliku z worktree jest linkiem: zmieniony plik otwiera swój diff, każdy inny otwiera się w twoim edytorze. Przewiń w górę, by czytać, a transkrypcja przestanie podążać za nowymi wiadomościami; Przejdź do najnowszych wraca na dół. Jeśli sesję zatrzymano, gdy prosiła o pozwolenie, transkrypcja o tym mówi.

Długie sesje. Sesja otwiera się na najnowszych wiadomościach, a Pokaż wcześniejsze wiadomości wczytuje resztę, kiedy jej potrzebujesz. Żeby historia nie rosła bez końca, Ustawienia › Domyślny agent mają Przechowuj sesje przez (dni) i Limit miejsca na sesje (MB): przy starcie aplikacja usuwa to, co starsze albo ponad limit. Obie opcje są wyłączone, dopóki ich nie ustawisz.

Zatrzymanie naprawdę zatrzymuje. Zatrzymaj, usunięcie worktree i wyjście z aplikacji kończą też to, co agent uruchomił — na przykład serwer deweloperski. Zmiana modelu tego nie robi, limit bezczynności też nie: Ustawienia › Domyślny agent › Kończ bezczynnych agentów po (30 minut, jeśli tego nie zmienisz; puste pole oznacza nigdy) kończy agenta, który był bezczynny tak długo, żeby zwolnić pamięć, a twój następny prompt podejmuje rozmowę na nowo. Jeśli aplikacja padła, gdy agenci jeszcze działali, przy następnym uruchomieniu proponuje Zatrzymaj albo Zostaw uruchomione.

Środowisko twojej powłoki. Agenci dostają to, co eksportuje twój .zshrc lub .bashrc — proxy, klucze API, AWS_PROFILE — tak jakby zostali uruchomieni z terminala, nawet gdy samą aplikację otwarto z Docka czy z menu. Ustawienia › Edytor i terminal › Używaj środowiska mojej powłoki to wyłącza i pokazuje nazwy przenoszonych zmiennych, nigdy ich wartości. Windows tego nie potrzebuje: tam aplikacje już dostają twoje zmienne.

Zrzuty ekranu w promptach. Wklej zrzut ekranu do kompozytora, upuść na niego obraz albo wybierz go przez Dołącz obraz lub zrzut ekranu…: staje się chipem z miniaturą. PNG, JPEG, GIF i WebP, do ośmiu na prompt, a obraz może pójść sam, bez tekstu. Claude Code, Codex, Gemini CLI, Copilot CLI i agenci ACP, którzy przyjmują obrazy, dostają je; przy pozostałych kompozytor uprzedza, że zostaną pominięte. Obrazy są przechowywane poza repozytorium i znikają razem z sesją.

Najpierw plan. Włącz Najpierw plan na pasku agenta albo zaznacz to w oknie Nowy worktree, a agent przeczyta kod i odpowie planem, ale niczego nie zapisze, dopóki go nie zatwierdzisz. Każdy agent używa własnego trybu tylko do odczytu, jeśli go ma, a tam, gdzie go nie ma, aplikacja wstrzymuje każdy zapis. Tryb planu Antigravity może mimo to zapisywać, więc Najpierw plan nie jest dla niego dostępne.

Gotowe znaczy, że testy przechodzą. Ustawienia › Przygotowanie worktree › Bramka weryfikacji uruchamia polecenie sprawdzające worktree — na przykład pnpm test — za każdym razem, gdy agent kończy turę, która zmieniła pliki. Niepowodzenie wraca do agenta, a sesja pokazuje czerwoną plakietkę, dopóki sprawdzenie nie przejdzie. Odsyłaj niepowodzenia ustala, ile razy z rzędu, a Limit czasu sprawdzenia — jak długo może trwać sprawdzenie.

Dalej z innym agentem. Kontynuuj z innym agentem…, w menu ··· kompozytora albo worktree, uruchamia innego agenta w tym samym worktree. Jego pierwszy prompt to przekazanie napisane przez aplikację: dotychczasowa rozmowa w skrócie, każda tura ze zmienionymi plikami, plan wciąż czekający na zatwierdzenie i ostatni wynik sprawdzenia.

Prompty, do których wracasz. / w kompozytorze wymienia najpierw twoje zapisane prompty, a potem własne polecenia agenta, niezależnie od agenta. {{branch}}, {{base}}, {{issue}} (numer, od którego nazwano gałąź) i {{selection}} (wiersze zaznaczone w diffie) są wypełniane za ciebie. Biblioteka promptów… przechowuje twoje; repozytorium może mieć własne jako pliki Markdown w .ygd/prompts.

Instrukcje i serwery MCP, raz dla wszystkich agentów. Instrukcje agentów… edytuje AGENTS.md, CLAUDE.md, GEMINI.md i pozostałe pliki instrukcji worktree w jednym miejscu, mówi, którzy agenci czytają każdy z nich, i może synchronizować pozostałe z AGENTS.md. Ustawienia › Serwery MCP deklarują serwer raz i przekazują go każdemu agentowi, który może go przyjąć. Repozytorium może zadeklarować własne w .ygd/mcp.json; aplikacja pokazuje ich polecenia i pyta przed pierwszym uruchomieniem — i ponownie przy każdej zmianie pliku. Serwer może też być zdalny: adres https zamiast polecenia, z tokenem bearer branym ze zmiennej środowiskowej, którą wskażesz, więc sam token nigdy nie trafia do ustawień ani do repozytorium. Jeśli ta zmienna nie jest ustawiona, gdy sesja startuje, żaden token nie jest wysyłany.

Wielu agentów naraz

Centrum dowodzenia (⌘⇧O) umieszcza każdą sesję agenta z przestrzeni roboczej na jednej tablicy, w pięciu kolumnach: Czekają na odpowiedź, Pracują, Bezczynne z nieprzejrzanymi zmianami, Otwarty PR i Gotowe. Karta pokazuje, co robi sesja, ile kosztowała i jej pull request. Zatwierdź i Odmów odpowiadają na czekającą prośbę, a Podgląd pokazuje ostatnie wiadomości z polem odpowiedzi, bez wychodzenia z tablicy.

Tablica zadań (⌘⇧B) to backlog dla każdego repozytorium. Zadanie to prompt z agentem, modelem i bazą; Uruchom startuje je we własnym worktree, a tablica śledzi je przez W kolejce, W toku, Czeka na odpowiedź, Do przeglądu, PR otwarty i Scalone. Zadania w kolejce startują po kolei, dopóki pracuje mniej sesji, niż pozwalają Ustawienia › Domyślny agent › Sesje naraz. Zadanie można też ustawić na Powtarzaj codziennie lub co tydzień o stałej godzinie — „aktualizuj zależności w każdy poniedziałek” — a każde uruchomienie dostaje świeży worktree na gałęzi nazwanej od swojego dnia.

Z issue albo pull requesta. W oknie Nowy worktree Zacznij od pozwala wybrać jedno z otwartych issue repozytorium — gałąź dostaje od niego nazwę, a agent dostaje issue do przeczytania — albo pobrać czyjś otwarty pull request, żeby go przejrzeć lub dokończyć. Wszystko idzie przez gh lub glab.

Okna subskrypcji. Dla Claude Code i Codex okienko zużycia pokazuje, jaka część 5-godzinnego i tygodniowego okna jest wykorzystana i kiedy każde się resetuje. Aplikacja czyta własne dane CLI i nigdy nie łączy się z dostawcą. Ustawienia › Budżet › Wstrzymuj nową pracę przy sprawia, że zadania w kolejce i prompty dla tego agenta czekają na reset; tura, która już trwa, dobiega końca.

Z dala od okna. Ikona na pasku menu (w obszarze powiadomień w Windows i Linux) wymienia sesje, które na ciebie czekają, z Zatwierdź i Odmów pod ręką, nawet gdy okno jest zamknięte. Ustawienia › Powiadomienia › Powiadomienia na telefon wysyłają „czeka na odpowiedź” i nieudane checki na twój telefon przez ntfy albo webhook zgodny ze Slackiem. Komputer opuszcza tylko agent, gałąź i to, co się stało, chyba że włączysz Dołącz szczegóły. Powiadamiaj dopiero po nieobecności (w minutach, domyślnie wyłączone) wstrzymuje powiadomienia, aż klawiatura i mysz będą nieużywane przez tyle czasu, więc nic nie wibruje, gdy siedzisz przy biurku, a aplikacja jest za innym oknem.

Z wielu gałęzi do main

Radar kolizji. Dwa worktree edytujące tę samą funkcję dowiadują się o tym dopiero wtedy, gdy drugi zostaje scalony — chyba że sprawdzisz wcześniej. Radar kolizji… porównuje każdą parę worktree repozytorium, razem z niezacommitowaną pracą, i każdy z nich z jego bazą, pokazuje, gdzie weszłyby w konflikt, i proponuje kolejność, która scala je z najmniejszą liczbą konfliktów. Podczas sprawdzania nic w twoich worktree się nie rusza. Żeby działać szybko, porównuje tylko ostatnio aktywne worktree — 12, chyba że Ustawienia › Git › Radar kolizji: porównywane worktree mówią inaczej (od 2 do 40, także dla repozytorium) — i wymienia te, które pominął.

Uporządkuj commity (⌘⇧T albo Aktywność › Uporządkuj commity…) wymienia własne commity gałęzi, od najstarszego. Dla każdego wybierz Zostaw, Zmień opis, Wchłoń w poprzedni albo Odrzuć, przesuwaj je w górę i w dół albo użyj Połącz wszystkie w jeden z wiadomością ułożoną na ich podstawie. Nie otwiera się żaden edytor i nic nie zostaje zrobione w połowie.

Worktree na stosie. Nowy worktree na wierzchu…, w menu worktree pod prawym przyciskiem, zakłada worktree od gałęzi tamtego — razem z niewypchniętymi commitami — żeby duża zmiana mogła wyjść jako łańcuch małych pull requestów, z których każdy celuje w gałąź pod nim. Pasek boczny zagnieżdża stos. Przestaw stos aktualizuje worktree powyżej, gdy ten poniżej się przesunie, a gdy najniższy zostanie scalony, następny dostaje bazę jako nowy cel.

Kolejka scalania. Scal worktree… wymienia gotowe worktree repozytorium w kolejności z radaru, stosy od dołu w górę, i scala je jeden po drugim: każdy aktualizuje do bazy w stanie po scaleniu poprzedniego, uruchamia twoje sprawdzenie, robi push, czeka na checki pull requesta i go scala — albo scala lokalnie, jeśli wolisz. Zatrzymuje się na pierwszym problemie i mówi dlaczego.

Napraw CI. Gdy checki pull requesta zawiodą, Napraw CI na jego karcie wysyła agentowi logi nieudanych checków z GitHub Actions lub GitLab, przycięte do błędów i oczyszczone ze wszystkiego, co wygląda na sekret. Ustawienia › Git › Naprawiaj nieudane CI automatycznie pozwalają aplikacji robić to samej, najwyżej Automatyczne poprawki CI na pull request razy z rzędu, w worktree, który ma już sesję; Uruchamiaj sesję dla automatycznych poprawek CI (domyślnie wyłączone) pozwala jej taką sesję uruchomić, z domyślnym agentem repozytorium i w tych samych limitach.

Worktree gotowe do uruchomienia

Nowy worktree nie ma żadnego z twoich ignorowanych plików — ani .env, ani node_modules. Ustawienia › Przygotowanie worktree załatwia to raz: pliki do skopiowania z głównego worktree (na przykład .env*), polecenia do uruchomienia w terminalu nowego worktree (pnpm install) i port bazowy, dzięki któremu każdy worktree dostaje własny port w YGD_PORT, a dwa serwery deweloperskie przestają walczyć o ten sam. Terminal worktree i jego agenci dostają też YGD_WORKTREE i YGD_BRANCH. Okno Nowy worktree pokazuje, co zrobi przygotowanie; Uruchom przygotowanie ponownie jest w menu ···. Na macOS skopiowany folder, na przykład node_modules, jest klonowany za jednym razem i prawie nie zajmuje dodatkowego miejsca na dysku.

Repozytorium może mieć ten sam przepis w .ygd/worktree.json. Jego polecenia pochodzą od autora gałęzi, więc aplikacja je pokazuje i pyta przed pierwszym uruchomieniem — i ponownie przy każdej zmianie pliku.

Worktree obok siebie. Zmienne worktree (jedno NAME=value na wiersz) dają każdemu worktree własne wartości w jego terminalach, przygotowaniu i agentach: COMPOSE_PROJECT_NAME={{slug}} albo DATABASE_URL=…/app_{{n}} pozwala dwóm worktree uruchomić docker compose up bez wspólnych kontenerów czy bazy danych. Zapisuj zmienne do umieszcza je też w pliku takim jak .env.local, dla narzędzi, które go czytają.

Porządek na dysku. Higiena worktree…, w menu ··· repozytorium, pokazuje, ile miejsca zajmuje każdy worktree — osobno zależności i wyniki budowania — i kiedy ostatnio coś się w nim zmieniło. Stamtąd możesz przyciąć worktree, których folder zniknął, odblokować, naprawić, uruchomić garbage collection i dać worktree sparse checkout tylko z folderami, których potrzebuje.

Terminale

Kilka terminali. + w zakładce Terminal otwiera kolejną powłokę obok tej worktree; kliknij dwukrotnie kartę, aby zmienić jej nazwę. Uruchom ▾ na pasku narzędzi startuje zapisane polecenia — dev: pnpm dev — każde we własnym terminalu nazwanym tak jak ono, z Uruchom ponownie i Zatrzymaj. @terminal:dev w prompcie dołącza to, co wypisał ten terminal.

Działają dalej. Terminal zachowuje swój program i historię, gdy otwarte są Ustawienia, strona startowa albo widok porównania, więc vim, htop czy serwer deweloperski są dokładnie takie, jak je zostawiłeś. ⌘F (Ctrl+Shift+F w Windows i Linux) albo lupa na końcu kart przeszukuje historię. ⌘-klik (Ctrl+klik) otwiera link w przeglądarce. ⌘⇧] i ⌘⇧[ (Ctrl+PageDown i Ctrl+PageUp) przechodzą do następnego i poprzedniego terminala. Zamknięcie terminala, w którym coś jeszcze działa, wymaga potwierdzenia, a pytanie podaje nazwę programu.

Spróbuj na kilka sposobów

Nie wiesz, który agent albo model najlepiej wykona zadanie? Zaznacz Spróbuj na N sposobów w oknie Nowy worktree i wybierz od dwóch do czterech prób — Claude Code, Codex i Gemini CLI albo ten sam model trzy razy. Każda dostaje własny worktree z tej samej bazy (login-a, login-b…), przygotowanie uruchamia się w każdym, a ten sam pierwszy prompt trafia do wszystkich. Każda próba liczy się do budżetu i okno to mówi.

Próby stoją razem na pasku bocznym. Kliknij ich pozycję, aby porównać je obok siebie: stan, zmienione pliki i wiersze, koszt, tury i czas, szybki diff oraz twoje polecenie sprawdzające — na przykład pnpm test z Ustawienia › Przygotowanie worktree — uruchamiane w każdej na żądanie. Zostaw ten usuwa pozostałe po ich wymienieniu, może nadać zwycięzcy nazwę gałęzi bez sufiksu i może od razu przejść do Ustaw jako bieżący albo do pull requesta.

Praca z kilkoma repozytoriami: przestrzenie robocze

Przestrzeń robocza to nazwany zestaw folderów, które aplikacja trzyma otwarte razem. Gateway, konsola webowa i folder z notatkami to często jeden kawałek pracy, a pytanie o jeden z nich zwykle znajduje odpowiedź w innym — przestrzeń robocza to sposób, by powiedzieć aplikacji, że należą do siebie.

Przestrzeń robocza z dwoma repozytoriami: pasek boczny grupuje worktree według repozytorium

Tworzenie. Otwórz drugie repozytorium, gdy jedno jest już otwarte, a aplikacja zapyta, gdzie je umieścić: dodać do tego, nad czym pracujesz, utworzyć nową przestrzeń roboczą z obydwoma albo otworzyć osobno. Escape oznacza „osobno”. Możesz też utworzyć przestrzeń ze strony startowej przez Nowa przestrzeń robocza, a foldery dodawać i usuwać później przyciskiem Przestrzenie robocze w nagłówku. Usunięcie folderu z przestrzeni roboczej nigdy niczego nie kasuje — zmienia się tylko zestaw.

Z VS Code. Jeśli twój zespół ma już plik .code-workspace, Otwórz plik przestrzeni roboczej… go wczyta: te same foldery, w tej samej kolejności, nazwane tak, jak nazywa je VS Code. Komentarze i końcowe przecinki w pliku nie przeszkadzają. Foldery, które nie są repozytoriami git, zostają — po prostu nie mają worktree — a o folderze, który zniknął, aplikacja informuje, zamiast po cichu go pominąć. Zapisz do pliku zapisuje go z powrotem, nie ruszając części, których aplikacja nie używa, więc ten sam plik dalej działa w obu narzędziach.

Co pokazuje pasek boczny. Worktree pogrupowane według repozytorium, każda grupa zwijana, a filtr dopasowuje nazwę gałęzi lub repozytorium, więc znajdziesz gałąź bez pamiętania, gdzie mieszka. Zwinięta grupa nadal pokazuje, co w niej działa, i nadal mówi, gdy jakaś sesja czeka. Przy jednym repozytorium grup nie ma wcale.

Co widzą agenci. Sesja nadal działa w swoim worktree — tam należą git i każda ścieżka względna — ale może też czytać pozostałe foldery przestrzeni roboczej, więc na „gdzie trafia to wywołanie?” da się odpowiedzieć z obu stron. Sesja, która tylko czyta, nadal może tylko czytać, wszędzie. Nad grupami jest też wiersz W całej przestrzeni roboczej, dla sesji, które nie należą do żadnego worktree: im zadawaj pytania obejmujące cały stack. Nie mają gałęzi, zmian ani terminala, bo to należy do worktree. Folder, który zniknął — przeniesiony, usunięty albo na odłączonym dysku — jest pomijany, więc sesje nadal startują.

Ustawienia. Teraz trzy poziomy: Globalne, przestrzeń robocza, potem pojedyncze repozytorium. Domyślny agent, preset uprawnień i gałąź bazowa są zwykle cechą całego stacku, a nie każdego repozytorium z osobna, więc ustaw je raz w przestrzeni roboczej; repozytorium, które potrzebuje czegoś innego, nadal może je nadpisać. Selektor zakresu w Ustawieniach wybiera poziom, a sekcja, która nie nadpisuje, mówi, skąd biorą się jej wartości.

Aplikacja pamięta każdą przestrzeń roboczą osobno: wróć do jednego z nich i wylądujesz w repozytorium, worktree i układzie paneli, które były otwarte przy wyjściu.

Testowanie worktree w domyślnym

Miejscem do wypróbowania zmiany jest folder samego repozytorium — domyślny worktree — bo tam są już node_modules, .env, pamięć podręczna budowania i działający serwer deweloperski. Praca odbywa się w pozostałych worktree. Ustaw jako bieżący wnosi jeden z nich do domyślnego worktree: jego commity, to, czego jeszcze nie zacommitował, i jego nowe pliki, na gałęzi domyślnego worktree. Od tej chwili nagłówek na każdym ekranie mówi, co uruchamia domyślny worktree — DOMYŚLNY · feat-a + feat-b · 1 edycja — a pasek boczny oznacza worktree domyślny i bieżące.

Pasek w nagłówku, rozwinięty: skąd przyszedł domyślny worktree, dwa bieżące worktree i co można zrobić dalej

Zamień wstawia na jego miejsce inny worktree. Dodaj nakłada kolejny, żeby wypróbować dwie zmiany razem; gdzie oba dotykają tych samych linii, wczytywanie zatrzymuje się na konflikcie w domyślnym worktree, a dla każdego pliku zostawiasz stronę domyślną, bierzesz przychodzącą albo edytujesz go i oznaczasz jako rozwiązany — potem Kontynuuj albo Przerwij, by wrócić do tego, co działało wcześniej.

Poprawki zrobione podczas testów wracają do domu. Jeśli ty — albo agent w domyślnym worktree — poprawisz coś podczas próby, Odeślij edycje zwraca to do worktree, do którego należy, jako niezacommitowane zmiany do przejrzenia i zacommitowania tam; Cofnij odwraca to aż do następnego kroku. O plik należący do kilku bieżących worktree albo do żadnego aplikacja pyta, zamiast zgadywać. Zamień, Dodaj, Odśwież i Zakończ najpierw odsyłają edycje, więc nic zrobionego w domyślnym worktree nie przepada. Odeślij edycje, Zakończ i Cofnij tę turę zapisują pliki tak, jak zrobiłby to checkout — razem z Git LFS, git-crypt i windowsowymi końcami wierszy; jeśli brakuje filtra, którego repozytorium potrzebuje (na przykład nie zainstalowano git-lfs), zatrzymują się z komunikatem gita, zamiast zostawiać pliki-wskaźniki.

Zakończ oddaje domyślny worktree dokładnie w takim stanie, w jakim był: jego gałąź i jego własne zmiany, dodane do indeksu i nie. Każdy krok najpierw otwiera krótki podgląd: co wchodzi, co czeka z boku, które pliki weszłyby w konflikt i co blokuje go teraz, razem z wyjściem. Znajdziesz je w menu ··· worktree, pod prawym przyciskiem w pasku bocznym, w pasku nagłówka i pod ⌘⇧D / ⌘⇧E.

Ustawienia › Git mogą same odświeżać bieżący worktree, gdy jego agent dalej pracuje, i uruchamiać polecenie po każdym wczytaniu — na przykład pnpm install, gdy zmienił się pnpm-lock.yaml — w terminalu domyślnego worktree, gdzie je widzisz. Twój git stash nigdy nie jest ruszany. Wymaga git 2.40 lub nowszego.

Szybkie poruszanie się i ile to kosztowało

⌘K otwiera paletę poleceń: każdą akcję aplikacji — ze skrótem albo z powodem, dla którego teraz nie da się jej wykonać — a także worktree z całego obszaru roboczego, sesje, strony Ustawień i ostatnie repozytoria. Zacznij od > dla akcji, @ dla worktree, # dla sesji; strzałki i Enter robią resztę.

Ile to kosztowało. Ustawienia › Budżet mają Raport użycia: słupek na każdy dzień podzielony według agenta i to, ile wydało każde repozytorium i każda gałąź, z ostatnich 7, 30 lub 90 dni albo z wybranych dat, z Eksportuj CSV. Liczby są te same co w budżecie, więc zawsze zgadzają się z miernikiem wydatków.

Agenci i dostawcy

ygd-editor sam nie rozmawia z żadną usługą AI. Uruchamia narzędzia wiersza poleceń, które już masz — Claude Code, Codex, Gemini CLI, a także Antigravity CLI, Cursor CLI, OpenCode, Qwen Code i GitHub Copilot CLI — z twoimi własnymi kontami, więc zużycie, rozliczenia i warunki dotyczące danych są dokładnie te, które obowiązują cię u tych dostawców.

Ustawienia › Dostawcy AI łączą każdego dostawcę z twoim własnym kontem: Połącz otwiera stronę logowania dostawcy w przeglądarce, a karta pokazuje potem konto, plan oraz Zmień konto / Odłącz / Testuj połączenie. Codex i Gemini CLI aplikacja pobiera, gdy wybierzesz je po raz pierwszy — karta podaje wersję i rozmiar, pokazuje postęp, a Usuń pobrane znów je usuwa; jeśli masz zainstalowaną własną kopię, aplikacja używa właśnie jej. Licencja Claude Code nie pozwala go dołączyć, więc jego karta oferuje Zainstaluj Claude Code, co uruchamia oficjalny instalator Anthropic w terminalu na karcie, do twojego folderu domowego, bez hasła administratora. Domyślny agent i model oraz preset uprawnień mogą się różnić dla każdego repozytorium.

Karta mówi też, gdy zainstalowane CLI jest nowsze lub starsze niż wersje, z którymi sprawdzono to wydanie. Sesje działają normalnie; ta uwaga tłumaczy, skąd mógłby się wziąć niepełny raport. Gdy Codex traci połączenie i próbuje ponownie, transkrypcja pokazuje krótką notkę Ponowne łączenie… zamiast błędu.

Antigravity, Cursor CLI, OpenCode, Qwen Code i Copilot CLI nie są pobierane przez aplikację: ich karty uruchamiają własny instalator producenta albo pokazują polecenie do uruchomienia, gdy producent go nie ma. Nie każdy agent podaje, czego użył: Cursor nie podaje ani tokenów, ani kosztu, więc jego koszt to nieznany i nie wlicza się do żadnego limitu.

Każdego innego agenta mówiącego Agent Client Protocol — na przykład Goose albo Kimi CLI — można dodać jako ACP agent: Ustawienia › Dostawcy AI przyjmują jego Polecenie agenta ACP i Argumenty agenta ACP, tak jak podaje je jego dokumentacja. Aplikacja niczego dla niego nie instaluje ani go nie loguje: zaloguj go tak, jak mówi jego dokumentacja, a Połącz sprawdzi, czy odpowiada. Jeśli odmówi rozpoczęcia sesji, komunikat podaje powód i jego własną radę — Goose na przykład każe uruchomić goose configure.

Uprawnienia

Agenci pytają, zanim zrobią coś, czego wcześniej nie zatwierdzono. Ustawienia › Uprawnienia mają trzy presety — ścisły (tylko odczyt), zrównoważony (odczyt i edycja plików, pytanie o wszystko inne) i yolo (dodatkowo uruchamianie poleceń, dostęp do sieci i push) — plus osobne przełączniki dla odczytu, edycji, uruchamiania poleceń, dostępu do sieci, pusha i usuwania. Niezależnie od presetu agent nigdy nie usuwa bez pytania, chyba że to włączysz.

Gdy przychodzi prośba, Zatwierdź i Odmów odpowiadają jednorazowo; Zawsze zezwalaj zapamiętuje to narzędzie dla tego worktree, a reguła znika razem z worktree.

Gdy agent prosi o kilka rzeczy naraz, prośby ustawiają się w kolejce na karcie sesji i w skrzynce — 1 z 3 — i odpowiadasz na nie po kolei. Ustawienia › Uprawnienia › Dozwolone reguły wymieniają każde „Zawsze zezwalaj” według worktree, z datą dodania; Cofnij działa od razu, także w trwającej sesji. Odmawiaj automatycznie po (minuty, domyślnie wyłączone) odrzuca prośbę, na którą nikt nie odpowiedział, i mówi agentowi dlaczego. Codex i Gemini CLI nie umieją pytać, więc ich pasek agenta pokazuje tryb piaskownicy, jaki dają im twoje przełączniki; kliknięcie w niego otwiera Ustawienia › Uprawnienia.

Piaskownica. Ustawienia › Uprawnienia › Piaskownica decyduje, gdzie polecenia agentów mogą zapisywać. Worktree trzyma ich zapisy wewnątrz worktree; Bez sieci dodatkowo odcina je od sieci i wyłącza dostęp do sieci oraz push. Preset ścisły używa Bez sieci, yolo — Worktree, a zrównoważony zostawia piaskownicę wyłączoną. Agenci z własną piaskownicą trzymają w niej swoje polecenia; pozostali nie uruchamiają poleceń albo pytają przed każdym, a pasek agenta mówi, jak jest. W piaskownicy Claude Code nadal może zrobić commit w połączonym worktree; Codex nie może, więc commituj z aplikacji. Piaskownica trzyma też agentów z dala od tych części .git, które przekierowałyby gita samej aplikacji, oraz od stanu rebase’u, więc git rebase, cherry-pick i revert uruchomione przez agenta w niej zawodzą: rób rebase z aplikacji, przez Aktualizuj z bazy. Z tego samego powodu git samej aplikacji nie uruchomi się w głównym worktree, którego .git zawiera plik commondir — git nigdy go tam nie zapisuje: usuń go, jeśli nie pochodzi od ciebie.

Niektóre polecenia są zapamiętywane zawsze tylko dokładnie w takiej postaci, w jakiej je napisano — usuwanie zasobów klastra, operacje w chmurze, które otwierają dostęp lub uruchamiają kod, instrukcje SQL — więc zatwierdzenie jednego nigdy nie zatwierdza następnego. Inne nie są zapamiętywane wcale i pytają za każdym razem: terraform, tofu lub terragrunt apply albo destroy z -auto-approve oraz każde polecenie kubectl, oc, aws, docker lub helm, którego opcje wskazują kubeconfig, certyfikat albo plik konfiguracyjny. Ich prośba nie oferuje Zawsze zezwalaj i mówi dlaczego w jednej linii pod przyciskami. Opcje przed poleceniem — na przykład docker --context … — nie ukrywają tego, co ono robi.

Powiadomienia, skrzynka i budżet

Ustawienia › Powiadomienia decydują, kiedy aplikacja da ci znać: gdy sesja czeka, gdy jakaś się skończy i gdy zmieni się pull request — checki zakończone, zatwierdzony, poproszono o zmiany, scalony. Pull requesty wszystkich worktree są śledzone w tle, więc dowiadujesz się o nich w ciągu mniej więcej pięciu minut, nawet gdy nie patrzysz na dany worktree; scalenie wykryte w ten sposób zostawia propozycję usunięcia worktree, dopóki nie odpowiesz. Powiadomienia pokazują się tylko wtedy, gdy okno nie jest na pierwszym planie, kliknięcie w jedno z nich przenosi do sesji, a plakietka w Docku lub na pasku zadań może zliczać oczekujące sesje.

Skrzynka w nagłówku ma dwie karty. Czeka na odpowiedź to sesje, które na ciebie czekają. Aktywność to wszystko, co aplikacja ci powiedziała — zakończone tury, zmiany w pull requestach, błędy z pełnym wyjściem gita, komunikaty, które mogły ci umknąć — a kliknięcie wiersza przenosi do jego sesji lub worktree. Nieprzeczytane wiersze są zliczane, Oznacz wszystko jako przeczytane je czyści, a 200 najnowszych zostaje po ponownym uruchomieniu.

Pasek budżetu na dole lewego panelu to dzisiejsze wydatki we wszystkich sesjach. Gdy agent podaje własny koszt, to jest ta kwota; w przeciwnym razie jego tokeny są wyceniane według ceny katalogowej modelu, a stawki z Ustawienia › Budżet służą tylko modelom, które jej nie mają. Okienko zużycia i podpowiedź przy koszcie sesji mówią, który to przypadek. Ustawienia › Budżet ustawiają też limit dzienny i limit na sesję oraz próg ostrzeżenia; przy włączonym Wstrzymuj sesje przy limicie osiągnięcie limitu dziennego zatrzymuje także trwające tury, a komunikat mówi, ile ich było.

Ustawienia

Ustawienia (⌘,) są pogrupowane tematycznie. Wygląd ustawia motyw, kolor akcentu, gęstość i czcionki; Język przełącza interfejs między angielskim, hiszpańskim, włoskim, polskim, francuskim, niemieckim i tureckim. Kilka sekcji ma plakietkę na repo: z repozytorium wybranym u góry możesz je nadpisać tylko dla tego repozytorium. Daty, godziny, liczby i koszty są zapisywane według wybranego języka, nie według systemu.

Wszystko zapisuje się automatycznie do settings.json w folderze aplikacji w twoim katalogu domowym; Otwórz settings.json edytuje surowy plik z walidacją, a nagłówek pokazuje, kiedy został ostatnio zapisany. Plik wskazuje swój schemat, więc edytor taki jak VS Code podpowiada i sprawdza go, gdy edytujesz go ręcznie. Każdy zapis zachowuje poprzedni plik jako settings.json.bak; jeśli plik się uszkodzi, aplikacja działa na tej kopii i o tym mówi. Starsza wersja aplikacji nigdy nie nadpisuje pliku zapisanego przez nowszą: działa na ustawieniach domyślnych i odmawia zapisu ustawień, dopóki znowu nie zaktualizujesz. Obszary robocze, skrzynka i listy sesji są przechowywane tak samo.

Szukaj w ustawieniach, na górze, znajduje każdy wiersz po nazwie lub po tym, co robi: wpisz „limit budżetu”, a otworzy się Budżet z kursorem w Limicie dziennym; ⌘K też znajduje ustawienia. Zmieniony wiersz ma kropkę i własne Przywróć. Pola liczbowe odrzucają wartość, której aplikacja nie mogłaby użyć, mówią dlaczego i zostawiają zapisaną.

Eksportuj profil ustawień, w Ustawienia › O aplikacji i aktualizacje, zapisuje twoje ustawienia, te dla repozytoriów i przestrzeni roboczych oraz same przestrzenie robocze do jednego pliku, który widzisz przed zapisem, żeby skonfigurować inny komputer tak samo; Importuj profil ustawień wczytuje go z powrotem. Zmienne worktree, sekrety serwerów MCP i reguły „Zawsze zezwalaj” zostają poza nim, chyba że je zaznaczysz. Zanim import włączy automatyczne poprawki CI albo zmieni limity budżetu lub stawki któregoś agenta, pyta o zgodę.

Ustawienia › Wygląd

Małe okna i klawiatura

Małe okna. Okno można zmniejszyć do 900 × 680, więc aplikacja mieści się obok edytora na 13- lub 14-calowym laptopie. Poniżej około 1180 pikseli szerokości panel sesji zwija się do wąskiego paska, a poniżej około 1000 — także lista worktree. Kliknij pasek, by otworzyć jego panel nad środkiem; Escape albo kliknięcie obok chowa go z powrotem. Zapisany układ pozostaje nietknięty: poszerz okno, a panele wrócą na swoje miejsca.

Z klawiatury. Każda lista — worktree, sesje, karty terminala, sekcje Ustawień, ostatnie repozytoria — to jeden przystanek klawisza Tab. ↑ i ↓ (← i → na kartach terminala), Home i End poruszają się po niej, Enter lub Spacja wybierają wiersz, klawisz menu lub Shift+F10 otwiera jego menu, a F2 zmienia nazwę karty terminala.

Pytania zadaje sama aplikacja. Wszystko, co wymaga zgody — odrzucenie zmian, usunięcie schowka, scalenie pull requesta — pyta w oknie samej aplikacji, w twoim języku, z nazwą akcji na przycisku; Escape oznacza nie. Klonowanie, Przekaż sesję i zdalne repozytoria pytają, zanim wyrzucą to, co w nich wpisano.

Układy. Przycisk na końcu kart terminala dokuje terminal pod diffem, więc przebieg testów zostaje na widoku, gdy dodajesz pliki do stage. Paleta poleceń przełącza między układami — Przegląd dla dużego diffu, Agent dla dużej transkrypcji albo domyślne panele — a Tryb skupienia (⌘.) chowa wszystko poza środkiem. Transkrypcję można też otworzyć we własnym oknie — Otwórz w osobnym oknie w menu sesji pod prawym przyciskiem — gdzie na prośbę narzędzia można odpowiedzieć Zatwierdź albo Odmów; okno otwiera się ponownie tam, gdzie ostatnio je zamknięto.

Dostępność. Ustawienia › Dostępność mają Skala interfejsu (do 150%), Zwiększony kontrast, Ogranicz ruch, Zawsze pokazuj obwódkę fokusu i Ogłaszaj czytnikom ekranu. Systemowe ustawienia kontrastu i ruchu też są brane pod uwagę.

Aktualizacje

Krótko po uruchomieniu, a potem co sześć godzin, dopóki jest otwarta, aplikacja sprawdza wydania na tej stronie i daje znać, gdy jest nowa wersja. Jedno kliknięcie ją pobiera; przy włączonym Ustawienia › O aplikacji i aktualizacje › Pobieraj aktualizacje automatycznie pobiera się, gdy tylko zostanie znaleziona. Nic się nie instaluje, dopóki nie wybierzesz: Uruchom ponownie i zaktualizuj teraz, Uruchom ponownie później — wtedy instaluje się przy wyjściu — albo Odrzuć.

Aktualizacja instaluje się tylko wtedy, gdy wymieniają ją podpisane sumy kontrolne wydania, sprawdzone względem certyfikatu wbudowanego w aplikację. Jeśli nie, aplikacja mówi, że aktualizacja nie jest podpisana przez projekt, i niczego nie instaluje. Ustawienia › O aplikacji i aktualizacje mają też Proponuj aktualizacje, które wyłącza sprawdzanie, i Sprawdź aktualizacje z godziną ostatniego sprawdzenia.

Pierwsze uruchomienie po aktualizacji mówi, jaką masz wersję, a jego Co nowego otwiera informacje o wydaniu w samej aplikacji. Otwierają je też Ustawienia › O aplikacji i aktualizacje oraz paleta poleceń.

Ustawienia › O aplikacji i aktualizacje › Kanał aktualizacji można ustawić na Beta, żeby dostawać wersje przedpremierowe przed wszystkimi; są podpisane i sprawdzane jak każda aktualizacja. Powrót do Stabilny nigdy nie instaluje starszej wersji: zostajesz na becie, dopóki stabilne wydanie nie będzie nowsze.

Z terminala: ygd

Zainstaluj narzędzie wiersza poleceń… — w menu aplikacji na macOS, w menu Plik w Windows i Linux — umieszcza polecenie ygd w twoim PATH. ygd open [folder] otwiera repozytorium w aplikacji. ygd run --task "…" uruchamia agenta z zadaniem w nowym worktree; --agent, --model, --try 2 i --plan działają jak w oknie Nowy worktree. ygd doctor mówi, jak wyglądają git, PATH i CLI agentów, bez otwierania okna. Gdy aplikacja jest zamknięta, open i run ją uruchamiają.

Linki ygd:// robią to samo z przeglądarki albo skryptu. O repozytorium, którego aplikacja wcześniej nie otwierała, najpierw pyta, a agenci w piaskownicy nie mogą sami uruchomić ygd run. Z AppImage nie da się zainstalować polecenia; użyj do tego pakietu Debian / Ubuntu.

Skróty klawiszowe

⌘OOtwórz repozytorium
⇧⌘CSklonuj repozytorium
⌘NNowy worktree
⌘KPaleta poleceń
⌘,Ustawienia
⌘↵Wyślij wiadomość
⌘FSzukaj w terminalu
⌘⇧] ⌘⇧[Następny / poprzedni terminal
⇧NNastępny nieprzejrzany plik
⌘⇧OCentrum dowodzenia
⌘⇧BTablica zadań
⌘⇧TUporządkuj commity
⌘.Tryb skupienia

W Windows i Linux czytaj ⌘ jako Ctrl — z wyjątkiem terminala, gdzie szukanie to Ctrl+Shift+F, a Ctrl+PageDown / Ctrl+PageUp przełączają terminale. Większość skrótów można zmienić w Ustawienia › Skróty klawiszowe.

Gdy coś pójdzie nie tak

macOS mówi, że nie mógł sprawdzić aplikacji (Przenieś do Kosza / Gotowe). Kliknij Gotowe, potem Ustawienia systemowe › Prywatność i ochrona › przewiń do sekcji Ochrona › Otwórz mimo to i potwierdź hasłem. W macOS 14 lub starszym prawy przycisk › Otwórz robi to w jednym kroku. Jeśli nadal odmawia, w Terminalu: xattr -d com.apple.quarantine /Applications/ygd-editor.app. Jeśli mówi, że aplikacja jest uszkodzona, pobrany plik jest uszkodzony: pobierz go ponownie i porównaj z SHA256SUMS.txt.

Jak w ogóle uniknąć ostrzeżenia. Zainstaluj z Terminala: curl -fsSL https://mhguitarte.github.io/ygd-editor/install.sh | bash. Sprawdza pobrany plik tak, jak zrobiłby to macOS, i umieszcza aplikację w folderze Aplikacje; więcej na stronie pobierania.

Windows blokuje instalator. SmartScreen › Więcej informacji › Uruchom mimo to. Wydawca powinien brzmieć ygd-editor release signing.

AppImage się nie uruchamia. Uruchom go z --appimage-extract-and-run albo zainstaluj libfuse2.

Dostawca pokazuje „Nie zainstalowano”. Codex i Gemini CLI są pobierane na żądanie: kliknij Pobierz na karcie; jeśli pobieranie się nie uda, karta mówi dlaczego (brak sieci albo plik, który nie zgadzał się z sumą kontrolną i został odrzucony). W przypadku Claude Code kliknij Zainstaluj Claude Code na jego karcie; jeśli to twoja własna instalacja, otwórz terminal, sprawdź, czy claude --version działa, a potem Ustawienia › Dostawcy AI › Skanuj ponownie.

Coś jest nie tak z gitem, PATH albo agentem. Jeśli zainstalowałeś polecenie ygd, ygd doctor w terminalu mówi, co widzi aplikacja, nawet gdy aplikacja się nie uruchamia.

Błędy gita. Aplikacja wyjaśnia typowe w jednym zdaniu — dane logowania, zdalne repozytorium, które poszło dalej, plik blokady, niezacommitowane zmiany, konflikty — a pełne wyjście trzyma w terminalu worktree.

Nie pojawia się żadna aktualizacja. Sprawdź Ustawienia › O aplikacji i aktualizacje › Proponuj aktualizacje, potem Sprawdź aktualizacje; aplikacja musi mieć dostęp do github.com.

Aktualizacja została odrzucona jako niepodpisana przez projekt. Nic nie zostało zainstalowane. Pobierz instalator ze strony Wszystkie wersje i sprawdź go tak, jak wyjaśnia Czy pobrany plik jest autentyczny?.

Ustawienia nie zapisują się po powrocie do starszej wersji. Starsza aplikacja nie rusza plików zapisanych przez nowszą, działa na ustawieniach domyślnych i mówi, o który plik chodzi. Zaktualizuj ponownie, a wszystko będzie tam, gdzie to zostawiłeś.

Zgłaszanie problemu. Ustawienia › Diagnostyka pokazują to, czego potrzebuje zgłoszenie błędu: wersje aplikacji, gita i każdego CLI agenta, PATH, który dostają agenci, działające procesy agentów i bieżący dziennik, który można filtrować. Poziomy dziennika ustalają, ile jest zapisywane — info, git=debug zapisuje szczegóły gita. Przygotuj pakiet… zbiera wszystko w zip i wymienia każdy plik, żebyś mógł go przeczytać przed Zapisz zip…: tokeny i klucze API są zamaskowane, to, co wpisano agentom i w terminalach, jest pominięte, a twój folder domowy widać jako ~. Dołącz go do issue, opisując swoje kroki, oczekiwany wynik i to, co się stało.

Aplikacja uległa awarii. Zapis awarii zostaje na twoim komputerze i nic nie jest wysyłane. Następne uruchomienie o tym mówi, a Zgłoś błąd… w menu Pomoc otwiera w przeglądarce nowe issue z wersją aplikacji, twoim systemem i ostatnią awarią — bez ścieżek, promptów, ustawień i tokenów. Czytasz je i decydujesz, czy je wysłać.

Odinstalowanie

Zanim ją usuniesz — oba kroki są opcjonalne. Jeśli w domyślnym worktree jest bieżący worktree, kliknij Zakończ, żeby domyślny worktree odzyskał swoją gałąź i zmiany. Aby wylogować się z dostawcy, użyj Odłącz na jego karcie w Ustawienia › Dostawcy AI: logowania należą do Claude Code, Codex i Gemini CLI, a nie do aplikacji, więc usunięcie aplikacji ich nie kończy. Jeśli zainstalowałeś polecenie ygd, usuń je przyciskiem Usuń w Ustawienia › Wiersz poleceń. Potem zamknij ygd-editor.

macOS. Przeciągnij ygd-editor z folderu Aplikacje do Kosza — z ~/Applications, jeśli umieściła ją tam instalacja z Terminala.

Windows. Ustawienia › Aplikacje › Zainstalowane aplikacje › ygd-editor › Odinstaluj albo Panel sterowania › Programy i funkcje.

Linux. Usuń plik AppImage. Dla pakietu Debian / Ubuntu: sudo apt remove ygd-editor.

Co zostaje. Twoje ustawienia, przestrzenie robocze, historia sesji i pobrane Codex i Gemini CLI są w folderze .ygd-editor w twoim katalogu domowym, a odinstalowanie ich nie usuwa, więc po ponownej instalacji wszystko wraca. Aby usunąć także je, razem z pamięcią podręczną aplikacji, uruchom to po odinstalowaniu:

macOS:

rm -rf ~/.ygd-editor ~/Library/Application\ Support/ygd-editor ~/Library/Caches/ygd-editor-updater ~/Library/Caches/com.mhguitarte.ygd-editor* ~/Library/HTTPStorages/com.mhguitarte.ygd-editor ~/Library/Preferences/com.mhguitarte.ygd-editor.plist

Windows (PowerShell):

Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "$env:USERPROFILE\.ygd-editor", "$env:APPDATA\ygd-editor", "$env:LOCALAPPDATA\ygd-editor-updater"

Linux:

rm -rf ~/.ygd-editor ~/.config/ygd-editor ~/.cache/ygd-editor-updater

Co pozostaje nietknięte. Twoje repozytoria i utworzone worktree to zwykłe foldery git i zostają na swoim miejscu; git worktree remove <folder> usuwa jeden z nich. Jeśli aplikacja zainstalowała za ciebie Claude Code, zostaje on w twoim katalogu domowym — dokumentacja Anthropic wyjaśnia, jak go usunąć.

Prywatność i bezpieczeństwo

Wszystko działa na twoim komputerze. Sama aplikacja łączy się z internetem w dwóch celach: sprawdza wydania na tej stronie w poszukiwaniu aktualizacji i raz dziennie pobiera z models.dev publiczną listę modeli i ich cen. Agenci rozmawiają ze swoimi dostawcami przez twoje konta; git rozmawia z twoimi zdalnymi repozytoriami przez twoje dane logowania. Tokeny dostawców, które aplikacja przechowuje, trafiają do pęku kluczy systemu operacyjnego. Interfejs działa w piaskownicy, każde żądanie, które wskazuje ścieżkę, jest sprawdzane względem repozytoriów, które faktycznie otwarto, a żadne polecenie nie jest nigdy budowane z ciągu znaków powłoki. Pakiet diagnostyczny i raporty awarii zapisują się na twoim komputerze i nie są nigdzie wysyłane. Powiadomienia na telefon, gdy je włączysz, wysyłają tylko to, który agent potrzebuje cię na której gałęzi albo którego pull requesta checki zawiodły.

Aby sprawdzić, czy pobrany plik naprawdę pochodzi od nas, zobacz Czy pobrany plik jest autentyczny? na stronie pobierania.