Agent Orchestrator 0.12.0

80 commit sejak 0.11.2. Aplikasi desktop kini tersedia dalam delapan bahasa, memakai palet warna baru, dan memungkinkan Anda mem-pin sesi serta memilih reviewer per sesi. Aplikasi mobile mendapat tema dan dikte tahan-untuk-bicara. Container yang dimulai sebuah sesi dibersihkan saat sesi itu mati.

Mencakup semua perubahan sejak v0.11.2.

Pengguna macOS sebaiknya langsung ke 0.12.1 atau yang lebih baru. Build ini membocorkan file descriptor dan merusak tampilan Files serta pembuatan tugas setelah beberapa jam pemakaian.

0.11.0 berfokus pada fondasi yang mampu menahan beban. 0.12.0 adalah apa yang dibangun di atasnya: aplikasi kini tersedia dalam delapan bahasa, sidebar dan pengaturan bekerja seperti yang Anda harapkan, dan satu kelas kegagalan yang bisa menghapus semua sesi dari papan Anda sudah hilang.

Rilis ini menambahkan kemampuan produk baru dan peningkatan keandalan tanpa merusak alur kerja yang sudah ada.

Sorotan

Aplikasi tersedia dalam delapan bahasa

Aplikasi desktop kini punya lapisan lokalisasi yang sesungguhnya, dibangun di atas i18next, dengan bahasa dipilih di Settings > General dan diingat di ~/.ao/ui-settings.json. Bahasa Tionghoa Sederhana hadir lebih dulu dan mencakup chrome shell, sidebar, papan, pengaturan, dialog, tab inspektor, command palette, dan teks terminal. Bahasa Jepang, Korea, Spanyol, Prancis, Jerman, dan Portugis Brasil menyusul, beserta README dalam masing-masing bahasa. Bahasa Inggris tetap menjadi default dan fallback, sehingga string yang belum diterjemahkan menampilkan teks Inggris, bukan key. (#3465, #3541)

Mobile: tema, sheet native, dan tahan-untuk-bicara

Aplikasi mobile tidak lagi hanya bertema gelap. Kini tersedia palet terang dan gelap serta preferensi "system" yang terus mengikuti OS alih-alih terkunci pada apa pun yang dibacanya saat diluncurkan, dengan app shell yang dibangun ulang di atas sheet native dan papan sesi yang dipisah berdasarkan runtime yang berhenti, bukan status selesai.

Aplikasi ini juga punya dikte push-to-talk. Tahan tombol mikrofon di composer untuk berbicara, lepaskan untuk menyisipkan, atau geser ke atas untuk menguncinya tanpa perlu ditahan. Pengenalan suara berjalan di perangkat (iOS SFSpeechRecognizer, Android SpeechRecognizer), sehingga tidak perlu API key dan tidak ada biaya per menit, dan dioptimalkan untuk kosakata yang banyak muncul di prompt agen, sehingga Anda mendapat "git" dan "npm", bukan "get" dan "MPM". Transkrip masuk ke composer sebagai draf yang bisa diedit alih-alih langsung terkirim, karena speech-to-text cukup sering salah dengar kode sehingga pengiriman diam-diam tidak aman. Rekaman yang ditahan akan ditambahkan, sehingga beberapa kali tekan membangun satu prompt.

Selain itu ada ikon aplikasi Liquid Glass yang sesuai dengan build desktop, dan perbaikan untuk port LAN default, yang sebelumnya mengarah ke port daemon khusus loopback alih-alih ke bridge mobile di 3011, sehingga instalasi baru tidak bisa terhubung tanpa diedit manual. (#3399, #3400, #3304, #3494)

Fondasi warna baru

Renderer pindah ke palet design token oklch dengan Geist sebagai font UI dan alias warna shadcn yang dipetakan ke atasnya, menggantikan nilai yang di-hardcode di seluruh library komponen. Status sesi kini punya satu palet yang konsisten di mana pun ia muncul: working biru, needs-you oranye, in-review kuning, ready hijau. (#3421)

Pin sesi yang sering Anda buka kembali

Sesi bisa di-pin ke bagian Pinned di atas sidebar, disimpan di sisi server sehingga pin tetap ada setelah restart. Sidebar sendiri kini bisa diciutkan: Pinned dan Projects masing-masing bisa dilipat, dan klik pada ikon folder proyek akan membentangkan atau menciutkannya tanpa harus berpindah ke proyek itu lebih dulu. (#3511, #3310)

Pilih reviewer per sesi

Agen reviewer dulunya hanya satu pengaturan untuk seluruh proyek. Kini Anda bisa memilihnya untuk sesi tertentu, dan menjalankan review itu tidak akan mengubah reviewer yang dipakai sesi lain di proyek tersebut. Tab Reviews juga menampilkan setiap review yang tercatat untuk sesi itu, bukan hanya run saat ini dan sebelumnya untuk sebuah PR, sehingga Anda bisa membandingkan pendapat dua reviewer yang berbeda. Review yang ditolak, saat daemon memakai ulang review yang sudah ada alih-alih menjalankan yang baru, tidak lagi melaporkan dirinya sebagai berhasil. (#3477)

Pengaturan terbuka sebagai modal

Pengaturan dan pengaturan proyek terbuka di atas papan alih-alih berpindah halaman, dengan sidebar untuk General, Updates, Developer, dan Help. Escape atau klik di luar akan menutupnya, dan Anda kembali ke tempat semula. (#3497)

Notifikasi yang bisa ditindaklanjuti

Saat sesi membutuhkan Anda dan jendela tidak sedang fokus, dock macOS memantul, taskbar Windows berkedip sampai Anda kembali, dan jumlah badge notifikasi yang belum dibaca tetap sinkron di macOS, Windows, dan Linux.

Di dalam panel, seluruh baris kini bisa diklik, bukan hanya teks judulnya, dan tab manual Unread/All serta mark-as-read dihapus. Notifikasi kini melacak dua hal yang terpisah: apakah Anda sudah melihatnya (dihapus saat Anda membuka panel) dan apakah masalah di baliknya masih terbuka (hanya ditulis oleh lifecycle). Notifikasi yang sudah Anda baca tetap tercantum selama hal yang dilaporkannya belum selesai, dan tertutup sendiri saat sesi keluar dari status needs-input, berhenti, atau PR-nya di-merge atau ditutup. Transisi yang terjadi saat daemon mati diperiksa ulang saat startup. (#2534, #3296, #3495, #3558)

Aksi command palette dan tray menu bar

Cmd/Ctrl+K kini membawa aksi sesi, bukan hanya navigasi, dan composer tugas di balik New Task dipisahkan agar palette bisa memulai pekerjaan dengan UI yang sama. macOS juga mendapat ikon tray perhatian di menu bar untuk sesi yang menunggu Anda. (#3531)

Container yang dimulai sesi kini dibersihkan

Container Docker yang diluncurkan sebuah sesi dihapus saat sesi itu mencapai status terminal, termasuk saat crash atau terkena SIGKILL, bukan hanya saat Anda meng-kill-nya secara eksplisit. Beri label ao.session=$AO_SESSION_ID pada container agar ikut dibereskan, atau ao.spare=true untuk infrastruktur bersama yang harus bertahan lebih lama dari sesi. Panggilan Docker dibatasi timeout, dan proyek yang gagal dimuat akan fail closed alih-alih membereskan container. (#3153)

File dan diff

Panel Files mengganti tombol pencarian yang di-toggle dan label jumlah file dengan input pencarian yang selalu terlihat, menghapus tombol refresh (daftarnya sudah melakukan polling), dan membangun ulang daftar sebagai akordeon dengan jumlah file live di tab. Diff viewer men-stream perubahan workspace saat terjadi, punya toggle tata letak yang lebih jelas dan feedback inline per file, serta membentang dengan benar di tampilan yang dimaksimalkan. Diff workspace kini juga memperhitungkan base, sehingga sesi child dibandingkan dengan branch asalnya yang sebenarnya, bukan base yang tetap. (#3466, #3503, #3492, #3369, #3214)

Keandalan

Satu gangguan tidak lagi menghapus papan Anda. Ini perbaikan terbesarnya (#3475). Tiga bug terpisah bisa mengarsipkan semua sesi sekaligus. Teardown preview melakukan group-kill pada PID mentah tanpa memverifikasi ulang bahwa PID itu masih milik proses yang diluncurkannya, dan nomor PID yang didaur ulang ikut mematikan keluarga proses yang tidak terkait; karena server tmux adalah group leader-nya sendiri, satu group kill yang usang menghancurkan semua sesi. Probe tmux "no server running" dibaca sebagai kematian per sesi padahal tidak mengatakan apa pun tentang sesi individual, sehingga gangguan kecil pada server mengarsipkan seluruh papan. Dan migrasi yang rusak mengembalikan 500 yang dianggap papan sebagai sesi yang tidak ada. Probe liveness kini melaporkan inconclusive alih-alih dead, reaper menolak menyimpulkan satu putaran saat sebagian besar papan terdeteksi mati bersamaan, dan ledger migrasi memperbaiki dirinya sendiri pada riwayat yang sudah rusak. (#3491, #3598)

Orchestrator. Orchestrator aktif duplikat tidak bisa lagi dibuat untuk proyek yang sama, ao session ls menampilkan sesi orchestrator yang tersembunyi dan menghitung sesi berhenti yang tersembunyi alih-alih diam-diam membuangnya, dan pesan pengaktifan ulang orchestrator otomatis di-revert setelah terbukti lebih mengganggu daripada berguna. (#3397, #3393, #3394)

Agen. Droid meneruskan konfigurasi model per peran lewat file pengaturannya, yang ditulis di data dir alih-alih direktori temp. Prompt Grok dikirim setelah TUI-nya selesai dimulai, bukan ke terminal yang belum siap mendengarkan, dan terminalnya bisa di-scroll dengan wheel. Harness tes palsu internal tidak lagi muncul di pemilih agen. (#3156, #3534, #3533, #3518)

Browser. Pemilihan anotasi dikunci selama prompt sedang dikirim agar klik tidak bisa mengubah targetnya di tengah pengiriman, native view tidak lagi tergambar di atas aplikasi saat disembunyikan, pengeditan URL berfungsi di browser yang dimaksimalkan di macOS, badge pemilih elemen dikeluarkan dari dialog anotasi, dan berpindah dari sebuah sesi lalu kembali tidak lagi memaksakan URL preview yang sudah Anda tinggalkan. (#3232, #3295, #3488, #3464, #3538, #3370)

Desktop. Auto-updater mencatat 404 pada manifest rilis yang tidak ada alih-alih memunculkan dialog yang menyuruh Anda memeriksa token autentikasi yang tidak Anda miliki. Drag sidebar dan inspektor berhenti di lebar minimumnya alih-alih tertutup mendadak. Daemon mengabaikan SIGPIPE pada output yang sudah ditutup. Bagian PR dan Completion di inspektor tetap tersembunyi saat kosong, dan ringkasan PR duplikat dihilangkan. Selain itu, ada serangkaian perbaikan chrome: navigasi titlebar diselaraskan dengan traffic light macOS, polesan tab bar terminal, garis tipis di pengaturan dan arsip, padding topbar terminal, dan seleksi teks dinonaktifkan di chrome aplikasi dan halaman marketing. (#3012, #3478, #3193, #3325, #3250, #3505, #3480, #3507, #3556, #3508, #3520)

Di balik layar

Telemetri mendapat kill switch saat runtime: AO_TELEMETRY_DISABLED_EVENTS membungkam stream tertentu berdasarkan nama (dengan pencocokan prefiks *) tanpa perlu merilis versi baru, dan stream yang dibungkam tetap masuk ke SQLite lokal sehingga tetap bisa di-debug. Event daemon diberi cap versi, event pembaruan dicatat, kontrol PostHog diperkuat, dan autocapture dipastikan nonaktif di tes. CI kini menghasilkan .rpm Linux di samping .deb.

Di situs: dokumentasi dipublikasikan sebagai kembaran Markdown dengan hierarki lengkap yang diekspos di llms.txt, halaman perbandingan agen ditambahkan, papan hero, demo delegasi, dan mockup mobile dibangun ulang agar sesuai dengan tampilan aplikasi desktop yang sebenarnya, dan CTA beta iOS sudah aktif. Data terstruktur Organization yang duplikat dihapus, dan content signal kini berlaku untuk crawler yang diizinkan. (#3401, #3388, #3406, #3395, #3363, #3438, #3344, #3430, #3496, #3428, #3429, #3500, #3521, #3522, #3144, #3367, #3365, #3389)

Upgrade

GitHub Releases dan Homebrew adalah jalur instalasi yang didukung. Instalasi yang ada diperbarui di tempat. Jika pembaruan sebelumnya meninggalkan ledger migrasi Anda dalam keadaan rusak, 0.12.0 akan memperbaikinya saat start alih-alih menggagalkan boot.

Changelog lengkap: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.11.2...v0.12.0