我做了个 AI 编程 token 排行榜,终于知道谁在猛用 AI

50 阅读3分钟

为什么做这个项目

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 Usagecursor_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…