Cách tôi thay thế thiết lập procfile + supervisord của mình bằng một ứng dụng macOS
Procfile, cấu hình supervisord, và cả một “nghĩa địa” script shell để quản lý các dịch vụ dev. Đây là lý do tôi ngừng duy trì tất cả và thứ tôi dùng bây giờ.
Articles and insights about Agata Stack.
Procfile, cấu hình supervisord, và cả một “nghĩa địa” script shell để quản lý các dịch vụ dev. Đây là lý do tôi ngừng duy trì tất cả và thứ tôi dùng bây giờ.
Việc sàng lọc log rất đau đầu vì lỗi đến như một luồng dữ liệu, không phải một câu chuyện. Dòng thời gian trong Agata Stack biến mọi sự kiện khớp với quy tắc thành một mục được mã hoá màu mà bạn có thể đọc như một timeline — đây là cách nó hoạt động và vì sao hệ màu quan trọng hơn vẻ ngoài của nó.
HTTP API cục bộ của Agata Stack cho phép bạn khởi động, dừng, khởi động lại và theo dõi log của bất kỳ dịch vụ nào trên Mac bằng một lệnh curl thuần túy — từ CI, từ alias shell, hoặc từ công cụ AI. Không cần cấu hình daemon, không cần dịch vụ bên thứ ba.
SSH vào một box staging mỗi lần muốn kiểm tra log là kiểu DevOps của năm 2010. Đây là cách các dịch vụ từ xa có thể nằm cạnh các dịch vụ cục bộ trong cùng một chế độ xem trạng thái, với cùng các kiểm tra tình trạng, luồng log và quy tắc tự động hóa.
Giờ đây bạn có thể trỏ Claude Code hoặc Cursor vào iOS Simulator hay Android emulator đang chạy, chụp màn hình, chạy lệnh adb shell và cài bản build — tất cả từ một prompt AI, ngay từ menubar, không cần chuyển app.
Phần lớn MCP server cần một tiến trình riêng, một relay cloud, hoặc chỉ xử lý một việc. Agata Stack chạy endpoint MCP ngay trong app menubar — bao gồm computer-use, kiểm thử mobile, quản lý dịch vụ và stream log từ một địa chỉ localhost.
Trợ lý lập trình AI của bạn có thể thấy code của bạn. Nó không thể biết liệu dev server của bạn có thực sự đang chạy hay không. Đây là cách một local HTTP API và một endpoint MCP thay đổi hoàn toàn điều đó.
Chuyển ngữ cảnh giữa dev, staging và production chậm và dễ hỏng. Các profile môi trường trong Agata Stack thay đổi toàn bộ chỉ với một cú nhấp — và API cũng cho phép script của bạn làm điều đó.
A failed health check is not a diagnosis. Here is how Agata Stack reads the last 20 log lines, matches known error patterns, and hands you a runnable fix command before you even open a terminal.
Hầu hết các nhóm tìm đến dịch vụ uptime bên thứ ba ngay khi họ cần health check. Bạn đã có sẵn mọi thứ cần thiết trên Mac — và không tốn thêm đồng nào.
Bạn có thể bắt các phản hồi API chậm từ dev stack theo thời gian thực mà không cần chạm vào một dòng code nào hay thêm middleware. Đây là cách stream rules trong Agata Stack hoạt động với log hiện có của bạn.
Crash thì ồn ào. Lỗi im lặng thì không. Đây là cách bắt loại sự cố tệ nhất — dịch vụ chỉ lặng lẽ dừng lại — trước khi người dùng của bạn phát hiện.
Mỗi developer đều từng mất năm phút vì lỗi port-in-use lúc khởi động. Đây là stream rule phát hiện EADDRINUSE trong log, giết port đang chặn, và khởi động lại service của bạn — tự động, không cần terminal.
Agata Stack chạy một HTTP server cục bộ trên cổng 19877. Tail logs trực tiếp qua SSE, quản lý services, và dùng một OpenAPI spec tự mô tả — tất cả từ một shell script, một CI job, hoặc một AI tool.
Một dòng lỗi lặp lại 400 lần trông như nhiễu. Nhưng đó là một mẫu — và một quy tắc đúng có thể bắt nó trong 5 dòng đầu, kích hoạt một lần, rồi im lặng sau đó. Đây là cách log fingerprinting hoạt động trong Agata Stack.
Phần lớn công cụ dev chỉ hiện log cho những tiến trình do chúng khởi chạy. Agata Stack có thể gắn vào bất kỳ tiến trình người dùng nào đang chạy trên Mac của bạn — bằng PID — và stream đầu ra theo thời gian thực, không cần khởi động lại.
Một service bị crash mà không ai phát hiện cho đến khi có người dùng than phiền là một bài toán đã có lời giải. Đây là thiết lập phát hiện crash và tự khởi động lại đã chấm dứt những bất ngờ lúc 3 giờ sáng.
Mười bốn tab terminal, các nhóm cửa sổ được tô màu, vậy mà tôi vẫn không thể nhìn lướt qua để biết dịch vụ nào đã lặng lẽ chết. Đây là điều đã thay đổi.