Statusline Customizer Là Gì?
Statusline Customizer không đơn thuần là một tiện ích nhỏ, mà là một cỗ máy sản xuất giao diện terminal thu nhỏ (Visual Terminal UI Builder) tích hợp độc quyền bên trong Aki Dev Sync. Nhiệm vụ cốt lõi của nó là giúp bạn tạo ra và quản lý tập tin cấu hình shell ~/.claude/statusline-command.sh dành cho Claude Code CLI. Thay vì phải tốn hàng giờ đồng hồ vật lộn với các câu lệnh bash rối rắm, các hàm xử lý chuỗi phức tạp và đường ống lọc dữ liệu bằng jq, công cụ này mang đến một môi trường tương tác HTML5 trực quan: cho phép bạn bật/tắt linh hoạt từng nhóm biến thông tin, tự do kéo thả để thay đổi vị trí ưu tiên, và tinh chỉnh các dải màu sắc bằng hệ thống bảng swatch màu chuyên nghiệp. Mọi thao tác thay đổi nhỏ nhất của bạn đều được phản ánh ngay tức thì trên thanh Live Preview (Xem trước trực tiếp) đặt ngay trên đầu giao diện.
Những Trường Thông Tin Nào Được Hỗ Trợ Bật/Tắt?
- Identity & Hostname (user@host): Cho phép theo dõi tên người dùng và địa chỉ máy khách, hỗ trợ tô màu riêng biệt độc lập giúp dễ dàng phân biệt khi bạn đang SSH mở hàng chục cửa sổ terminal trên nhiều máy chủ khác nhau.
- Thư mục làm việc hiện tại (CWD): Hiển thị đường dẫn thư mục mà Claude Code đang thực thi tác vụ.
- Model & Effort Level: Cung cấp công tắc độc lập cho mức độ suy luận Effort Level (được mặc định khóa dải màu xám để tránh rối mắt), cho phép tên Model (như Claude 3.7 Sonnet, Claude 3.5 Haiku) đứng hiên ngang nguyên bản khi không cần hiển thị độ sâu tư duy.
- Context Window Usage (%): Báo cáo tỷ lệ phần trăm dung lượng bộ nhớ ngữ cảnh đã tiêu thụ, đi kèm chi tiết số lượng token đầu vào (input tokens), token đầu ra (output tokens) và giới hạn trần (/max context limit).
- Rate Limits (Cửa sổ 5 giờ và 7 ngày): Theo dõi sát sao quota khả dụng của tài khoản Anthropic. Mỗi cửa sổ giới hạn đều được trang bị một dòng sub-row phụ đếm ngược khoảng thời gian ước tính chính xác đến từng phút cho tới điểm reset quota tiếp theo.
- Session Telemetry: Đo lường chính xác tổng thời gian diễn ra phiên làm việc (duration), tổng số dòng mã nguồn đã bị sửa đổi (+/- lines code), và tổng số tiền ước tính đã tiêu tốn cho phiên chat đó (session cost).
- Cache Metrics: Hiển thị hiệu suất bộ nhớ đệm với tỷ lệ phần trăm Cache Hit và Cache Read/Create.
- Git Branch Context: Tự động phát hiện và in ra tên nhánh Git hiện hành của dự án.
Kiến Trúc Kéo Thả Sắp Xếp & Gom Nhóm Nguyên Khối (Grouped Blocks)
Toàn bộ trải nghiệm sắp xếp vị trí các trường dùng API HTML5 Native Drag-and-Drop, không phụ thuộc thư viện JavaScript bên thứ ba. Điểm đặc sắc về mặt trải nghiệm là các trường có mối quan hệ hữu cơ được gom lại thành các Nhóm Nguyên Khối (Grouped Blocks):
- Nhóm Model + Effort Level
- Nhóm Quota 5 giờ + 7 ngày
- Nhóm Cache % + Token Count
Một nhóm sẽ di chuyển đồng bộ như một khối thống nhất và không bao giờ bị xé lẻ khi kéo thả. Khi script xuất bản thành phẩm statusline thực tế, các biến nội bộ trong cùng một nhóm sẽ được nối liền mịn màng với nhau mà không dính dấu ngăn cách |, các ký tự phân phân đoạn | chỉ xuất hiện ở ranh giới giữa các khối riêng biệt. Điều này tạo nên một dòng trạng thái cực kỳ liền mạch, chuyên nghiệp, xóa bỏ cảm giác bị chẻ vụn thông tin.
Hệ Thống Dải Màu Động 5 Bậc Thấu Hiểu Mức Độ Mới Kèm Ngưỡng Khẩn Cấp
Để đảm bảo lập trình viên phản ứng kịp thời trước nguy cơ cạn kiệt tài khoản, Statusline Customizer phát minh ra **Hệ thống dải màu động 5 bậc (Dynamic 5-Tier Color Ladder)** dựa trên phần trăm mức độ tiêu thụ:
- Dải Xanh Dương (Safe Zone): Tiêu thụ dưới 25% quota - Trạng thái an toàn tuyệt đối.
- Dải Xanh Lá (Normal Zone): Tiêu thụ từ 25% đến 55% - Hoạt động bình thường.
- Dải Vàng (Warning Zone): Tiêu thụ từ 55% đến 75% - Cảnh báo mức độ trung bình.
- Dải Cam (Danger Zone): Tiêu thụ từ 75% đến 88% - Cảnh báo tiệm cận trần.
- Dải Đỏ (Critical Zone): Tiêu thụ trên 88% - Mức độ nguy cấp tối đa, cần sẵn sàng cho cạn kiệt.
Các khoảng chia dải màu được cố ý thiết kế thu hẹp dần khi mức độ khẩn cấp tăng cao, bởi vì ở các vùng tiệm cận giới hạn (trên 75%), thị giác con người nhạy bén nhất với sự chuyển màu để đưa ra quyết định dừng hay tiếp tục chạy AI agent. Trên giao diện UI, dải màu này thể hiện trực quan dưới dạng một thanh tỉ lệ màu sắc sinh động, bố trí các ô nhập liệu mốc ngưỡng (threshold inputs) nằm thẳng hàng khớp đúng dưới dải màu tương ứng của nó. Ngoài ra, chi phí phiên làm việc (Session Cost) cũng tự động áp dụng dải màu này với quy đổi mốc trần 30 USD.
Swatch Màu Thông Minh
Trong các thiết kế cũ, việc sử dụng các ô thả <select> bằng chữ để chọn màu sắc vừa tốn khoảng trống giao diện vừa khiến dòng tùy chỉnh trở nên thô kệch. Cải tiến mới thay thế toàn bộ bằng các ô vuông Swatch nhỏ gọn có kích thước chuẩn 14x14px. Bấm nhẹ vào một ô swatch sẽ mở ra một bảng màu palette 8 lựa chọn nguyên bản (Cyan, Green, Yellow, Magenta, Red, Blue, White, Grey). Cách này giữ lựa chọn màu gọn và dễ nhận biết hơn trên mỗi dòng.
Khả Năng Đồng Bộ Đa Host SSH Cùng Lúc (Multi-Host Sync Push)
Bạn không cần phải SSH vào từng server để gõ lệnh cấu hình thủ công. Statusline Customizer cho phép bạn xuất bản và tiêm trực tiếp file script statusline-command.sh đã dựng lên máy Local và hàng loạt máy chủ SSH Remote đã lưu trong danh sách cùng một lúc chỉ với 1 cú click chuột. Việc quản lý giao diện hiển thị terminal trên mọi máy chủ chưa bao giờ đồng bộ và nhàn nhã đến thế.
Triết Lý Màu Sắc Mặc Định Chuẩn Mực
Bộ màu mặc định của công cụ tuân theo triết lý thị giác nghiêm ngặt: Trắng dành cho nhãn chữ và dấu câu; Cyan dành cho thông tin trạng thái tĩnh; Vàng/Magenta làm dấu mốc nhận diện "Đang ở máy chủ nào" (giúp mắt lập trình viên lập tức định vị khi làm việc song song nhiều cửa sổ terminal); Xám nhạt cho thông số phụ; và Dải màu động biến thiên chuyên trị cho các thông số đòi hỏi chú ý ngay lập tức.
Script Độc Lập - Không Bắt Buộc Cài Cả App
Toàn bộ script shell sinh ra được thiết kế theo tiêu chuẩn phần mềm độc lập. Nếu không muốn chạy cả ứng dụng Aki Dev Sync, bạn hoàn toàn có thể trích xuất tập tin lõi tại đường dẫn share/aki-statusLine/statusline.sh trong mã nguồn GitHub, tự đưa vào ~/.claude/statusline-command.sh, cấu hình statusLine trong ~/.claude/settings.json và cài đặt tiện ích jq để vận hành độc lập trên máy tính macOS hay Linux nào.
Kiểm Thử Hồi Quy Ba Lớp Chặt Chẽ
Để đảm bảo bộ sinh script không bao giờ tạo ra dòng lệnh lỗi làm sập thanh trạng thái của Claude Code, hệ thống trải qua 3 tầng kiểm thử tự động (Regression Testing):
- Tầng 1: Lệnh kiểm tra cú pháp
bash -nquét sạch mọi lỗi lặt vặt. - Tầng 2: Hệ thống Assertion kiểm tra tính nguyên vẹn của phép nối chuỗi đối với các nhóm trường.
- Tầng 3: Chạy thử End-to-End với gói dữ liệu JSON giả lập thực tế đúng chuẩn của Anthropic gửi về.
Bản Cập Nhật v1.26.0: Hợp Nhất Claude Code Và Antigravity CLI
Trước bản v1.26.0, Statusline Customizer có một lỗ hổng âm thầm: tooltip nói rằng file sẽ được ghi cho cả Claude Code lẫn Antigravity CLI (AGY), nhưng công tắc mặc định thực ra chỉ tích sẵn cho AGY, khiến không ít người dùng đinh ninh file ~/.claude/statusline-command.sh đã được ghi trong khi thực tế nó chưa hề được đụng tới. Bản v1.26.0 sửa tận gốc: cả hai đích Claude Code và AGY đều được tích sẵn mặc định, và tooltip giờ liệt kê chính xác từng đường dẫn file sẽ bị ghi đè trước khi bạn bấm xác nhận.
Thay đổi lớn thứ hai là kiến trúc sinh script: trước đây Claude Code và Antigravity CLI mỗi bên nhận một bản script được sinh riêng biệt, hai "phương ngữ" này có thể lệch nhau theo thời gian nếu một bên được vá mà bên kia bị bỏ quên. Từ v1.26.0, cả hai CLI dùng chung đúng một bản script byte-for-byte giống hệt nhau, bản thân script tự nhận diện nó đang chạy dưới CLI nào để ứng xử phù hợp, loại bỏ hoàn toàn nguy cơ trôi dạt giữa hai bản.
Cuối cùng, bản này còn vá một lỗi tồn tại xuyên suốt từ v1.10.0: hiện tượng "phantom quota" - một chỉ số quota cũ, thuộc về phiên làm việc của một tài khoản khác, có thể bị kẹt vĩnh viễn trên statusline và không bao giờ tự làm mới, khiến số liệu hiển thị sai lệch dai dẳng cho tới khi khởi động lại app. Lỗi này nay đã được xử lý triệt để.
Xem Thêm
Khám phá ứng dụng tại bài viết tổng quan Aki Dev Sync là gì, mẹo ghim không gian làm việc tại Quản lý nhiều Desktop macOS, hoặc kiểm tra mã nguồn tại GitHub Repo.