为什么做这个项目
AI 编程工具已经变成日常开发流量入口,但我们对它的使用情况经常是模糊的:
- 今天到底用了多少 token?
- Codex、Claude Code、Cursor 的用量分别是多少?
- 团队里谁在高频使用 AI 编程?
- 哪些模型、日期、项目维度的消耗更集中?
- 如果要公开排行榜,隐私边界应该放在哪里?
AI Token League 解决的是这个问题:用本地优先的方式采集 AI 编程 token 用量,把聚合后的事实同步到服务端,再用公开排行榜展示。
一句话概括:它是一个面向 Codex、Claude Code 和 Cursor 的本地优先 AI 编程 token 用量采集器与公开排行榜。
第一性原理:排行榜到底应该排行什么
这个项目没有把“成本”作为主排名依据。原因很简单:不同模型价格会变,OpenRouter 价格也可能变,成本更适合作为辅助展示。
主排行使用稳定的 token 事实:
totalTokens = inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens
reasoning tokens 保留为诊断和成本相关字段,但不进入主排行总量。
这样做的好处是,排行榜的核心含义很清楚:谁实际消耗了更多 AI 编程 token。
隐私边界
AI 编程日志里可能包含非常敏感的信息,所以这个项目的底线是:服务端只接收按天聚合后的 usage facts。
不会上传:
- prompt
- assistant response
- source code
- full transcript
- real absolute path
- Cursor session token
- identity private key
workdir 展示使用 hash 与展示名,不上传真实绝对路径。Cursor Dashboard Usage 需要显式启用,并且 Cursor 本身不提供本地项目路径。
架构拆分
仓库里主要分成四块:
src/collector/:CLI 采集器,负责来源扫描、身份配置和同步。src/desktop/:Electron 桌面端,负责本地 Today、Trend、Settings、Sources、Cloud 等使用体验。src/backend/:Node.js 服务端,负责注册、签名校验、聚合存储、价格和管理接口。src/web/:公开排行榜、下载页和 admin 页面。
存储支持 JSON 和 MySQL。JSON 适合本地和轻量部署,MySQL 适合公开服务或团队使用。
支持的数据来源
当前支持:
| 来源 | Provider ID | 状态 |
|---|---|---|
| Codex 本地日志 | codex_local | 支持 |
| Claude Code 本地日志 | claude_code_local | 支持 |
| Cursor Dashboard Usage | cursor_dashboard_usage | 显式启用后支持 |
桌面端和 CLI 都可以使用。桌面端更适合日常用户,CLI 更适合开发者和自动化环境。
快速运行
要求 Node.js 22 或以上。
npm install
[ -f env.local ] || cp env.example env.local
scripts/start-server.sh --env env.local
打开:
http://127.0.0.1:8787
初始化采集器:
npm run collector:init -- --nickname your-name --api http://127.0.0.1:8787
npm run collector -- scan
npm run collector -- sync
运行桌面端:
npm run desktop
当前能力
当前版本是 0.5.3,核心能力包括:
- 公开/匿名排行榜
- Codex / Claude Code / Cursor 用量采集
- Electron 桌面端
- CLI 采集器
- 签名上传
- token 组成分析
- OpenRouter 价格与估算成本
- Admin 管理台
- JSON / MySQL 存储
- macOS 和 Windows 桌面产物
- 应用更新链路
后续计划
下一阶段会继续打磨:
- 客户端数据分析能力强化
适合谁试用
如果你是 AI 编程重度用户、小团队、开源社区维护者,或者只是想知道自己到底用了多少 AI 编程 token,可以试一下。
源码地址 :github.com/SKYhuangjin…