Agent Orchestrator 0.12.0
80 commit kể từ 0.11.2. Ứng dụng desktop giờ hỗ trợ tám ngôn ngữ, dùng bảng màu mới, cho phép ghim phiên và chọn reviewer cho từng phiên. Ứng dụng di động có giao diện màu và nhập giọng nói nhấn-giữ-để-nói. Container do một phiên khởi chạy sẽ được dọn khi phiên đó kết thúc.
Bao gồm mọi thay đổi kể từ v0.11.2.
Người dùng macOS nên chuyển thẳng lên 0.12.1 hoặc mới hơn. Bản build này rò rỉ file descriptor và làm hỏng chế độ xem Files cũng như việc tạo tác vụ sau vài giờ sử dụng.
0.11.0 là để chứng minh nền móng chịu được tải. 0.12.0 là những gì được xây trên đó: ứng dụng giờ hỗ trợ tám ngôn ngữ, thanh bên và cài đặt hoạt động đúng như bạn mong đợi, và một nhóm lỗi có thể xóa sạch mọi phiên khỏi bảng đã biến mất.
Bản phát hành này bổ sung khả năng sản phẩm mới và cải thiện độ tin cậy mà không làm hỏng các quy trình hiện có.
Điểm nổi bật
Ứng dụng hỗ trợ tám ngôn ngữ
Ứng dụng desktop giờ có lớp bản địa hóa thực thụ, xây dựng trên i18next, với ngôn ngữ được chọn trong Settings > General và ghi nhớ trong ~/.ao/ui-settings.json. Tiếng Trung giản thể ra mắt đầu tiên và bao phủ khung ứng dụng, thanh bên, bảng, cài đặt, hộp thoại, các tab inspector, command palette và nội dung terminal. Tiếp theo là tiếng Nhật, tiếng Hàn, tiếng Tây Ban Nha, tiếng Pháp, tiếng Đức và tiếng Bồ Đào Nha (Brazil), cùng README cho từng ngôn ngữ. Tiếng Anh vẫn là mặc định và ngôn ngữ dự phòng, nên chuỗi chưa dịch sẽ hiển thị tiếng Anh thay vì key. (#3465, #3541)
Di động: giao diện màu, sheet native và nhấn-giữ-để-nói
Ứng dụng di động không còn chỉ có giao diện tối. Ứng dụng có bảng màu sáng và tối cùng tùy chọn "system" luôn bám theo hệ điều hành thay vì cố định theo giá trị đọc được lúc khởi chạy, với vỏ ứng dụng được xây dựng lại trên sheet native và bảng phiên được phân tách theo runtime đã kết thúc thay vì trạng thái hoàn thành.
Ứng dụng cũng có nhập giọng nói push-to-talk. Nhấn giữ phím micro trong khung soạn thảo để nói, thả ra để chèn, hoặc vuốt lên để khóa chế độ rảnh tay. Nhận dạng chạy ngay trên thiết bị (iOS SFSpeechRecognizer, Android SpeechRecognizer), nên không cần API key và không tốn phí theo phút, và được thiên về các từ vựng thường gặp trong prompt cho agent, để bạn nhận được "git" và "npm" thay vì "get" và "MPM". Bản chép lời được đưa vào khung soạn thảo dưới dạng bản nháp có thể sửa thay vì gửi đi, vì speech-to-text nghe nhầm code đủ thường xuyên để việc tự động gửi trở nên không an toàn. Các lần nhấn giữ được nối tiếp nhau, nên nhiều lần nhấn sẽ ghép thành một prompt.
Ngoài ra còn có biểu tượng ứng dụng Liquid Glass khớp với bản build desktop, và bản sửa cho port LAN mặc định, vốn trỏ tới port daemon chỉ dành cho loopback thay vì cầu nối di động trên port 3011, khiến bản cài mới không kết nối được nếu không sửa tay. (#3399, #3400, #3304, #3494)
Nền tảng màu sắc mới
Renderer chuyển sang bảng màu design token oklch với Geist làm font giao diện và các alias màu shadcn được ánh xạ lên đó, thay thế các giá trị hardcode trong toàn bộ thư viện component. Trạng thái phiên giờ có một bảng màu nhất quán ở mọi nơi xuất hiện: working là xanh dương, needs-you là cam, in-review là vàng, ready là xanh lá. (#3421)
Ghim những phiên bạn hay quay lại
Phiên có thể được ghim vào mục Pinned ở đầu thanh bên, được lưu phía server để vẫn còn sau khi khởi động lại. Bản thân thanh bên cũng có thể thu gọn: Pinned và Projects đều gập lại được, và nhấn vào biểu tượng thư mục của dự án sẽ mở rộng hoặc thu gọn nó mà không cần chuyển sang dự án đó trước. (#3511, #3310)
Chọn reviewer cho từng phiên
Agent reviewer trước đây là một cài đặt duy nhất cho cả dự án. Giờ bạn có thể chọn reviewer cho từng phiên, và việc chạy lượt review đó sẽ không thay đổi reviewer mà các phiên khác trong dự án đang dùng. Tab Reviews cũng liệt kê mọi lượt review đã ghi nhận của phiên thay vì chỉ lượt hiện tại và lượt trước của một PR, để bạn có thể so sánh nhận xét của hai reviewer khác nhau. Một review bị từ chối, khi daemon dùng lại lượt có sẵn thay vì chạy lượt mới, không còn tự báo là thành công. (#3477)
Cài đặt mở dưới dạng modal
Cài đặt và cài đặt dự án mở phía trên bảng thay vì điều hướng đi nơi khác, với thanh bên gồm General, Updates, Developer và Help. Nhấn Escape hoặc nhấn ra ngoài để đóng, và bạn quay lại đúng chỗ cũ. (#3497)
Thông báo có thể xử lý ngay
Khi một phiên cần bạn và cửa sổ không được focus, dock trên macOS sẽ nảy lên, taskbar trên Windows nhấp nháy cho tới khi bạn quay lại, và số đếm thông báo chưa đọc trên huy hiệu luôn đồng bộ trên macOS, Windows và Linux.
Trong panel, cả dòng đều có thể nhấn thay vì chỉ phần tiêu đề, còn các tab Unread/All thủ công và thao tác đánh dấu đã đọc đã bị bỏ. Thông báo giờ theo dõi hai điều độc lập: bạn đã xem hay chưa (được xóa khi bạn mở panel) và vấn đề bên dưới còn mở hay không (chỉ do vòng đời ghi). Thông báo bạn đã đọc vẫn được liệt kê khi vấn đề nó báo cáo chưa được giải quyết, và tự đóng khi phiên rời trạng thái needs-input, kết thúc, hoặc PR được merge hay đóng. Các chuyển trạng thái xảy ra khi daemon ngừng chạy sẽ được kiểm tra lại lúc khởi động. (#2534, #3296, #3495, #3558)
Thao tác trong command palette và biểu tượng trên thanh menu
Cmd/Ctrl+K giờ có cả thao tác phiên chứ không chỉ điều hướng, và khung soạn tác vụ phía sau New Task được tách ra để palette có thể khởi tạo công việc với cùng UI. macOS cũng có biểu tượng khay báo chú ý trên thanh menu cho các phiên đang chờ bạn. (#3531)
Container do phiên khởi chạy được dọn dẹp
Container Docker mà một phiên đã khởi chạy sẽ bị gỡ khi phiên đó đạt trạng thái kết thúc, kể cả khi nó crash hoặc bị SIGKILL chứ không chỉ khi bạn chủ động kill. Gắn nhãn ao.session=$AO_SESSION_ID cho container để nó được thu hồi, hoặc ao.spare=true cho hạ tầng dùng chung cần tồn tại lâu hơn phiên. Các lệnh gọi Docker có giới hạn timeout, và dự án không tải được sẽ fail closed thay vì thu hồi. (#3153)
Tệp và diff
Panel Files thay nút tìm kiếm bật/tắt và nhãn số tệp bằng ô tìm kiếm luôn hiển thị, bỏ nút refresh (danh sách vốn đã tự poll), và xây dựng lại danh sách dạng accordion với số tệp cập nhật trực tiếp trên tab. Trình xem diff stream các thay đổi của workspace ngay khi chúng xảy ra, có nút chuyển bố cục rõ ràng hơn và phản hồi inline cho từng tệp, và mở rộng đúng cách ở chế độ phóng to. Diff của workspace giờ cũng nhận biết base, nên một phiên con sẽ so diff với đúng branch mà nó tách ra thay vì một base cố định. (#3466, #3503, #3492, #3369, #3214)
Độ tin cậy
Một sự cố không còn xóa sạch bảng của bạn. Đây là thay đổi lớn nhất (#3475). Ba lỗi riêng biệt có thể lưu trữ mọi phiên cùng lúc. Việc dọn preview kill cả nhóm theo một PID trần mà không kiểm tra lại PID đó còn thuộc tiến trình nó đã khởi chạy hay không, và một số PID được tái sử dụng đã hạ cả một họ tiến trình không liên quan; vì máy chủ tmux là group leader của chính nó, một lần kill nhóm sai đã phá hủy mọi phiên. Phản hồi "no server running" của tmux bị hiểu là từng phiên đã chết, trong khi nó chẳng nói gì về phiên cụ thể nào, nên một trục trặc của máy chủ đã lưu trữ cả bảng. Và một migration bị hỏng trả về lỗi 500 mà bảng coi là phiên không tồn tại. Probe liveness giờ báo là không xác định thay vì đã chết, bộ thu hồi từ chối kết luận một lượt khi phần lớn bảng đồng loạt bị probe là chết, và sổ migration tự sửa chữa trên các lịch sử đã bị hỏng. (#3491, #3598)
Orchestrator. Không còn tạo được nhiều orchestrator đang hoạt động trùng lặp cho cùng một dự án, ao session ls hiển thị các phiên orchestrator bị ẩn và đếm các phiên đã kết thúc bị ẩn thay vì lặng lẽ bỏ qua, và các tin nhắn tự động kích hoạt lại orchestrator đã bị hoàn tác sau khi tỏ ra gây phiền nhiều hơn hữu ích. (#3397, #3393, #3394)
Agent. Droid chuyển cấu hình model theo vai trò qua tệp cài đặt của nó, được ghi vào thư mục dữ liệu thay vì thư mục tạm. Prompt cho Grok được gửi sau khi TUI của nó khởi động xong thay vì vào một terminal chưa lắng nghe, và terminal của nó cuộn được bằng con lăn. Harness test giả nội bộ không còn xuất hiện trong bộ chọn agent. (#3156, #3534, #3533, #3518)
Trình duyệt. Lựa chọn chú thích bị khóa trong lúc prompt đang được gửi để một cú click không thể đổi mục tiêu giữa chừng, native view không còn vẽ đè lên ứng dụng khi bị ẩn, sửa URL hoạt động trong trình duyệt phóng to trên macOS, huy hiệu bộ chọn phần tử đã được đưa ra khỏi hộp thoại chú thích, và việc chuyển khỏi một phiên rồi quay lại không còn áp lại URL preview mà bạn đã rời đi. (#3232, #3295, #3488, #3464, #3538, #3370)
Desktop. Auto-updater ghi log lỗi 404 khi thiếu manifest phát hành thay vì bật hộp thoại bảo bạn kiểm tra một auth token mà bạn không hề có. Kéo thanh bên và inspector dừng ở chiều rộng tối thiểu thay vì sập đóng. Daemon bỏ qua SIGPIPE khi output đã đóng. Các mục PR và Completion trong inspector được ẩn khi không có nội dung, và tóm tắt PR trùng lặp được loại bỏ. Bên cạnh đó là một loạt chỉnh sửa giao diện khung: điều hướng trên titlebar thẳng hàng với nút đèn giao thông của macOS, trau chuốt thanh tab terminal, đường kẻ mảnh trong cài đặt và mục lưu trữ, padding thanh trên của terminal, và tắt chọn văn bản trên khung ứng dụng và các trang marketing. (#3012, #3478, #3193, #3325, #3250, #3505, #3480, #3507, #3556, #3508, #3520)
Bên trong hệ thống
Telemetry có thêm công tắc tắt lúc runtime: AO_TELEMETRY_DISABLED_EVENTS tắt các stream theo tên (hỗ trợ khớp tiền tố bằng *) mà không cần phát hành bản mới, và các stream bị tắt vẫn được ghi vào SQLite cục bộ để vẫn debug được. Sự kiện daemon được gắn phiên bản, sự kiện cập nhật được ghi lại, các điều khiển PostHog được gia cố, và autocapture được kiểm tra là đã tắt trong test. CI giờ xuất gói .rpm cho Linux bên cạnh .deb.
Trên trang web: tài liệu được xuất bản kèm bản Markdown song song với toàn bộ cấu trúc phân cấp trong llms.txt, các trang so sánh agent được bổ sung, board ở phần hero, demo giao việc và mockup di động được xây dựng lại cho khớp với giao diện thực của ứng dụng desktop, và CTA cho bản beta iOS đã lên sóng. Dữ liệu có cấu trúc Organization trùng lặp đã được gỡ và content signal giờ áp dụng cho các crawler được phép. (#3401, #3388, #3406, #3395, #3363, #3438, #3344, #3430, #3496, #3428, #3429, #3500, #3521, #3522, #3144, #3367, #3365, #3389)
Nâng cấp
GitHub Releases và Homebrew là các cách cài đặt được hỗ trợ. Các bản cài hiện có được cập nhật tại chỗ. Nếu một lần cập nhật trước để lại sổ migration ở trạng thái hỏng, 0.12.0 sẽ sửa nó khi khởi động thay vì làm khởi động thất bại.
Nhật ký thay đổi đầy đủ: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.11.2...v0.12.0