AI Token Monitor: Theo dõi hạn ngạch Claude, Gemini, Grok, Kimi trực tiếp trên Linux

Widget desktop Linux mã nguồn mở hiển thị hạn ngạch AI token theo thời gian thực bằng thanh tiến trình kiểu HP bar trong Conky. Hỗ trợ Claude, Gemini, Grok, Kimi với polling API thực và đếm ngược reset.

  • Python
  • Conky
  • Linux
  • MIT
  • Cập nhật 2026-06-06

📦 资源信息

🔧 最后维护06/06/2026
🎯 版本1.0.0

Vấn đề: Quản lý sáu dịch vụ AI cùng lúc mà không biết cái nào đã hết hạn ngạch #

Các developer hiện đại sử dụng đồng thời 4 đến 8 dịch vụ AI — Claude cho lập luận phức tạp, Gemini phân tích ngữ cảnh dài, Grok lấy dữ liệu web thời gian thực, Kimi xử lý tài liệu lớn. Mỗi dịch vụ có dashboard hạn ngạch riêng, lịch reset riêng và trang thanh toán riêng.

Kết quả: bạn vào rate limit giữa chừng công việc, mất 5 phút chuyển tab trình duyệt, phát hiện hạn ngạch miễn phí của Gemini reset vào UTC nửa đêm (không phải nửa đêm giờ địa phương của bạn), rồi lãng phí thêm 10 phút debug tại sao Kimi trả về 429.

AI Token Monitor giải quyết điều này bằng một widget desktop luôn hiển thị — không cần rời khỏi trình soạn thảo, một cái nhìn là biết trạng thái mọi dịch vụ.

● Claude  ░░░░░░░░░  Không có số dư
● Gemini  ░░░░░░░░░  Hết hạn ngạch
● Grok    ░░░░░░░░░  Đã hết
● Kimi    █████████  22.4M còn lại
● Codex   ─────────  18:42:01
● Kilo    ─────────  18:42:01

Cách hoạt động #

Monitor gồm hai thành phần:

api_fetcher.py — script nền (cron mỗi 5 phút) poll API từng dịch vụ và ghi kết quả vào ~/token-monitor/api_cache.json.

conky_ai.py — đọc cache mỗi 30 giây và xuất text định dạng Conky với inline ${color} tag. Conky render thành widget desktop.

api_fetcher.py  →  api_cache.json  →  conky_ai.py  →  Hiển thị Conky
  (cron/5 phút)    (cache JSON)       (poll 30s)     (luôn hiển thị)

Kiến trúc này đảm bảo lỗi API không đóng băng desktop. Cache luôn lưu trạng thái cuối cùng đã biết.

Thanh tiến trình kiểu HP bar #

Tính năng chính là hiển thị hạn ngạch kiểu thanh HP — hàng ký tự Unicode block trực quan thể hiện hạn ngạch còn lại:

Màu sắcTrạng thái
█████████ xanh láHơn 50% hạn ngạch
████░░░░░ camCòn 20–50%
█░░░░░░░░ đỏDưới 20%
░░░░░░░░░ đỏĐã hết / không có số dư
───────── xámChưa cấu hình API key

Thanh tiến trình rộng 9 ký tự. Mỗi đại diện cho khoảng 11% hạn ngạch.

Cài đặt #

# 1. Clone
git clone https://github.com/luckybbjason1/ai-token-monitor
cd ai-token-monitor

# 2. Cài đặt
bash install.sh

# 3. Thêm API key
nano ~/.config/.ai_monitor_keys

# 4. Khởi động lại Conky
pkill conky && conky --daemonize --pause=1

Script cài đặt tự động:

  • Sao chép script vào ~/token-monitor/
  • Thêm ${execpi 30 python3 ~/token-monitor/conky_ai.py} vào cấu hình Conky
  • Thiết lập cron job cho api_fetcher.py

Dịch vụ được hỗ trợ và phương thức API #

Dịch vụAPI EndpointNội dung phát hiện
Kimi (Moonshot)GET /v1/users/meHạn ngạch token còn lại chính xác
Claude (Anthropic)POST /v1/messagesHeader rate-limit theo cửa sổ
Gemini (Google)POST .../generateContent429 = hết hạn ngạch
Grok (xAI)GET /v1/models403 = hết số dư
Codex / KiloĐếm ngược đến nửa đêm UTC+8

Thiết kế bảo mật #

API key lưu trong ~/.config/.ai_monitor_keys với quyền chmod 600. Bị loại trừ khỏi git qua .gitignore. Key không bao giờ được in ra terminal hay ghi vào file log — fetcher đọc một lần khi khởi động và chỉ giữ trong bộ nhớ trong thời gian gọi HTTP.

Thêm dịch vụ tùy chỉnh #

Thêm block vào api_fetcher.py:

# ── Dịch vụ tùy chỉnh ────────────────────────────
key = keys.get('yourservice')
if key:
    try:
        r = requests.get('https://api.yourservice.com/v1/usage',
                         headers={'Authorization': f'Bearer {key}'}, timeout=8)
        if r.status_code == 200:
            data = r.json()
            remain = data['quota_remaining']
            total  = data['quota_total']
            cache['YourService'] = {
                'ok': True,
                'label': f'{remain//1000}K còn lại',
                'pct': remain / total
            }
        else:
            cache['YourService'] = {'ok': False, 'label': 'Lỗi API'}
    except Exception:
        pass

Sau đó thêm {'name': 'YourService', 'reset_h': 24} vào danh sách SERVICES trong conky_ai.py.

Công cụ liên quan trên dibi8 #

Nếu bạn đang quản lý chi phí nhiều AI API, hãy tham khảo thêm:

Tải code #

Hoàn toàn mã nguồn mở theo giấy phép MIT.

GitHub: github.com/luckybbjason1/ai-token-monitor

Nếu công cụ này giúp bạn tránh được bất ngờ rate limit giữa chừng công việc, hãy Star repository. Issues và PR luôn được chào đón — đặc biệt cho hỗ trợ macOS hoặc tích hợp dịch vụ mới.

📦 Xuất hiện trong các bộ sưu tập

💬 Bình luận & Thảo luận