Vobuda
Prenesite Kako delujeClaude Codeproti CodexPrimerjava O nas Kontakt

Kako deluje, del za delom

Celoten program drži skupaj eno samo pravilo: stanje okna živi v pomnilniku, konfiguracija pa v datotekah. Vse spodaj izhaja iz tega.

Pravilo, ki je v ozadju vsega

Okno drži zavihke. Zavihek drži bloke. Blok je terminal, datoteka v urejanju, plošča z datotekami, spletna stran, slika, PDF, stran Markdown, diff, sistemski nadzornik, zaslon z nastavitvami ali plošča dodatka. Delijo se v katero koli smer z gnezdenjem, vlečejo, spreminjajo velikost in zapirajo po enem naboru pravil, ne po novem naboru za vsako novo funkcijo. Vse, kar je preveliko, da bi pripadalo vsem, je dodatek iz lastnega kataloga vobude, doslej Design in Director, nameščen in odstranjen v celoti z enim pritiskom.

Nič od te razporeditve ni shranjeno v podatkovni bazi, ker podatkovne baze ni. Kaj okno počne, živi v pomnilniku; kaj ste se odločili, živi v datotekah. Zato gumb, tipka, menijska vrstica, Cmd+K in ukazna vrstica kličejo isto dejanje po imenu, in zato spreminjanje njegovega obnašanja skoraj vedno pomeni urejanje JSON-a.

Zato je tudi najboljši terminalski emulator za Mac, za tovrstno delo, za katero je bil zgrajen, tisti, ki ga lahko pregledate. Če nastavitev obstaja, obstaja vrstica v datoteki, ki jo vsebuje. Če dejanje obstaja, obstaja ime, s katerim ga lahko pokličete.

Pet poti do enega dejanja, in gre za isto dejanje

Pri toliko dejanjih je večina programa v praksi skrita. Cmd+K je pot, ki odgovori na vprašanje „kaj zna“, ne na ukaz „naredi to“.

Seznam ukazov, odprt čez terminal in blok Claude Code: Nov zavihek, Zapri zavihek, Ohrani ta računalnik budnega, delitve in Zapri blok, vsak z imenom dejanja in bližnjico, zgoraj pa polje za zožitev seznama Seznam ukazov, odprt čez terminal in blok Claude Code: Nov zavihek, Zapri zavihek, Ohrani ta računalnik budnega, delitve in Zapri blok, vsak z imenom dejanja in bližnjico, zgoraj pa polje za zožitev seznama
Seznam ukazov, odprt s Cmd+K čez lupino in agenta: vsako dejanje pod svojim imenom, z imenom dejanja in bližnjico, pripravljeno na zožitev s tipkanjem.
  • Uči tipke, namesto da bi jih nadomestil

    Vsaka vrstica prikazuje svojo bližnjico. Kdor po seznamu poseže dvakrat za isto dejanje, si tipko zapomni že do tretjič.

  • Ni peti slovar

    Vsaka vrstica zažene dejanje po imenu, povsem enako kot preostali štirje načini. Preverjanje primerja tabelo, iz katere črpa, s seznamom jedra o tem, na kaj se sme vezati tipka, in sicer v obe smeri: dejanje, ki obstaja, pa ni ponujeno tam, podre izgradnjo.

  • Ukazna vrstica je isti nabor

    vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, natipkano v katerem koli bloku vobuda, vobuda mcp pa agentu ponuja iste ukaze kot orodja MCP. Ni stranska vrata za skripte: preizkusi vmesnika prek nje poganjajo ves program, zato ji je mogoče zaupati in zato lahko agent preuredi vaše okno, vi pa natančno preberete, kaj je naredil.

Bloki in kaj obljubljajo

Blok zamenja zavihek, medtem ko lupina teče naprej

Povlecite blok za glavo na zavihek v vrstici in pristane tam: isti id, ista lupina, ista mapa, še vedno teče, karkoli je že teklo. Zavihek med tem zasveti v poudarjeni barvi, ko je blok nad njim. Za to obstaja tudi dejanje, block.to-tab:2, zato ga je mogoče vezati na tipko, preverjanje brez miške pa ga lahko sproži.

Velikosti si program zapomni, obstaja pa tudi spodnja meja

Za vsak blok posebej, noben blok pa ne sme postati tako ozek, da postane neuporaben. Plošča pri 200 točkah je plošča, ki je ne more uporabljati nihče.

Nič vašega ne izgine neopazno

Zapiranje nečesa, kar teče, vpraša najprej, po imenu, ker izguba nekoga delo enkrat stane več zaupanja, kot ga prisluži cela funkcija. Iz istega razloga se mapa projekta pred vsakim agentovim krogom shrani kot posnetek, z enim pritiskom za vrnitev; ključ, prilepljen agentu, se ustavi, preden ga agent vidi; ograja, ki jo lahko vklopite, pa zavrne agentova pisanja in brisanja zunaj projekta.

Seje se privzeto vrnejo

Zavihki, bloki in delovna mapa vsakega bloka se po ponovnem zagonu vrnejo in to je privzeto vklopljeno; eno stikalo v razdelku Splošno to izklopi. Seja, ki je prišla z drugega računalnika, odpre, kar zmore, in pove, česa ni mogla, namesto da bi bloke tiho izpustila.

Mapa z nastavitvami, datoteka za datoteko

Vse v ~/.config/vobuda je berljiv JSON, ki ga program med delovanjem spremlja. Shranite datoteko in okno se znova izriše.

DatotekaKaj vsebuje
settings.jsonTema, videz, terminal, lupina, okno, signali: vsaka nastavitev desetih razdelkov
themes/*.jsonBarve terminala in okna. Priloženih je 25 palet, dve od njih zasnovani za barvno slepoto
looks/*.jsonOblika okna: vogali, sence, barve plošč, prosojnost. Priloženih je 29
skins/*.jsonKatere plošče monitorja so izrisane in kako
buttons.jsonVrstica z gumbi: gumbi, vrstni red, stran, oblika in barva za tiste redke, ki jih velja označiti
agents.jsonKako je agent prepoznan in kaj mu je ponujeno
keys.jsonVse bližnjice. Iz iste datoteke je zgrajen tudi domači meni macOS
workspaces/*.jsonProjekti: vsak kot okno z lastnimi zavihki, mapo, temo in sidriščem

Vgrajene teme živijo v samem programu, mapa pa jih prepiše, zato posodobitev prinese nove barve, ne da bi prepisala karkoli, kar ste urejali. Vsa mapa se shrani kot en arhiv in obnovi na drugem Macu, na Macu pa kopija leži v iCloud Drive, privzeto vklopljena, z enim stikalom, ki jo izklopi.

Sistemski monitor, razporejen z datoteko

Dvanajst vrst plošč, in katere vidite, je preobleka, ne zaslon, ki ga je nekdo enkrat načrtoval.

Sistemski nadzornik v bloku ob terminalu: obremenitev procesorja z zgodovino, vsako jedro, uporabljen pomnilnik, prosti prostor na zagonskem disku, branja in pisanja diska ter omrežni promet Sistemski nadzornik v bloku ob terminalu: obremenitev procesorja z zgodovino, vsako jedro, uporabljen pomnilnik, prosti prostor na zagonskem disku, branja in pisanja diska ter omrežni promet
Nadzornik, odprt kot blok ob lupini, njegove plošče naložene ena na drugo: procesor, jedra, pomnilnik, disk, branja in pisanja diska ter omrežje.
  • Številke so iskrene glede same sebe

    Vrednost, ki jo sistem oceni namesto izmeri, je izrisana s tildo, manjkajoča strojna oprema pa da manjkajočo vrednost namesto ničle. Naprava brez namenske grafične kartice ne dobi plošče GPU, ki bi kazala nič odstotkov.

  • Oba naslova, vsak s svojim gumbom za kopiranje

    Plošča z naslovi najprej navede naslov, ki ga vidi internet, pod njim pa naslov, ki ga ima računalnik v svojem omrežju. Vpraša samo, dokler je plošča na zaslonu, približno enkrat na deset minut ali vsakih trideset sekund, dokler naslov še ni znan, zahteva pa ne nosi ničesar o računalniku.

  • Prerazporedite jih z vlečenjem, tako kot vse drugo

    Plošče monitorja, gumbi v vrstici z gumbi in deli vrstice agenta se vsi pobirajo in postavljajo na svoje mesto z isto potezo. Vrstico nastavitev pobere ročaj na njeni levi strani, ne katero koli mesto na vrstici, zato vlečenje, ki se začne na besedilnem polju, ne prepreči izbire besede, ki ste jo želeli spremeniti.

Datoteka se odpre ob lupini

Stvar, zaradi katere vas terminal ponavadi pošlje drugam: v izpisu se pojavi pot, spremeniti je treba dve vrstici, do zdaj pa je to pomenilo oditi v urejevalnik in se vrniti brez konteksta lupine.

Datoteka src/main.ts, odprta v urejevalniku ob terminalskem bloku z uspešnim zagonom testov, in plošča z datotekami, ki našteva mape in datoteke projekta z njihovimi velikostmi Datoteka src/main.ts, odprta v urejevalniku ob terminalskem bloku z uspešnim zagonom testov, in plošča z datotekami, ki našteva mape in datoteke projekta z njihovimi velikostmi
Datoteka src/main.ts, odprta v urejevalniku s številkami vrstic in barvanjem, ob lupini in plošči z datotekami, iz katere je bila odprta.
  • Shranjevanje je namerno

    Nič se ne zapiše, dokler ne pritisnete Cmd+S. Urejevalnik, ki piše sproti, je v aplikaciji za zapiske dobra stvar, ob lupini, ki teče, pa slaba. Gre za dejanje in ne le za pritisk tipke, zato ima tudi postavko v meniju, bližnjico in vnos v ukazni vrstici, tako kot vse drugo tu.

  • Zavrnitve so pomembne prav toliko kot pisanje

    Datoteka, ki se je na disku spremenila, odkar je bila odprta, se ne prepiše. Binarna datoteka se ne prikaže kot popačeno besedilo. Mapa se sploh ne odpre. Neshranjene spremembe nosijo viden znak, zapiranje urejene datoteke pa vpraša.

  • Iskanje datoteke

    Plošča z datotekami išče po imenu znotraj mape, v kateri se nahajate, vsak rezultat pa pove, v katerih dveh mapah leži, ker samo ime ne more ločiti dveh index.ts. Preskoči node_modules, .git, target in podobne, ustavi se pri osmih ravneh ali dvesto rezultatih in pri manj kot dveh črkah ne stori ničesar.

Nastavitve, kot zaslon in kot datoteke

Deset razdelkov, od Splošnega do Podatkov in zasebnosti, iskanje po vsaki nastavitvi, in vsaka je vrstica v datoteki, ki jo lahko urejate tudi na roko.

Zaslon z nastavitvami v razdelku Videz: konec seznama tem, videz, prosojnost okna in najmanjši kontrast ter izpis dostopnosti za izbrano Dostopno temo: kontrast besedila AAA in ocena razločljivosti za barvno slepe Zaslon z nastavitvami v razdelku Videz: konec seznama tem, videz, prosojnost okna in najmanjši kontrast ter izpis dostopnosti za izbrano Dostopno temo: kontrast besedila AAA in ocena razločljivosti za barvno slepe
Videz, pod seznamom tem: videz, prosojnost okna, najmanjši kontrast in ocena kontrasta besedila izbrane teme ter njene razločljivosti za barvno slepe bralce.
  • Nastavitve pridejo k bloku

    Desni klik na ploščo pomeni „to stvar tukaj, spremeni jo“. Zato izbira vrstice z nastavitvami v bloku lastnem meniju odpre ta razdelek čez okno, v kotu menija, namesto da bi vas peljala na zaslon z nastavitvami. To je dejanje kot vsako drugo: settings.here:themes, settings.here:monitor.

  • Zvok, ki ga slišite, ko ga izberete

    Izbira zvoka signala ali zvonca terminala ga tudi predvaja. Izbiranje zvoka s seznama imen, ki jih ne slišite, je izbiranje imena.

  • Nič ne zahteva ponovnega zagona

    Mapa z nastavitvami je spremljana, vključno z dvema stvarema, ki ju upravlja jedro: menijsko vrstico macOS, zgrajeno iz vaše datoteke z bližnjicami, in globalno tipko spustnega okna, kjer se stara tipka sprosti, preden se registrira nova, tako da nikoli ne odgovarjata obe hkrati. Preverjanje prebere vsak namig na zaslonu z nastavitvami in podre izgradnjo ob besedi restart.

Govorjenje in poslušanje branja

Oba uporabljata sistemov lastni govor, na vaši napravi. Zvok nikoli ne zapusti računalnika.

Narekovanje

Cmd+Shift+V vtipka, kar poveste, v blok, v katerem delate, vrstica pa v dveh črkah pove, v katerem jeziku posluša. Narekovan izrek se vtipka in nikoli ne zažene: prepoznavanje se včasih zmoti, ukaz, ki se zažene sam zaradi napačnega prepoznavanja, pa je program, ki briše stvari, ker je bil prižgan radio. Ob agentu, kjer je izrek sporočilo in ne ukaz, se lahko pošlje sam od sebe, to pa je nastavitev, ki se prebere v trenutku, ko se izrek konča.

Branje odgovora nazaj

Cmd+Shift+R na glas prebere agentov zadnji odgovor; ponoven pritisk branje ustavi. Prebran je odgovor, ne zaslon. Alineja na začetku, zvezdice okoli poudarjene besede, obratni narekovaji okoli imena, črta škatle, polna pot tam, kjer bi zadostovalo že ime datoteke: te stvari izginejo, besede znotraj njih pa ostanejo. Branje omejujejo oblike in ne besede, spodaj agentova vnosna vrstica, zgoraj njegov logotip, ker se agentova oprema spremeni z vsako njegovo izdajo.

Majhne stvari, ki odločijo, ali boste program obdržali

Desni gumb je naš

Povsod v oknu: lastni meni bloka znotraj bloka, zunanji meni okna, vrstica zavihkov, sidrišče z gumbi, vrzel med ploščicami. Vsaka vrstica je dejanje, meni pa ima tudi svoje lastno dejanje, block.menu, zato poteza, ki jo doseže le roka, ni poteza, ki je nič ne more preveriti. Edino mesto, ki obdrži sistemski meni, je besedilno polje, kjer ponuja izreži, kopiraj, prilepi in slovar.

Odprite mapo od koder koli

vobuda://open?path=/some/path odpre zavihek v tisti mapi, iz dejanja Finderja, skripte ali druge aplikacije. macOS nima sistemske nastavitve za privzeti terminal, zato je to iskrena različica te funkcije in ne obljuba, ki je ni mogoče držati.

Iskanje znotraj bloka

Cmd+F. Polje pripada bloku, po katerem išče, zapiranje pa pogled pusti tam, kjer je bilo ujemanje.

Vzemite blok s seboj

Cmd+Shift+X kopira besedilo bloka, za katero vpraša sam terminal, zato deluje tudi z vklopljenim izrisom na GPE, kjer na strani ni besedila za izbiro. Slika bloka sta dve dejanji v Cmd+K, Posnetek bloka v odložišče in Posnetek bloka v datoteko.

Preverjanje posodobitev, ki ni domača naloga

Jedro preverja enkrat na dan, v lastni niti, in kar vidite, je trak nad razporeditvijo, ne čez njo, ker je obvestilo, ki prekriva terminal, tisto, ki se ga ljudje naučijo zapreti neprebranega. Nič se ne namesti, dokler ne pritisnete: za agenta je posodobitev ukaz, natipkan v aktivni blok, kjer je viden njegov izpis, za Vobudo na Macu pa gumb namesti novo različico v ozadju, nato ponudi ponovni zagon, ki se sam zgodi po desetih sekundah, ko nič ne teče.

Štirideset jezikov, in v vsakem svoj vodnik

Vključno z menijsko vrstico macOS, ki jo sistem zgradi v jedru. Arabščina in hebrejščina zrcalita celo okno, razen samega terminala, kjer bi zrcaljenje naredilo izpis in poti neberljive. Ključ prevoda je angleški niz, zato se neprevedeni niz vrne na berljivo angleščino in ne na prazno polje ali identifikator.

Preizkusite dele, o katerih ste pravkar brali

Po dveh kratkih vprašanjih ob prvem zagonu se odpre z enim terminalskim blokom in ničemer več. Vse zgoraj vklopite, ko to želite.

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