Home / Sharenewshort / Z.AI Key Monitor – Công cụ giám sát API Key Z.AI toàn diện với Flask và SQLite

Z.AI Key Monitor – Công cụ giám sát API Key Z.AI toàn diện với Flask và SQLite

Z.AI Key Monitor là một ứng dụng web mã nguồn mở do VHAE04 phát triển, cho phép bạn theo dõi, kiểm tra xác thực, xem level,quota usage và thời gian reset của các API Key Z.AI theo thời gian thực. Dự án được xây dựng bằng Flask (Python) làm backend kết hợp SQLite để lưu trữ dữ liệu bền vững, cùng giao diện web hiện đại hiển thị trực quan.


📸 Giao diện ứng dụng

Z.AI Key Monitor Screenshot


🎯 Tổng quan chức năng

Dự án cung cấp một hệ thống quản lý và giám sát API Key Z.AI hoàn chỉnh với các tính năng chính sau:

1. Thêm key đơn hoặc theo danh sách (List)

Người dùng có thể nhập một key hoặc nhiều key cùng lúc. Hệ thống hỗ trợ phân tách key bằng nhiều delimiter khác nhau: dòng mới, dấu phẩy (,), hoặc chấm phẩy (;). Điều này linh hoạt cho phép paste hàng loạt key từ nhiều nguồn khác nhau.

Ví dụ payload khi thêm key:

// Thêm 1 key duy nhất
{ "key": "your-api-key-here" }

// Thêm nhiều key cùng lúc
{ "keys": "key1,key2;key3\nkey4" }

2. Kiểm tra xác thực (Authentication Check)

Hệ thống tự động gọi API Z.AI để xác định trạng thái của từng key: key hợp lệ (valid), không hợp lệ (invalid), hoặc bị lỗi (error). Kết quả được cập nhật ngay trên giao diện.

3. Hiển thị Level (Cấp độ tài khoản)

Mỗi key khi được kiểm tra sẽ hiện thị level tài khoản tương ứng, bao gồm: Lite, Pro, Max, Enterprise, v.v. Thông tin này giúp người dùng phân loại và quản lý key theo cấp độ quyền truy cập.

4. Quota Realtime với thanh tiến trình

Một trong những tính năng nổi bật nhất là hiển thị quota sử dụng theo thời gian thực. Với mỗi key, hệ thống hiển thị:

  • Đã dùng (currentValue)
  • Tổng số (usage)
  • Còn lại (remaining)
  • Thanh tiến trình màu sắc (percentage bar) trực quan

5. Chi tiết sử dụng theo từng Model

Hệ thống cung cấp breakdown chi tiết lượng sử dụng cho từng model code cụ thể, bao gồm nhưng không giới hạn:

  • search-prime
  • web-reader
  • zread

Điều này giúp bạn biết chính xác key nào đang tiêu tốn quota ở model nào.

6. Thời gian Reset + Countdown

Mỗi key có trường nextResetTime được hệ thống hiển thị kèm đồng hồ đếm ngược (countdown). Bạn sẽ luôn biết chính xác khi nào quota sẽ được reset để lên kế hoạch sử dụng hiệu quả.

7. Lưu trữ持久 với SQLite

Toàn bộ dữ liệu key được lưu trữ vào file keys.db (SQLite database). Điều này có nghĩa là dữ liệu không bị mất khi restart server — một ưu điểm lớn so với lưu trữ in-memory. Database được tự động tạo khi chạy lần đầu.

8. Tìm kiếm và Filter key nhanh

Giao diện tích hợp ô tìm kiếm cho phép bạn nhanh chóng filter key theo từ khóa. API endpoint hỗ trợ query parameter search để tìm kiếm phía server:

GET /api/keys?search=keyword

9. Auto-refresh mỗi 30 giây

Dữ liệu được tự động làm mới mỗi 30 giây, đảm bảo rằng trạng thái key, quota và countdown luôn được cập nhật mà không cần tải lại trang thủ công.


🗂️ Cấu trúc dự án

Dự án có cấu trúc đơn giản và dễ hiểu:

File / Thư mục Mô tả
app.py Backend chính — Flask + SQLite logic
keys.db SQLite database (tự tạo khi chạy lần đầu)
templates/index.html Giao diện web frontend
requirements.txt Danh sách dependencies Python
README.md Tài liệu hướng dẫn

Ngôn ngữ sử dụng:

  • HTML: 76.6% (giao diện frontend)
  • Python: 23.4% (backend logic)

🔌 API Endpoints đầy đủ

Hệ thống cung cấp các REST API endpoints sau:

Method Endpoint Mô tả
GET / Trả về giao diện web (HTML page)
GET /api/keys?search= Lấy danh sách key, hỗ trợ tìm kiếm qua query param
POST /api/keys Thêm key — chấp nhận {key: "..."} hoặc {keys: "key1,key2..."}
DELETE /api/keys/<key> Xóa một key cụ thể
POST /api/keys/clear Xóa toàn bộ key trong database
POST /api/validate/<key> Kiểm tra xác thực một key cụ thể
POST /api/validate-all Kiểm tra xác thực tất cả key trong database
GET /api/stats Lấy thống kê tổng quan: tổng số key, key hợp lệ, key lỗi…

📊 Dữ liệu trả về từ API Validate

Ví dụ cấu trúc JSON phản hồi khi kiểm tra một key hợp lệ:

{
  "code": 200,
  "data": {
    "level": "lite",
    "limits": [
      {
        "type": "TIME_LIMIT",
        "usage": 100,
        "currentValue": 12,
        "remaining": 88,
        "percentage": 12,
        "nextResetTime": 1777694756997,
        "usageDetails": [
          {"modelCode": "search-prime", "usage": 12},
          {"modelCode": "web-reader", "usage": 0}
        ]
      }
    ]
  }
}

Giải thích các trường:

Trường Kiểu dữ liệu Mô tả
code Integer HTTP status code (200 = thành công)
data.level String Cấp độ tài khoản: lite, pro, max, enterprise…
limits[].type String Loại giới hạn (VD: TIME_LIMIT)
limits[].usage Integer Tổng quota được cấp
limits[].currentValue Integer Số lượng đã sử dụng
limits[].remaining Integer Số lượng còn lại
limits[].percentage Integer Phần trăm đã sử dụng
limits[].nextResetTime Long (timestamp ms) Thời gian reset quota tiếp theo
limits[].usageDetails Array Chi tiết sử dụng theo từng model code

⚙️ Hướng dẫn cài đặt và chạy

Yêu cầu hệ thống

  • Python 3.x
  • pip (Python package manager)

Cài đặt dependencies

pip install flask requests

Chỉ hai thư viện duy nhất cần cài đặt — Flask cho web server và Requests để gọi API Z.AI.

Khởi chạy ứng dụng

python app.py

Sau khi chạy, truy cập địa chỉ: http://localhost:5000

Database keys.db sẽ được tự động tạo trong thư mục dự án khi bạn chạy ứng dụng lần đầu tiên.


📝 Tổng kết

Z.AI Key Monitor là một công cụ nhỏ gọn nhưng đầy đủ chức năng để quản lý và giám sát API key Z.AI. Với khả năng thêm key hàng loạt, kiểm tra xác thực, hiển thị level/quota realtime, countdown reset, và lưu trữ persistent bằng SQLite — đây là giải pháp phù hợp cho cá nhân hoặc nhóm nhỏ cần theo dõi nhiều API key Z.AI cùng lúc. Giao diện web trực quan với auto-refresh 30 giây giúp bạn luôn cập nhật trạng thái mà không cần thao tác thủ công.


Source link: VHAE04/Z.AI-Key-Monitor-API-Key-Tracking-

2 Comments

  • không biết ghi ở đâu nên ghi tạm ở đây. sau khi đọc các blog của ad thì cmn đây là trang blog mình cần đây rồi :))) hy vọng ad chăm ra các bài nữa, có khi phải để thêm cái page donate ấy chứ 😀

Leave a Reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *