Agent Orchestrator 0.12.0
0.11.2'den bu yana 80 commit. Masaüstü uygulaması artık sekiz dil konuşuyor, yeni bir renk paleti kullanıyor, oturumları sabitlemenize ve her oturum için inceleyici seçmenize izin veriyor. Mobil uygulamaya tema desteği ve basılı tutarak dikte eklendi. Bir oturumun başlattığı container'lar, oturum sona erdiğinde temizleniyor.
v0.11.2'den bu yana her şeyi kapsar.
macOS kullanıcıları doğrudan 0.12.1 veya sonrasına geçmelidir. Bu build dosya tanımlayıcıları sızdırıyor ve birkaç saatlik kullanımdan sonra Files görünümünü ve görev oluşturmayı bozuyor.
0.11.0, temelin yükü taşımasıyla ilgiliydi. 0.12.0 ise bu temelin üzerine kurulanlar: uygulama artık sekiz dil konuşuyor, kenar çubuğu ve ayarlar beklediğiniz gibi çalışıyor ve panonuzdaki tüm oturumları silebilen bir hata sınıfı ortadan kalktı.
Bu sürüm, mevcut iş akışlarını bozmadan yeni ürün yetenekleri ve güvenilirlik iyileştirmeleri ekliyor.
Öne çıkanlar
Uygulama sekiz dil konuşuyor
Masaüstü uygulamasında artık i18next üzerine kurulu gerçek bir yerelleştirme katmanı var; dil Settings > General altından seçiliyor ve ~/.ao/ui-settings.json içinde hatırlanıyor. İlk olarak Basitleştirilmiş Çince geldi; kabuk arayüzünü, kenar çubuğunu, panoyu, ayarları, pencereleri, denetçi sekmelerini, komut paletini ve terminal metinlerini kapsıyor. Ardından Japonca, Korece, İspanyolca, Fransızca, Almanca ve Brezilya Portekizcesi, her biri için README'lerle birlikte geldi. Varsayılan ve yedek dil İngilizce olarak kalıyor; böylece çevrilmemiş bir metin anahtar yerine İngilizce görünüyor. (#3465, #3541)
Mobil: temalar, yerel sayfalar ve bas-konuş
Mobil uygulama artık yalnızca koyu temalı değil. Açık ve koyu paletlerin yanı sıra, açılışta okuduğu değere takılıp kalmak yerine işletim sistemini izlemeye devam eden bir "system" tercihi sunuyor. Uygulama kabuğu yerel sayfalarla yeniden kuruldu ve oturum panosu, bitmiş durum yerine sonlanmış çalışma ortamına göre ayrılıyor.
Ayrıca bas-konuş dikte özelliği var. Konuşmak için mesaj alanındaki mikrofon tuşunu basılı tutun, eklemek için bırakın veya eller serbest kullanım için yukarı kaydırarak kilitleyin. Tanıma cihaz üzerinde çalışıyor (iOS SFSpeechRecognizer, Android SpeechRecognizer); dolayısıyla API anahtarı ve dakika başı maliyet yok. Ajan istemlerinde sık geçen kelime dağarcığına göre ayarlandığı için "get" ve "MPM" yerine "git" ve "npm" elde ediyorsunuz. Konuşmadan metne dönüştürme kodu sık sık yanlış duyduğu için sessizce göndermek güvenli değil; bu yüzden döküm, gönderilmek yerine mesaj alanına düzenlenebilir bir taslak olarak düşüyor. Basılı tutulan kayıtlar ardı ardına ekleniyor; böylece birkaç basışla tek bir istem oluşturabiliyorsunuz.
Bunlara ek olarak masaüstü build'iyle uyumlu bir Liquid Glass uygulama simgesi ve varsayılan LAN portu için bir düzeltme var: port, 3011'deki mobil köprü yerine yalnızca loopback'e açık daemon portunu gösteriyordu; bu yüzden yeni bir kurulum elle düzenleme yapmadan bağlanamıyordu. (#3399, #3400, #3304, #3494)
Yeni bir renk temeli
Renderer, arayüz yazı tipi olarak Geist kullanan ve üzerine shadcn renk alias'ları eşlenmiş bir oklch tasarım token paletine taşındı; bileşen kütüphanesindeki sabit kodlanmış değerlerin yerini aldı. Oturum durumu artık göründüğü her yerde tek ve tutarlı bir palete sahip: çalışıyor mavi, sizi bekliyor turuncu, incelemede sarı, hazır yeşil. (#3421)
Sürekli döndüğünüz oturumları sabitleyin
Oturumlar kenar çubuğunun en üstündeki Pinned bölümüne sabitlenebiliyor; sabitleme sunucu tarafında saklandığı için yeniden başlatmadan sonra da korunuyor. Kenar çubuğunun kendisi de daraltılabilir hâle geldi: Pinned ve Projects ayrı ayrı katlanabiliyor; bir projenin klasör simgesine tıklamak, önce o projeye geçmeden onu genişletiyor veya daraltıyor. (#3511, #3310)
İnceleyiciyi oturum bazında seçin
İnceleyici ajan eskiden proje genelinde tek bir ayardı. Artık tek bir oturum için seçebiliyorsunuz ve o incelemeyi çalıştırmak projedeki diğer oturumların kullandığını değiştirmiyor. Reviews sekmesi de bir PR için yalnızca mevcut ve önceki çalıştırmayı değil, oturumun kayıtlı tüm inceleme turlarını listeliyor; böylece iki farklı inceleyicinin ne dediğini karşılaştırabiliyorsunuz. Daemon yeni bir tur çalıştırmak yerine mevcut bir turu yeniden kullandığında reddedilen bir inceleme artık kendini başarılı olarak bildirmiyor. (#3477)
Ayarlar modal olarak açılıyor
Ayarlar ve proje ayarları panodan ayrılmak yerine panonun üzerinde, General, Updates, Developer ve Help bölümlerini içeren bir kenar çubuğuyla açılıyor. Escape veya dışarıya tıklama pencereyi kapatıyor ve kaldığınız yere dönüyorsunuz. (#3497)
Harekete geçebileceğiniz bildirimler
Bir oturum sizi beklediğinde ve pencere odakta değilken macOS'ta dock simgesi zıplıyor, Windows'ta görev çubuğu siz dönene kadar yanıp sönüyor ve okunmamış bildirim sayısını gösteren rozet macOS, Windows ve Linux'ta senkronize kalıyor.
Panelin içinde yalnızca başlık metni değil satırların tamamı tıklanabilir; elle kullanılan Unread/All sekmeleri ve okundu olarak işaretleme kaldırıldı. Bildirimler artık birbirinden bağımsız iki şeyi izliyor: onu görüp görmediğiniz (paneli açtığınızda temizlenir) ve altta yatan sorunun hâlâ açık olup olmadığı (yalnızca yaşam döngüsü tarafından yazılır). Okuduğunuz bir bildirim, bildirdiği şey çözülmediği sürece listede kalıyor ve oturum girdi bekleme durumundan çıktığında, sonlandığında ya da PR birleştirildiğinde veya kapandığında kendiliğinden kapanıyor. Daemon kapalıyken gerçekleşen geçişler başlangıçta yeniden kontrol ediliyor. (#2534, #3296, #3495, #3558)
Komut paleti işlemleri ve menü çubuğu tepsisi
Cmd/Ctrl+K artık yalnızca gezinme değil oturum işlemleri de içeriyor; New Task'ın arkasındaki görev oluşturucu ayrıştırıldı, böylece palet aynı arayüzle iş başlatabiliyor. macOS'ta ayrıca sizi bekleyen oturumlar için menü çubuğunda bir ilgi tepsisi simgesi var. (#3531)
Bir oturumun başlattığı container'lar temizleniyor
Bir oturumun başlattığı Docker container'ları, yalnızca onu açıkça sonlandırdığınızda değil, çöktüğünde veya SIGKILL aldığında da dahil olmak üzere oturum terminal duruma ulaştığında kaldırılıyor. Bir container'ın temizlenmesi için ao.session=$AO_SESSION_ID etiketini, oturumdan uzun yaşaması gereken ortak altyapı için ise ao.spare=true etiketini kullanın. Docker çağrıları bir zaman aşımıyla sınırlı ve yüklenemeyen bir proje temizlik yapmak yerine güvenli tarafta kalarak başarısız oluyor. (#3153)
Dosyalar ve diff'ler
Files paneli, açılıp kapanan arama düğmesi ve dosya sayısı etiketi yerine her zaman görünen bir arama alanına geçti, yenileme düğmesini kaldırdı (liste zaten düzenli yoklanıyor) ve listeyi sekmede canlı dosya sayısı gösteren bir akordeon olarak yeniden kurdu. Diff görüntüleyici çalışma alanı değişikliklerini gerçekleştikçe akıtıyor, daha net bir düzen anahtarına ve dosya bazında satır içi geri bildirime sahip ve büyütülmüş görünümde düzgün genişliyor. Çalışma alanı diff'leri artık temel dalı da dikkate alıyor; böylece bir alt oturum sabit bir temel yerine gerçekten çıktığı dala göre diff alıyor. (#3466, #3503, #3492, #3369, #3214)
Güvenilirlik
Tek bir kesinti artık panonuzu silmiyor. En büyük değişiklik buydu (#3475). Birbirinden ayrı üç hata tüm oturumları aynı anda arşivleyebiliyordu. Önizleme kapatma işlemi, çıplak bir PID'yi hâlâ başlattığı sürece ait olduğunu yeniden doğrulamadan grup olarak sonlandırıyordu ve geri dönüştürülmüş bir PID numarası ilgisiz bir süreç ailesini yok ediyordu; bir tmux sunucusu kendi grubunun lideri olduğu için tek bir eskimiş grup sonlandırması tüm oturumları yok ediyordu. Bir tmux "no server running" yoklaması, tek tek oturumlar hakkında hiçbir şey söylemediği hâlde oturum bazında ölüm olarak yorumlanıyordu; bu yüzden sunucudaki bir aksaklık panoyu arşivliyordu. Bozulmuş bir geçiş de panonun olmayan oturumlar olarak değerlendirdiği 500 hataları döndürüyordu. Canlılık yoklamaları artık ölü yerine sonuçsuz bildiriyor, temizleyici panonun büyük kısmının aynı anda ölü göründüğü bir turu sonuçlandırmayı reddediyor ve geçiş kayıt defteri zaten bozulmuş geçmişlerde kendini onarıyor. (#3491, #3598)
Orkestratörler. Aynı proje için artık yinelenen etkin orkestratörler oluşturulamıyor; ao session ls gizli orkestratör oturumlarını gösteriyor ve gizli sonlandırılmış oturumları sessizce atlamak yerine sayıyor; otomatik orkestratör yeniden devreye alma mesajları faydalı olmaktan çok gürültülü oldukları anlaşılınca geri alındı. (#3397, #3393, #3394)
Ajanlar. Droid, role özgü model yapılandırmasını geçici bir dizin yerine veri dizinine yazılan ayar dosyası üzerinden iletiyor. Grok istemleri henüz dinlemeyen bir terminale değil, TUI'sı açılışını tamamladıktan sonra iletiliyor ve terminali tekerlekle kaydırılabiliyor. Dahili sahte test harness'ı artık ajan seçicilerde görünmüyor. (#3156, #3534, #3533, #3518)
Tarayıcı. Bir istem gönderilirken işaretleme seçimi kilitleniyor, böylece bir tıklama gönderim sırasında hedefi değiştiremiyor; yerel görünümler gizliyken artık uygulamanın üzerine çizilmiyor; macOS'ta büyütülmüş tarayıcıda URL düzenleme çalışıyor; öğe seçici rozeti işaretleme penceresinden çıkarıldı; bir oturumdan ayrılıp geri dönmek artık zaten başka yere gittiğiniz bir önizleme URL'sini yeniden dayatmıyor. (#3232, #3295, #3488, #3464, #3538, #3370)
Masaüstü. Otomatik güncelleyici, eksik sürüm manifestlerindeki 404'leri, sahip olmadığınız bir auth token'ını kontrol etmenizi söyleyen bir pencere açmak yerine log'a yazıyor. Kenar çubuğu ve denetçi sürüklemeleri aniden kapanmak yerine minimum genişlikte duruyor. Daemon, kapalı çıktıda SIGPIPE'ı yok sayıyor. Denetçideki PR ve Completion bölümleri içleri boşken gizli kalıyor ve yinelenen PR özetleri tekilleştiriliyor. Bunların yanında bir dizi arayüz düzeltmesi: başlık çubuğu gezinmesi macOS trafik ışıklarıyla hizalandı, terminal sekme çubuğu cilalandı, ayarlar ve arşivdeki ince çizgiler düzeltildi, terminal üst çubuğu boşlukları ayarlandı ve uygulama arayüzü ile tanıtım sayfalarında metin seçimi devre dışı bırakıldı. (#3012, #3478, #3193, #3325, #3250, #3505, #3480, #3507, #3556, #3508, #3520)
Arka planda
Telemetriye çalışma zamanında devre dışı bırakma anahtarı eklendi: AO_TELEMETRY_DISABLED_EVENTS, yeni bir sürüm yayınlamadan adı verilen akışları susturuyor (* önek eşleştirmesiyle) ve susturulan akışlar hata ayıklanabilir kalsın diye yine yerel SQLite'a yazılıyor. Daemon olayları sürümle damgalanıyor, güncelleme olayları kaydediliyor, PostHog kontrolleri sağlamlaştırıldı ve testlerde autocapture'ın kapalı olduğu doğrulanıyor. CI artık .deb'in yanında bir Linux .rpm paketi de üretiyor.
Sitede: dokümanlar, tam hiyerarşi llms.txt içinde sunulacak şekilde Markdown kopyalarıyla yayınlanıyor, ajan karşılaştırma sayfaları eklendi, hero panosu, görev devri demosu ve mobil maket masaüstü uygulamasının gerçek görünümüyle eşleşecek şekilde yeniden yapıldı ve iOS beta çağrısı yayına alındı. Yinelenen Organization yapılandırılmış verisi kaldırıldı ve içerik sinyalleri artık izin verilen tarayıcı botlarına uygulanıyor. (#3401, #3388, #3406, #3395, #3363, #3438, #3344, #3430, #3496, #3428, #3429, #3500, #3521, #3522, #3144, #3367, #3365, #3389)
Yükseltme
Desteklenen kurulum yolları GitHub Releases ve Homebrew'dur. Mevcut kurulumlar yerinde güncelleniyor. Önceki bir güncelleme geçiş kayıt defterinizi bozuk bırakmışsa 0.12.0 açılışı başarısız kılmak yerine başlangıçta onu onarıyor.
Tüm değişiklikler: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.11.2...v0.12.0