Vobuda
Pobierz Jak to działaClaude Codevs CodexPorównanie O nas Kontakt

Jak to działa, część po części

Jedna zasada spaja cały program: stan okna żyje w pamięci, a konfiguracja żyje w plikach. Wszystko poniżej wynika właśnie z tego.

Zasada, na której wszystko się opiera

Okno zawiera karty. Karta zawiera bloki. Blok to terminal, edytowany plik, panel plików, strona internetowa, obraz, PDF, strona Markdown, diff, monitor systemu, ekran ustawień albo panel dodatku. Dzielą się w dowolnym kierunku, z zagnieżdżaniem, przeciąganiem, zmianą rozmiaru i zamykaniem według jednego zestawu reguł, a nie osobnego zestawu dla każdej nowej funkcji. Wszystko, co jest zbyt duże, by należeć do wszystkich, to dodatek z własnego katalogu vobudy, na razie Design i Director, instalowany i usuwany w całości jednym naciśnięciem.

Nic z tego układu nie jest zapisane w bazie danych, bo żadnej bazy danych nie ma. To, co robi okno, żyje w pamięci; to, co postanowiłeś, żyje w plikach. Dlatego przycisk, klawisz, pasek menu, Cmd+K i wiersz poleceń wywołują tę samą akcję po nazwie, i dlatego zmiana zachowania niemal zawsze oznacza edycję JSON.

Dlatego też najlepszy emulator terminala na Maca, do tego rodzaju pracy, dla której powstał, to taki, który można sprawdzić od środka. Jeśli istnieje ustawienie, istnieje linia w pliku, która je przechowuje. Jeśli istnieje akcja, istnieje nazwa, po której można ją wywołać.

Pięć dróg do akcji, i to ta sama akcja

Przy tylu akcjach większość programu jest w praktyce ukryta. Cmd+K to sposób, który odpowiada na pytanie „co to potrafi”, a nie „zrób to”.

Lista poleceń otwarta nad terminalem i blokiem Claude Code: Nowa karta, Zamknij kartę, Nie usypiaj tego komputera, podziały i Zamknij blok, każde z nazwą akcji i skrótem, a na górze pole do zawężania listy Lista poleceń otwarta nad terminalem i blokiem Claude Code: Nowa karta, Zamknij kartę, Nie usypiaj tego komputera, podziały i Zamknij blok, każde z nazwą akcji i skrótem, a na górze pole do zawężania listy
Lista poleceń otwarta przez Cmd+K nad powłoką i agentem: każda akcja pod swoją nazwą, z nazwą akcji i skrótem, gotowa do zawężenia przez wpisywanie.
  • Uczy skrótów, zamiast je zastępować

    Każda linia pokazuje swój własny skrót. Osoba, która sięga po listę dwa razy po tę samą akcję, przy trzecim razie zna już skrót.

  • To nie jest piąty słownik

    Każda linia uruchamia akcję po nazwie, dokładnie tak jak pozostałe cztery sposoby. Test porównuje tabelę, z której korzysta, z listą rdzenia określającą, co może zostać przypisane do klawisza, w obu kierunkach: akcja, która istnieje, a nie jest tam oferowana, powoduje niepowodzenie builda.

  • Wiersz poleceń to ten sam zestaw

    vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, wpisywane w dowolnym bloku vobuda, a vobuda mcp oferuje agentowi te same komendy jako narzędzia MCP. To nie boczne drzwi dla skryptów: testy interfejsu prowadzą przez nie cały program, dlatego można mu ufać, i dlatego agent może przestawić twoje okno, a ty możesz dokładnie odczytać, co zrobił.

Bloki i co obiecują

Blok zmienia kartę z uruchomioną powłoką

Przeciągnij blok za nagłówek na kartę na pasku, a wyląduje tam: to samo id, ta sama powłoka, ten sam folder, nadal uruchomione to, co było uruchomione. Karta podświetla się akcentem, gdy blok się nad nią znajduje. Jest do tego również akcja, block.to-tab:2, więc można ją przypisać do klawisza, a test bez myszy może ją wywołać.

Rozmiary są zapamiętywane, i jest dolna granica

Dla każdego bloku z osobna, i żaden blok nie może zwęzić się tak bardzo, by przestał być użyteczny. Panel o szerokości 200 punktów to panel, którego nikt nie może użyć.

Nic twojego nie znika po cichu

Zamknięcie czegoś działającego najpierw pyta, po nazwie, bo utrata czyjejś pracy choć raz kosztuje więcej zaufania, niż zyskuje cała funkcja. Z tego samego powodu folder projektu jest zapisywany jako migawka przed każdą turą agenta, z jednym naciśnięciem, by go przywrócić; klucz wklejony agentowi jest zatrzymywany, zanim agent go zobaczy; a ogrodzenie, które możesz włączyć, odrzuca zapisy i usunięcia agenta poza projektem.

Sesje wracają domyślnie

Karty, bloki i folder roboczy każdego bloku wracają po ponownym uruchomieniu, a domyślnie ta opcja jest włączona; jeden przełącznik w sekcji Ogólne ją wyłącza. Sesja, która przyszła z innej maszyny, otwiera to, co może, i mówi, czego nie mogła, zamiast po cichu pomijać bloki.

Folder ustawień, plik po pliku

Wszystko w ~/.config/vobuda to czytelny JSON, obserwowany podczas działania programu. Zapisz plik, a okno się przerysuje.

PlikCo zawiera
settings.jsonMotyw, wygląd, terminal, powłoka, okno, sygnały: każde ustawienie z dziesięciu sekcji
themes/*.jsonKolory terminala i okna. Dostarczane jest 25 palet, dwie zaprojektowane dla osób z zaburzeniami widzenia barw
looks/*.jsonKształt okna: narożniki, cienie, kolory paneli, przezroczystość. Dostarczanych jest 29
skins/*.jsonKtóre panele monitora są rysowane i jak
buttons.jsonDok: przyciski, kolejność, strona, kształt oraz kolor dla tych nielicznych, które warto wyróżnić
agents.jsonJak rozpoznawany jest agent i co jest mu oferowane
keys.jsonKażdy skrót. Natywne menu macOS jest budowane z tego samego pliku
workspaces/*.jsonProjekty: każdy jako okno z własnymi kartami, folderem, motywem i dokiem

Wbudowane motywy znajdują się wewnątrz pliku binarnego, a folder je nadpisuje, więc aktualizacja przynosi nowe kolory, nie nadpisując niczego, co edytowałeś. Cały folder zapisuje się jako jedno archiwum i przywraca na innym Macu, a na Macu jego kopia leży w iCloud Drive, domyślnie włączona, z jednym przełącznikiem, który ją wyłącza.

Monitor systemu, układany przez plik

Dwanaście rodzajów paneli, a to, które z nich widzisz, to skórka, a nie ekran zaprojektowany raz na zawsze przez kogoś.

Monitor systemu w bloku obok terminala: obciążenie procesora z historią, każdy rdzeń, używana pamięć, wolne miejsce na dysku startowym, odczyty i zapisy dysku oraz ruch sieciowy Monitor systemu w bloku obok terminala: obciążenie procesora z historią, każdy rdzeń, używana pamięć, wolne miejsce na dysku startowym, odczyty i zapisy dysku oraz ruch sieciowy
Monitor otwarty jako blok obok powłoki, jego panele ułożone jeden na drugim: procesor, rdzenie, pamięć, dysk, odczyty i zapisy dysku oraz sieć.
  • Liczby są wobec siebie uczciwe

    Wartość, którą system szacuje, a nie mierzy, jest rysowana z tyldą, a brakujący sprzęt daje brakującą wartość, a nie zero. Maszyna bez dedykowanego GPU nie dostaje panelu GPU pokazującego zero procent.

  • Oba adresy, każdy z przyciskiem kopiowania

    Panel adresów pokazuje najpierw adres widziany od strony internetu, a poniżej ten, który maszyna ma we własnej sieci. Pyta tylko wtedy, gdy panel jest widoczny na ekranie, mniej więcej raz na dziesięć minut, albo co trzydzieści sekund, dopóki nie jest znany żaden adres, a zapytanie nie niesie żadnych informacji o maszynie.

  • Zmiana kolejności przez przeciąganie, jak wszystko inne

    Panele monitora, przyciski doku i elementy paska agenta są chwytane i przenoszone tym samym gestem. Wiersz ustawień chwyta się za uchwyt po lewej stronie, a nie w dowolnym miejscu wiersza, więc przeciąganie zaczęte na polu tekstowym nie przeszkadza w zaznaczeniu słowa, które chciałeś zmienić.

Plik otwiera się obok powłoki

Coś, po co terminal zwykle odsyła cię gdzie indziej: w wyniku pojawia się ścieżka, trzeba zmienić dwie linie, a do tej pory oznaczało to wyjście do edytora i powrót z utraconym kontekstem powłoki.

Plik src/main.ts otwarty w edytorze obok bloku terminala z udanym przebiegiem testów oraz panel plików z folderami i plikami projektu wraz z ich rozmiarami Plik src/main.ts otwarty w edytorze obok bloku terminala z udanym przebiegiem testów oraz panel plików z folderami i plikami projektu wraz z ich rozmiarami
Plik src/main.ts otwarty w edytorze z numerami wierszy i kolorowaniem, obok powłoki i panelu plików, z którego go otwarto.
  • Zapis jest świadomą decyzją

    Nic nie zostaje zapisane, dopóki nie naciśniesz Cmd+S. Edytor, który zapisuje w trakcie pisania, sprawdza się w aplikacji do notatek, a źle w sąsiedztwie działającej powłoki. To akcja, a nie samo naciśnięcie klawisza, co daje jej też pozycję w menu, skrót i wpis w wierszu poleceń, tak jak wszystko inne tutaj.

  • Odmowy liczą się tak samo jak zapis

    Plik zmieniony na dysku od momentu otwarcia nie zostaje nadpisany. Plik binarny nie jest pokazywany jako zniekształcony tekst. Folder w ogóle się nie otwiera. Niezapisane zmiany noszą widoczny znacznik, a zamknięcie edytowanego pliku wymaga potwierdzenia.

  • Znajdowanie pliku

    Panel plików szuka po nazwie poniżej folderu, w którym się znajdujesz, a każdy wynik pokazuje, w których dwóch folderach się znajduje, bo sama nazwa nie odróżni dwóch plików index.ts. Pomija node_modules, .git, target i im podobne, zatrzymuje się na ósmym poziomie albo przy dwustu wynikach i nie robi nic przy mniej niż dwóch literach.

Ustawienia, jako ekran i jako pliki

Dziesięć sekcji, od Ogólnych do Danych i prywatności, wyszukiwanie po każdym ustawieniu, a każde z nich to linia w pliku, którą można też edytować ręcznie.

Ekran ustawień w sekcji Wygląd: koniec listy motywów, wygląd, przezroczystość okna i minimalny kontrast oraz odczyt dostępności dla wybranego motywu dostępnego: kontrast tekstu AAA i wynik rozróżnialności dla osób z zaburzeniami widzenia barw Ekran ustawień w sekcji Wygląd: koniec listy motywów, wygląd, przezroczystość okna i minimalny kontrast oraz odczyt dostępności dla wybranego motywu dostępnego: kontrast tekstu AAA i wynik rozróżnialności dla osób z zaburzeniami widzenia barw
Wygląd, pod listą motywów: wygląd okna, przezroczystość okna, minimalny kontrast oraz ocena kontrastu tekstu wybranego motywu i jego rozróżnialności dla osób z zaburzeniami widzenia barw.
  • Ustawienia przychodzą do bloku

    Kliknięcie panelu prawym przyciskiem oznacza „tę rzecz tutaj, zmień ją”. Dlatego wybranie linii ustawień z menu własnego bloku otwiera tę sekcję nad oknem, w rogu menu, zamiast prowadzić cię do ekranu ustawień. To akcja jak wszystko inne: settings.here:themes, settings.here:monitor.

  • Dźwięk, który słyszysz w chwili wyboru

    Wybranie dźwięku sygnału albo dzwonka terminala od razu go odtwarza. Wybieranie dźwięku z listy nazw, których nie słyszysz, to wybieranie nazwy.

  • Nic nie wymaga restartu

    Folder ustawień jest obserwowany, w tym te dwie rzeczy, którymi zarządza rdzeń: pasek menu macOS budowany z twojego pliku skrótów oraz globalny klawisz okna rozwijanego, przy czym stary klawisz jest zwalniany, zanim zarejestruje się nowy, więc dwa nie mogą odpowiadać naraz. Test odczytuje każdą podpowiedź na ekranie ustawień i zawodzi przy słowie restart.

Mówienie i słuchanie odpowiedzi

Obie funkcje korzystają z mowy systemowej, na twojej maszynie. Dźwięk nigdy nie opuszcza komputera.

Dyktowanie

Cmd+Shift+V wpisuje to, co mówisz, do bloku, w którym pracujesz, a pasek pokazuje, w jakim języku nasłuchuje, w dwóch literach. Podyktowana fraza jest wpisywana, a nigdy uruchamiana: rozpoznawanie mowy się myli, a błędnie rozpoznane polecenie, które uruchamia się samo, to program, który usuwa rzeczy, bo grało radio. Obok agenta, gdzie fraza jest wiadomością, a nie poleceniem, może wysłać się sama, a to ustawienie jest odczytywane w chwili, gdy fraza się kończy.

Odczytywanie odpowiedzi na głos

Cmd+Shift+R odczytuje na głos ostatnią odpowiedź agenta; ponowne naciśnięcie zatrzymuje odczyt. Odczytywana jest odpowiedź, nie ekran. Wypunktowanie na początku, gwiazdki wokół wyróżnionego słowa, apostrofy odwrotne wokół nazwy, linia ramki, pełna ścieżka tam, gdzie wystarczyłaby nazwa pliku, to wszystko znika, a słowa w środku zostają. Odczyt jest ograniczony kształtami, a nie słowami: od dołu wierszem wejściowym agenta, od góry jego logo, bo elementy otoczenia agenta zmieniają się z każdą jego wersją.

Drobiazgi, które decydują, czy zostaniesz przy tym programie

Prawy przycisk należy do nas

Wszędzie w oknie: własne menu bloku wewnątrz bloku, zewnętrzne menu okna, pasek kart, dok, przestrzeń między kafelkami. Każda linia to akcja, a samo menu ma własną akcję, block.menu, więc gest dostępny tylko dla ręki nie jest gestem, którego nic nie może sprawdzić. Jedynym miejscem, które zachowuje menu systemowe, jest pole tekstowe, gdzie oferuje wytnij, kopiuj, wklej i słownik.

Otwórz folder z dowolnego miejsca

vobuda://open?path=/some/path otwiera kartę w tym folderze, z akcji Findera, skryptu albo innej aplikacji. macOS nie ma systemowego ustawienia domyślnego terminala, więc to jest uczciwa wersja tej funkcji, a nie obietnica, której nie da się dotrzymać.

Wyszukiwanie wewnątrz bloku

Cmd+F. Pole należy do bloku, w którym szuka, a jego zamknięcie zostawia widok tam, gdzie było trafienie.

Zabierz blok ze sobą

Cmd+Shift+X kopiuje tekst bloku, pytając o niego sam terminal, co sprawia też, że działa to przy włączonym renderowaniu GPU, gdzie na stronie nie ma tekstu do zaznaczenia. Obraz bloku to dwie akcje w Cmd+K, Migawka bloku do schowka i Migawka bloku do pliku.

Sprawdzanie aktualizacji, które nie jest zadaniem domowym

Rdzeń sprawdza raz dziennie, we własnym wątku, a to, co widzisz, to pasek nad układem, a nie na nim, bo powiadomienie zasłaniające terminal to takie, które ludzie uczą się zamykać bez czytania. Nic nie instaluje się, dopóki nie naciśniesz: dla agenta aktualizacja to polecenie wpisane do aktywnego bloku, gdzie widać jego wynik, a dla vobudy na Macu przycisk instaluje nową wersję w tle, a potem proponuje ponowne uruchomienie, które następuje samo po dziesięciu sekundach, gdy nic nie działa.

Czterdzieści języków, i przewodnik w każdym z nich

Łącznie z paskiem menu macOS, który system buduje w rdzeniu. Arabski i hebrajski odbijają lustrzanie całe okno oprócz samego terminala, gdzie odbicie sprawiłoby, że wynik i ścieżki byłyby nieczytelne. Kluczem tłumaczenia jest angielski ciąg znaków, więc nieprzetłumaczony ciąg wraca do czytelnego angielskiego, a nie do pustego pola czy identyfikatora.

Wypróbuj elementy, o których właśnie przeczytałeś

Po dwóch krótkich pytaniach przy pierwszym uruchomieniu program otwiera się z jednym blokiem terminala i niczym więcej. Wszystko powyżej włączasz wtedy, gdy tego chcesz.

curl -fsSL https://vobuda.com/install.sh | sh