Tokscale: Theo Dõi Token AI Từ Terminal
Tokscale là CLI và giao diện terminal (TUI) viết bằng Rust, đọc log session cục bộ từ 20+ AI coding agent — Claude Code, Codex CLI, Cursor IDE, và nhiều agent khác — rồi gộp vào một bảng thống kê token và chi phí duy nhất. Hãy dùng nếu bạn chạy nhiều coding agent và muốn xem tổng chi phí ở một nơi; bỏ qua nếu bạn chỉ dùng một agent và nó đã hiển thị usage rõ ràng sẵn — gộp dữ liệu qua nhiều công cụ là lý do Tokscale tồn tại.
Tokscale Là Gì?
Tokscale là một công cụ dòng lệnh (CLI) và giao diện terminal (TUI), viết bằng Rust, đọc dữ liệu session cục bộ từ các AI coding agent như Claude Code, Codex CLI, OpenCode, và Cursor IDE để báo cáo số token bạn đã dùng và chi phí tương ứng. Nó gộp mọi thứ vào một bảng thống kê kiểu contribution-graph duy nhất, thay vì bắt bạn mở riêng màn hình usage của từng agent.
Tính Năng Cốt Lõi Để Quản Lý Token AI
- ✓Đọc dữ liệu session cục bộ từ hơn 20 CLI và IDE coding agent — Claude Code, Codex CLI, OpenCode, Cursor IDE, Gemini CLI, Amp, Droid, Cline, Goose, Devin CLI, và nhiều hơn nữa — theo bảng client trong README, thay vì yêu cầu tích hợp API riêng với từng công cụ.
- ✓TUI tương tác xây trên Ratatui với các view Overview, Models, Daily, Hourly, Stats, và Agents, cộng thêm view Minutely tùy chọn, điều hướng bằng bàn phím và chuột, và 12 theme màu để chọn.
- ✓Tính giá theo thời gian thực, lấy từ dữ liệu pricing của LiteLLM với cache trên đĩa 1 giờ, tự động fallback sang OpenRouter, và có bảng giá riêng cho các model Cursor mới ra mắt.
- ✓Phần lõi Rust gốc xử lý việc parse và tổng hợp dữ liệu, theo README giúp xử lý nhanh hơn khoảng 10 lần nhờ quét file song song và parse JSON kiểu SIMD.
- ✓Sáu chiến lược group-by — model, client+model, client+provider+model, workspace+model, session+model, và client+session+model — bao gồm trường `sessionId` để gắn chi phí về đúng một session agent-CLI.
- ✓Biểu đồ contribution kiểu GitHub, hiển thị trực quan trên web ở cả 2D và 3D, xuất được qua lệnh `tokscale graph --output data.json`.
- ✓Báo cáo gắn theo task: tóm tắt session và gom nhóm task bằng LLM, hỗ trợ nhiều backend gồm Apple FM, Claude, Codex, Gemini, hoặc Kiro.
- ✓Bảng xếp hạng xã hội — chạy `bunx tokscale@latest submit` sẽ gửi dữ liệu usage của bạn lên và tạo một public profile để so sánh với người khác.
Bắt Đầu Với Tokscale
Tokscale được phân phối qua gói npm tên `tokscale`, một gói alias (README so sánh với cách gói `swc` hoạt động) cài đặt `@tokscale/cli`, bao gồm cả phần lõi Rust gốc đã biên dịch sẵn `@tokscale/core`. Chạy `npx tokscale@latest`, `bunx tokscale@latest`, hoặc `deno x npm:tokscale@latest` là có ngay TUI tương tác đầy đủ — không cần bước cài đặt riêng. Thêm `--light` để chỉ in bảng thay vì mở TUI. Bạn cần cài Node.js hoặc Bun; Rust toolchain chỉ cần khi muốn build native module từ source. Để build từ source: clone repo, cài Bun, chạy `bun install`, rồi `bun run build:core` để biên dịch native module (bắt buộc để CLI hoạt động — nó đảm nhận việc parse và tổng hợp file) và `bun run cli` để chạy cục bộ. README nói bản build sẵn đã đi kèm gói đã publish, nên đường build-từ-source này chỉ cần cho phát triển cục bộ.
Sử Dụng TUI Và CLI Của Tokscale
Lệnh `tokscale` mặc định mở TUI; `tokscale models`, `tokscale monthly`, và `tokscale hourly` mở thẳng từng tab, còn `tokscale tui` mở TUI một cách tường minh. `tokscale --light` in ra bảng kiểu cũ thay vì TUI. Trong TUI, phím mũi tên hoặc Tab chuyển view, `g` mở dialog chọn group-by (model, client+model, client+provider+model, workspace+model, session+model, hoặc client+session+model), `s` mở dialog chọn nguồn/client, `p` xoay qua 12 theme màu, `y` copy dòng đang chọn, và `e` xuất ra JSON. Giới hạn báo cáo theo agent bằng `--client`/`-c` (cách nhau bằng dấu phẩy hoặc lặp lại flag, ví dụ `--client opencode,claude`), và theo khoảng ngày bằng `--today`, `--week`, `--month`, `--since`/`--until`, hoặc `--year`. `tokscale graph --output data.json` và `tokscale models --json` đẩy dữ liệu ra cho công cụ khác dùng. Một điều cần lưu ý: bản 4.0.0 đã bỏ các flag boolean theo từng client kiểu cũ (`--opencode`, `--claude`, v.v.); giờ dùng chúng sẽ báo lỗi, nên `--client` là cách duy nhất được hỗ trợ để lọc theo agent.
Điểm mạnh
- ✓Bao quát hơn 20 agent chỉ từ một công cụ — bạn không cần mở settings của Claude Code, rồi dashboard của Cursor, rồi log của Codex riêng lẻ để biết token đi đâu.
- ✓Phần lõi Rust gốc (parse cộng tổng hợp) nhanh hơn đáng kể so với cách làm thuần JS — README nói khoảng 10 lần — điều này có ý nghĩa khi bạn quét lịch sử session nhiều tháng.
- ✓Group-by theo session (`--group-by session,model` hoặc `client,session,model`) gắn `sessionId` vào mỗi dòng, giúp một multi-agent runner nối dữ liệu chi phí về đúng session agent đã tạo ra nó.
- ✓Xuất JSON ở nhiều cấp độ (`--json`, `tokscale graph --output data.json`) nghĩa là dữ liệu không bị khoá trong TUI — bạn có thể đẩy nó vào dashboard riêng.
- ✓Giấy phép MIT, và gói npm đã publish không cần setup gì — `npx tokscale@latest` là có ngay TUI đầy đủ.
Những Điều Cần Lưu Ý Khi Dùng Tokscale
- △Native module Rust là bắt buộc để CLI chạy được — không phải tùy chọn. Build nó từ source cần Rust toolchain, dù gói npm đã publish đi kèm binary dựng sẵn nên phần lớn người dùng không phải đụng tới bước này.
- △Bản 4.0.0 đã bỏ các flag boolean theo từng client kiểu cũ (`--opencode`, `--claude`, v.v.); giờ chúng báo lỗi thẳng, nên script hay alias viết cho Tokscale trước bản 4.0 cần cập nhật sang `--client`.
- △Theo dõi Cursor IDE không trơn tru như các client khác — README nói cần đăng nhập desktop tự động hoặc dán cookie thủ công, cộng thêm bước login và `sync --json`, khác với cách đọc file cục bộ dùng cho các client còn lại.
- △Số liệu chi phí phụ thuộc vào dữ liệu pricing của LiteLLM (có fallback OpenRouter), làm mới theo cache 1 giờ — nên độ chính xác giá phụ thuộc vào một bộ dữ liệu bên thứ ba, không phải số từ chính nhà cung cấp agent.
- △Báo cáo tóm tắt session gắn theo task cần cấu hình một LLM backend riêng (Apple FM, Claude, Codex, Gemini, hoặc Kiro) — tính năng này không chạy local/offline hoàn toàn.
Các Công Cụ Theo Dõi Token AI Khác
Câu Hỏi Thường Gặp Về Tokscale
Tokscale đọc dữ liệu session cục bộ từ hơn 20 CLI và IDE coding agent, gồm Claude Code, Codex CLI, OpenCode, Cursor IDE, Gemini CLI, Amp, Droid, Cline, Goose, và Devin CLI, theo bảng client trong README.
Tokscale định giá token bằng dữ liệu pricing của LiteLLM với cache trên đĩa 1 giờ, fallback sang giá OpenRouter khi một model không có trong dữ liệu LiteLLM, cộng thêm bảng giá riêng cho các model Cursor mới ra mắt.
Tokscale hỗ trợ xuất dữ liệu qua `tokscale --json`, `tokscale models --json`, và `tokscale graph --output data.json`, nên báo cáo usage và chi phí có thể đưa vào spreadsheet hay công cụ trực quan hoá khác.
Bảng xếp hạng toàn cầu của Tokscale là một tính năng xã hội bạn tham gia bằng lệnh `bunx tokscale@latest submit`, gửi dữ liệu usage của bạn lên và tạo một public profile bên cạnh tổng token của người dùng khác.
Chế độ mặc định của Tokscale là một TUI tương tác xây trên Ratatui, có nhiều view (gồm Overview, Models, Daily, Hourly, Stats, và Agents), điều hướng bằng bàn phím và chuột, cùng 12 theme màu để chọn.
Tokscale được phát hành theo giấy phép MIT, theo thông tin trên repository GitHub của nó.
Vấn đề Tokscale giải quyết
Nhà phát triển dùng song song nhiều AI coding agent (chẳng hạn Claude Code cho vài dự án, Codex CLI hay Cursor cho các dự án khác) không có một nơi duy nhất để xem tổng mức sử dụng token — mỗi agent tự theo dõi và báo cáo usage theo định dạng và vị trí riêng, rải rác qua hàng chục đường dẫn khác nhau (`~/.claude/projects/`, `~/.codex/sessions/`, cache API riêng của Cursor, v.v.). README của Tokscale giải quyết trực tiếp vấn đề này bằng cách tự viết bộ đọc cho định dạng lưu session của từng agent, thay vì bắt nhà phát triển tự đối chiếu số liệu thủ công qua từng công cụ.
Trường hợp sử dụng tốt nhất
- •Một nhà phát triển dùng song song nhiều AI coding agent (ví dụ Claude Code lẫn Codex CLI và Cursor) muốn có một nơi duy nhất xem tổng chi phí token thay vì kiểm tra riêng từng màn hình usage của từng công cụ.
- •Gắn chi phí LLM theo từng session trong một multi-agent runner hoặc IDE, dùng `--group-by session,model` hoặc `client,session,model` để nối dữ liệu chi phí về đúng một `session_id`.
- •Xuất dữ liệu usage ra JSON (`tokscale --json`, `tokscale graph --output data.json`) để đưa vào dashboard nội bộ hoặc file spreadsheet.
- •Lọc chi phí theo khoảng ngày hoặc theo client để dựng báo cáo token/chi phí theo tháng hoặc theo dự án (`--since`/`--until`, `--client`, `--week`/`--month`).
- •Tham gia bảng xếp hạng toàn cầu của Tokscale bằng cách gửi dữ liệu usage và có một public profile qua lệnh `bunx tokscale@latest submit`.
Ai nên dùng — và ai nên bỏ qua
Hãy thử Tokscale nếu bạn thường xuyên chuyển qua lại giữa nhiều AI coding agent — hôm nay Claude Code, mai Codex CLI hay Cursor — và muốn có một dashboard terminal duy nhất cho tổng chi phí token thay vì ghép lại từ nhiều màn hình usage riêng lẻ. Nó cũng hợp nếu bạn thích làm việc trong TUI và muốn tách chi phí theo từng session cho một workflow nhiều agent. Bỏ qua nếu bạn chỉ dùng đúng một coding agent đã hiển thị usage rõ ràng sẵn, hoặc nếu bạn không thoải mái khi để một công cụ đọc file session cục bộ qua `~/.claude`, `~/.codex`, `~/.cursor`, và hàng chục đường dẫn tương tự để dựng báo cáo.
Repo liên quan
Muốn nghe thêm một ý kiến về tokscale?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về tokscale.
