Agent Orchestrator 0.12.0
80 commitů od verze 0.11.2. Desktopová aplikace nyní mluví osmi jazyky, stojí na nové barevné paletě a umožňuje připínat relace a vybrat reviewera pro každou relaci zvlášť. Mobilní aplikace získala motivy a diktování podržením tlačítka. Kontejnery spuštěné relací se po jejím zániku uklidí.
Pokrývá vše od v0.11.2.
Uživatelé macOS by měli přejít rovnou na 0.12.1 nebo novější. V tomto buildu unikají souborové deskriptory a po několika hodinách používání se rozbije zobrazení Files i vytváření úkolů.
0.11.0 bylo o tom, aby základ unesl zátěž. 0.12.0 je to, co se na něm postavilo: aplikace mluví osmi jazyky, postranní panel a nastavení fungují tak, jak byste čekali, a zmizela třída selhání, která dokázala smazat z nástěnky všechny relace.
Toto vydání přidává nové funkce produktu a vylepšení spolehlivosti, aniž by rozbilo stávající postupy.
Hlavní novinky
Aplikace mluví osmi jazyky
Desktopová aplikace má nyní skutečnou lokalizační vrstvu postavenou na i18next; jazyk se volí v Settings > General a ukládá do ~/.ao/ui-settings.json. Jako první dorazila zjednodušená čínština, která pokrývá rámec aplikace, postranní panel, nástěnku, nastavení, dialogy, karty inspektoru, paletu příkazů i texty terminálu. Následovaly japonština, korejština, španělština, francouzština, němčina a brazilská portugalština, každá i s vlastním README. Výchozím a záložním jazykem zůstává angličtina, takže nepřeložený řetězec se zobrazí anglicky, ne jako klíč. (#3465, #3541)
Mobil: motivy, nativní panely a push-to-talk
Mobilní aplikace už není jen tmavá. Nabízí světlou a tmavou paletu a volbu „system“, která průběžně sleduje nastavení OS, místo aby se zasekla na tom, co načetla při spuštění; kostra aplikace je přestavěná na nativních panelech a nástěnka relací se dělí podle ukončeného runtime, ne podle stavu dokončení.
Přibylo také diktování push-to-talk. Podržte v composeru tlačítko mikrofonu a mluvte, pusťte ho pro vložení textu, nebo ho posuňte nahoru a zamkněte pro diktování bez držení. Rozpoznávání běží přímo v zařízení (iOS SFSpeechRecognizer, Android SpeechRecognizer), takže nepotřebujete API klíč a neplatíte za minutu, a je vyladěné na slovník, kterým jsou prompty pro agenty prošpikované – dostanete „git“ a „npm“ místo „get“ a „MPM“. Přepis se vloží do composeru jako upravitelný koncept a neodešle se, protože převod řeči na text kód splete natolik často, že tiché odeslání není bezpečné. Jednotlivá podržení se připojují za sebe, takže několik stisknutí složí jeden prompt.
K tomu ikona aplikace v Liquid Glass odpovídající desktopovému buildu a oprava výchozího portu pro LAN, který mířil na port démona dostupný jen přes loopback místo na mobilní most na portu 3011, takže se nová instalace bez ruční úpravy nedokázala připojit. (#3399, #3400, #3304, #3494)
Nový barevný základ
Renderer přešel na paletu design tokenů v oklch s fontem Geist pro UI a namapovanými barevnými aliasy shadcn, které nahradily napevno zadané hodnoty napříč knihovnou komponent. Stav relace má nyní všude, kde se objevuje, jednu konzistentní paletu: stav „pracuje“ je modrý, „čeká na vás“ oranžový, „v review“ žlutý a „připraveno“ zelený. (#3421)
Připněte si relace, ke kterým se stále vracíte
Relace lze připnout do sekce Pinned nahoře v postranním panelu; připnutí se ukládá na serveru, takže přežije restart. Samotný postranní panel je nyní sbalitelný: Pinned i Projects lze složit a kliknutím na ikonu složky projektu ho rozbalíte nebo sbalíte, aniž byste na něj nejdřív přepnuli. (#3511, #3310)
Reviewer pro každou relaci zvlášť
Agent pro review býval jedním nastavením pro celý projekt. Teď ho můžete zvolit pro jednotlivou relaci a spuštění takového kola nezmění, co používají ostatní relace v projektu. Karta Reviews také ukazuje všechna zaznamenaná kola pro relaci, ne jen aktuální a předchozí běh pro PR, takže můžete porovnat, co řekli dva různí revieweři. Odmítnuté review, kdy démon znovu použije existující kolo místo spuštění nového, se už nehlásí jako úspěch. (#3477)
Nastavení se otevírá jako modální okno
Nastavení a nastavení projektu se otevírají nad nástěnkou, místo abyste z ní odcházeli, s postranním panelem pro General, Updates, Developer a Help. Klávesa Escape nebo kliknutí mimo okno ho zavře a vrátíte se tam, kde jste byli. (#3497)
Oznámení, se kterými můžete něco udělat
Když vás relace potřebuje a okno není ve fokusu, v macOS poskočí ikona v Docku, ve Windows bliká hlavní panel, dokud se nevrátíte, a počet nepřečtených oznámení na odznaku zůstává synchronizovaný v macOS, Windows i Linuxu.
V panelu jsou klikatelné celé řádky, ne jen text názvu, a ruční karty Unread/All i označení jako přečtené zmizely. Oznámení nyní sledují dvě nezávislé věci: zda jste ho viděli (vymaže se otevřením panelu) a zda je podkladový problém stále otevřený (zapisuje jen životní cyklus). Oznámení, které jste už přečetli, zůstane v seznamu, dokud není nahlášená věc vyřešená, a samo se uzavře, když relace opustí stav čekání na vstup, skončí nebo když se PR sloučí či uzavře. Přechody, ke kterým došlo, když démon neběžel, se znovu zkontrolují při startu. (#2534, #3296, #3495, #3558)
Akce v paletě příkazů a ikona v liště nabídek
Cmd/Ctrl+K nyní nabízí i akce relací, nejen navigaci, a composer úkolů za New Task byl vyčleněn, takže paleta může spouštět práci se stejným UI. macOS také dostává v liště nabídek ikonu pozornosti pro relace, které na vás čekají. (#3531)
Kontejnery spuštěné relací se uklidí
Kontejnery Docker spuštěné relací se odstraní, když relace dosáhne koncového stavu, a to i když spadne nebo dostane SIGKILL, ne jen když ji výslovně ukončíte. Označte kontejner štítkem ao.session=$AO_SESSION_ID, aby se uklidil, nebo ao.spare=true u sdílené infrastruktury, která má relaci přežít. Volání Dockeru mají timeout a projekt, který se nepodaří načíst, selže bezpečně a nic neuklízí. (#3153)
Soubory a diffy
Panel Files nahradil přepínací tlačítko hledání a popisek s počtem souborů trvale viditelným vyhledávacím polem, zbavil se tlačítka obnovení (seznam se už dotazuje sám) a seznam přestavěl na akordeon s živým počtem souborů na kartě. Prohlížeč diffů streamuje změny ve workspace průběžně, má přehlednější přepínač rozvržení a zpětnou vazbu přímo u jednotlivých souborů a správně se roztáhne v maximalizovaném zobrazení. Diffy workspace nyní také zohledňují základ, takže podřízená relace porovnává proti větvi, ze které skutečně vzešla, ne proti pevnému základu. (#3466, #3503, #3492, #3369, #3214)
Spolehlivost
Jeden výpadek už nevymaže celou nástěnku. Tohle byla ta velká věc (#3475). Tři samostatné chyby mohly naráz archivovat všechny relace. Úklid náhledu ukončoval celou skupinu procesů podle holého PID, aniž by znovu ověřil, že stále patří procesu, který spustil, a recyklované číslo PID tak odstřelilo nesouvisející rodinu procesů; protože server tmux je sám vedoucím své skupiny, jediné zastaralé ukončení skupiny zničilo všechny relace. Sonda tmux s hlášením „no server running“ se vykládala jako zánik jednotlivé relace, přestože o žádné konkrétní relaci nic neříká, takže zaškobrtnutí serveru archivovalo celou nástěnku. A poškozená migrace vracela chyby 500, které nástěnka brala jako neexistující relace. Sondy živosti nyní hlásí neprůkazný výsledek místo mrtvé relace, reaper odmítne uzavřít kolo, ve kterém se většina nástěnky naráz jeví jako mrtvá, a evidence migrací se sama opraví i v historiích, které už poškozené byly. (#3491, #3598)
Orchestrátory. Pro stejný projekt už nelze vytvořit duplicitní aktivní orchestrátory, ao session ls zobrazuje skryté relace orchestrátoru a počítá skryté ukončené, místo aby je potichu vynechávalo, a automatické zprávy pro opětovné zapojení orchestrátoru byly vráceny, protože se ukázaly spíš rušivé než užitečné. (#3397, #3393, #3394)
Agenti. Droid předává konfiguraci modelu podle role přes svůj soubor nastavení, zapisovaný do datového adresáře místo dočasného. Prompty pro Grok se doručují až po dokončení startu jeho TUI, ne do terminálu, který ještě neposlouchá, a jeho terminál se posouvá kolečkem. Interní falešný testovací harness se už nezobrazuje ve výběru agentů. (#3156, #3534, #3533, #3518)
Prohlížeč. Výběr anotace je během odesílání promptu uzamčený, takže kliknutí ho uprostřed odeslání nepřesměruje, nativní zobrazení už po skrytí nepřekreslují aplikaci, úprava URL funguje v maximalizovaném prohlížeči v macOS, odznak výběru prvku zmizel z dialogu anotace a přepnutí z relace a zpět už znovu nevnucuje URL náhledu, ze které jste mezitím odešli. (#3232, #3295, #3488, #3464, #3538, #3370)
Desktop. Automatický aktualizátor při chybějících manifestech vydání zaznamená 404 do logu, místo aby otevřel dialog s výzvou ke kontrole auth tokenu, který nemáte. Přetahování postranního panelu a inspektoru se zastaví na minimální šířce, místo aby se panel zaklapl. Démon ignoruje SIGPIPE na zavřeném výstupu. Sekce PR a Completion v inspektoru zůstanou skryté, když v nich nic není, a duplicitní souhrny PR se deduplikují. K tomu série oprav rámce aplikace: navigace v titulkovém pruhu zarovnaná se semaforem oken v macOS, vyladěná lišta karet terminálu, jemné dělicí linky v nastavení a archivu, odsazení horní lišty terminálu a zakázaný výběr textu v rámci aplikace a na marketingových stránkách. (#3012, #3478, #3193, #3325, #3250, #3505, #3480, #3507, #3556, #3508, #3520)
Pod kapotou
Telemetrie získala vypínač za běhu: AO_TELEMETRY_DISABLED_EVENTS ztlumí pojmenované proudy (s prefixovou shodou pomocí *), aniž by bylo nutné vydávat novou verzi, a ztlumené proudy se dál ukládají do lokálního SQLite, takže zůstávají laditelné. Události démona nesou verzi, události aktualizací se zaznamenávají, ovládání PostHog bylo zpevněno a testy ověřují, že je autocapture vypnutý. CI nyní kromě .deb vytváří i linuxový .rpm.
Na webu: dokumentace se publikuje i jako markdownová dvojčata s úplnou hierarchií v llms.txt, přibyly stránky srovnání agentů, úvodní nástěnka, ukázka delegování a mobilní maketa byly přestavěny tak, aby odpovídaly skutečnému vzhledu desktopové aplikace, a spustila se výzva k beta verzi pro iOS. Duplicitní strukturovaná data Organization byla odstraněna a content signals nyní platí pro povolené crawlery. (#3401, #3388, #3406, #3395, #3363, #3438, #3344, #3430, #3496, #3428, #3429, #3500, #3521, #3522, #3144, #3367, #3365, #3389)
Aktualizace na novou verzi
Podporované způsoby instalace jsou GitHub Releases a Homebrew. Stávající instalace se aktualizují na místě. Pokud předchozí aktualizace zanechala evidenci migrací v poškozeném stavu, 0.12.0 ji při startu opraví, místo aby spuštění selhalo.
Úplný changelog: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.11.2...v0.12.0