---
title: "AIUsage"
url: https://phatdev.net/vi/projects/aiusage
lang: vi
alternate:
  en: https://phatdev.net/en/projects/aiusage
markdown: https://phatdev.net/vi/projects/aiusage.md
---

# AIUsage

> Bảng theo dõi hạn mức và chi phí AI trên macOS: Claude, ChatGPT/Codex, Antigravity và Gemini API trong một cửa sổ và một widget. Biết còn bao nhiêu quota, bao giờ reset, quota đang đi vào đâu và còn bao nhiêu tiền, có dự báo theo nhịp và cảnh báo số cũ. Không máy chủ trung gian.

- Vai trò: macOS · Công cụ nhà phát triển · Riêng tư
- Trạng thái: Bản 0.8.0, dùng cá nhân hằng ngày, chưa phát hành công khai
- Công nghệ: Swift, SwiftUI, WidgetKit, macOS, Python
- Tài liệu và changelog: https://phatdev.net/docs/aiusage
- Tất cả dự án: https://phatdev.net/vi/projects.md

## Thông tin dự án

- Vai trò: Chủ sản phẩm, phát triển cùng Claude Code
- Nền tảng: Swift, SwiftUI, WidgetKit, shell và Python
- Phiên bản: 0.8.0 (23/10/2026)
- Chạy trên: macOS 26 trở lên, có widget cỡ lớn

## Số liệu

- 4: dịch vụ AI trong một cửa sổ: Claude, ChatGPT, Antigravity, Gemini API
- 5 phút: chu kỳ làm mới nền, không vượt ngân sách vẽ lại của widget
- 6: nguồn dữ liệu độc lập, một nguồn hỏng không che các nguồn khác
- 0: máy chủ trung gian: số liệu chỉ nằm trên máy của bạn

## Điểm nổi bật

- **Đọc đúng chỗ mỗi hãng cho**: Claude và AI Studio qua WebKit đã đăng nhập, Codex qua API của chính ứng dụng Codex, Antigravity qua dòng lệnh agy. Không phụ thuộc API chính thức.
- **Số cũ phải lộ ra là số cũ**: Mỗi nguồn có mốc lấy dữ liệu riêng, quá 90 phút thì thẻ đó cảnh báo. Đồng hồ chung chỉ nhích khi có lần lấy thật sự thành công.
- **Dự báo theo nhịp**: Vạch nên ở trên mỗi thanh quota và dòng trạng thái: dư dả, dự kiến hết sáng mai, còn 5%.
- **Biết quota đi đâu**: Phân tích phiên chạy dài, context lớn và subagent của Claude Code và Codex, gộp máy này, Cowork và máy chủ từ xa.
- **Widget và cửa sổ tự co giãn**: Widget cỡ lớn đếm ngược từng giây. Cửa sổ dashboard bung full chiều cao, kéo giãn tự do, tự co lại trên màn nhỏ.

## Phân tích chi tiết

### Bài toán

Người dùng AI nặng thường trả tiền cho nhiều dịch vụ cùng lúc: một gói Claude, một gói ChatGPT, một gói Antigravity và thêm Gemini API tính theo mức dùng. Mỗi dịch vụ có hạn mức riêng, chu kỳ reset riêng và một trang web riêng để xem. Muốn biết "hôm nay còn dùng được bao nhiêu" phải mở bốn năm trang, đăng nhập lại khi phiên hết hạn, và vẫn không biết quota đang bị tiêu vào việc gì.

Các hãng cũng không cung cấp API chính thức để đọc quota. Có hãng chỉ có trang web, có hãng chỉ có dòng lệnh, và định dạng đổi theo từng bản cập nhật.

### Giải pháp

AIUsage gom mọi hạn mức và chi phí vào một cửa sổ và một widget trên macOS, tự làm mới nền mỗi 5 phút, và giữ dữ liệu trên máy.

#### Đọc đúng chỗ mỗi hãng cho

Claude và Google AI Studio chỉ có trang web, nên ứng dụng đọc chính trang đó bằng một WebKit đã đăng nhập sẵn. Codex dùng API mà ứng dụng Codex đang gọi. Antigravity đọc từ dòng lệnh `agy`. Nhờ vậy ứng dụng không phụ thuộc API chính thức, và không bị hỏng khi công cụ dòng lệnh cập nhật.

#### Số cũ phải lộ ra là số cũ

Mỗi nguồn có mốc lấy dữ liệu riêng. Quá 90 phút chưa làm mới thì thẻ của nguồn đó cảnh báo, và đồng hồ chung chỉ nhích khi có lần lấy thật sự thành công. Một nguồn hỏng không bị các nguồn còn lại che đi.

#### Dự báo theo nhịp

Mỗi thanh quota có vạch "nên ở" nếu dùng đều suốt chu kỳ, kèm dòng trạng thái: dư dả, dự kiến hết sáng mai, còn 5%. Bạn biết mình đang dùng nhanh hay chậm mà không phải tự tính.

#### Biết quota đi đâu

Phần phân tích đọc nhật ký phiên của Claude Code và Codex trên máy này, trong Cowork và trên máy chủ từ xa qua SSH. Ứng dụng chỉ ra phần trăm yêu cầu rơi vào phiên chạy dài, context lớn và subagent, kèm theo model, project và giờ. Với Codex còn có lịch sử giới hạn 7 ngày, lượt reset còn lại và dữ liệu từ máy chủ OpenAI.

#### Tiền tính đến từng ngày

Với Gemini API, ứng dụng ghép Cloud Monitoring, bảng giá, BigQuery billing export và trang Billing của AI Studio để ra số dư credit, chi phí theo ngày và theo model, dự báo cuối tháng và số ngày số dư còn đủ. Với Anthropic, dòng tín dụng API cho biết còn bao nhiêu trong 200 USD mà gói Max tặng mỗi tháng.

#### Widget và cửa sổ tự co giãn

Widget cỡ lớn luôn hiện trên màn hình nền với đồng hồ đếm ngược. Cửa sổ dashboard là lưới 4 hàng, 3 cột bằng nhau, tự bung full chiều cao màn hình, kéo giãn tự do và tự co lại trên màn nhỏ.

### So sánh với cách làm thủ công

| Tiêu chí | AIUsage | Mở từng trang web | Bảng tính tự cập nhật |
|---|---|---|---|
| Gom nhiều hãng vào một nơi | Có | Không | Một phần |
| Tự làm mới nền | Có, 5 phút | Không | Một phần |
| Dự báo khi nào hết quota | Có | Không | Tự viết công thức |
| Biết quota tiêu vào việc gì | Có | Không | Không |
| Cảnh báo số cũ theo từng nguồn | Có | Không áp dụng | Không |
| Widget trên màn hình nền | Có | Không | Không |
| Dữ liệu ở lại trên máy | Có | Có | Tuỳ công cụ |

### Công nghệ

- **Giao diện:** SwiftUI và WidgetKit, Liquid Glass, chạy trên macOS 26 trở lên.
- **Lấy dữ liệu:** shell và Python, một nguồn một lần chạy độc lập, ghi nguyên tử vào file cache.
- **Đăng nhập web:** ứng dụng nhỏ dùng WKWebView giữ phiên đăng nhập.
- **Nền:** ba LaunchAgent cho làm mới định kỳ, nút làm mới và cửa sổ đăng nhập.

### Phát triển cùng Claude Code

Dự án được phát triển với Claude Code theo kế hoạch và kiến trúc của chủ sản phẩm, có Codex review mã và Gemini hỗ trợ giao diện. Mỗi thay đổi giao diện được kiểm chứng bằng ảnh chụp màn hình thực tế, và widget được đo bằng ảnh dựng ngoài màn hình thay vì ước lượng bằng mắt.
