Skip to content
项目

xiufengsun/TokenTracker has 2,235 GitHub stars and 237 forks. GitHot measured +37 in 7 days. Last checked 2026-11-13 17:12 UTC. Last push 2026-11-01.

这些数字如何统计

可以做什么

  • 🏠 Local-first — Runs on your machine. Parses logs locally with no account or API keys needed.
  • 🚀 Zero config — Hooks auto-install on first run. From zero to dashboard in 30 seconds.
  • 📊 Beautiful dashboard — Usage trends, cost breakdowns by model, GitHub-style activity heatmap, project attribution
  • 🖥️ Native desktop app — macOS menu bar (+ widgets) and Windows system tray, each with an embedded server and the dashboard in a native webview

实测星标增长

24小时
更新延迟
7天
+37
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

关于

Local-first AI token usage & cost tracker for 31 coding tools incl. Claude Code, Codex, Cursor, Gemini & DeepSeek Harness—with native apps. Never reads prompts.

开发工具

README.zh-CN.md

原文

Token Tracker

English · 简体中文 · 日本語 · 한국어 · Deutsch

跨所有 CLI,看清你到底在 AI 上花了多少钱

自动采集 47 款 AI 编码工具 的 token 用量,全程本地聚合,用一套漂亮的 Dashboard 看真实成本与趋势。不需要云账号、不需要 API Key、不需要任何配置 —— 一条命令搞定。

npm version npm downloads Homebrew License: MIT Platform GitHub stars 阮一峰周刊 #393 收录 作者 tokens


TokenTracker intro film



⭐ 如果 TokenTracker 帮你省了时间,欢迎 在 GitHub 上 Star —— 可以让更多开发者发现它。


ko-fi


⚡ 快速开始

环境要求:Node.js 20+(CLI 支持 macOS / Linux / Windows;原生桌面 App 提供 macOS 菜单栏版、Windows 系统托盘版与 Linux AppImage 托盘版;Cursor 的 SQLite 读取仅限 macOS)。

npx tokentracker-cli

就这一行。首次运行会自动安装 hook、同步数据,并在 http://localhost:7680 打开 Dashboard。

30 秒能看到什么:

  • 📊 本地 Dashboard(localhost:7680)—— 用量趋势、模型明细、成本分析
  • 🔌 自动识别并挂接你电脑上所有已安装的 AI 工具
  • 🏠 本地优先 —— 直接在本地机器解析日志,无需账号或 API Key
  • 🧩 可选: Skills 面板——浏览 250+ 公开 skill,并在 Claude · Codex · Grok · Antigravity · Gemini · OpenCode · Hermes 之间同步

想要原生桌面 App?

  • macOS —— 下载 TokenTrackerBar.dmg → 拖入「应用程序」即可。包含桌面小组件、菜单栏状态图标,以及同一套 Dashboard(跑在 WKWebView 里)。
  • Windows —— 下载 TokenTracker-Setup.exe → 运行免管理员的单用户安装包即可。系统托盘 App,Dashboard 跑在 WebView2 里。便携版 zip 见发布页。
  • Linux —— 下载 TokenTracker-linux-x86_64.AppImage → chmod +x 后直接运行。托盘 App,Dashboard 跑在 WebKitGTK 窗口里。AppImage 自带 GTK/WebKit,除了较新的 glibc 之外不依赖发行版的库;GNOME 上托盘图标仍需装 AppIndicator 扩展。发布页同时提供 .deb 与 .rpm 安装包,它们改用发行版自带的 webkit2gtk-4.1、gtk3 与 appindicator;其中 .deb 依赖 libappindicator3-1,Debian 12 已改为 libayatana-appindicator3-1 而不再提供它,因此 Debian 12 请用 AppImage。

全局安装可以少敲字:

npm i -g tokentracker-cli

tokentracker              # 打开 Dashboard
tokentracker sync         # 手动同步
tokentracker status       # 查看 hook 挂接状态
tokentracker status --json   # 机器可读 JSON(pipe 到 jq、给 AI agent 喂数据)
tokentracker status --light  # 纯 ASCII 表(CI / SSH 用,无 spinner)
tokentracker doctor       # 健康检查

🍺 Homebrew(macOS)

用惯 brew 的话可以直接装,无需额外 tap:

# macOS 菜单栏 App(DMG)
brew install --cask xiufengsun/tokentracker/tokentracker

# 只装 CLI
brew install xiufengsun/tokentracker/tokentracker

升级:brew upgrade --cask xiufengsun/tokentracker/tokentracker。每次新版本发布后,tap 会在一小时内自动跟上。


✨ 特性

  • 🔌 开箱即用支持 47 款 AI 工具 —— Claude Code、Codex CLI、AStudio、Cursor、Gemini CLI、Kiro、OpenCode、OpenSquilla、OpenClaw、Every Code、Hermes Agent、GitHub Copilot、Kimi Code、CodeBuddy、WorkBuddy、Grok Build、oh-my-pi、OmO、pi、Dots、Prime Agent、Craft Agents、Reasonix、Muse Code、Kilo CLI、Kilo Code、Roo Code、Antigravity、Zed Agent、Goose、Droid、Mimo Code、DuMate、ZCode、Qoder、AnythingLLM Desktop、Claude Science、DeepSeek Harness、TRAE Work CN、LM Studio、Unsloth Studio、Devin CLI、Cline、MiniMax Code、Command Code、TRAE
  • 🏠 本地优先 —— 跑在本地。直接在本地机器解析日志,无需账号或 API Key。
  • 🚀 零配置 —— 首次运行自动安装所有 hook。30 秒从零到 Dashboard
  • 📊 漂亮的 Dashboard —— 用量趋势、按模型的成本分解、GitHub 风格活跃度热力图、按项目归因
  • 🖥️ 原生桌面 App —— macOS 菜单栏(含桌面小组件)与 Windows 系统托盘,各自内嵌服务 + 原生 WebView Dashboard
  • 🎨 4 种桌面小组件 —— 用量 / 热力图 / 热门模型 / 使用限额 直接钉桌面
  • 📈 实时限额追踪 —— Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code / Ark Coding Plan / Ark Agent Plan / Devin / WorkBuddy 的配额窗口;本地 provider App 暂时退出时保留 last-good 缓存
  • 🟢 服务状态页 —— 直接汇总 8 家 provider 官方状态页的实时运行与事故状态
  • 💰 成本引擎 —— 内置 70+ 模型定价表,精确到 USD
  • 🌐 可选排行榜 —— 与全球开发者对比;列可拖拽排序,聚焦你关心的 provider(需登录参与)
  • 🔄 跨设备账户视图 —— 开启云同步后,Dashboard 会把你在每台机器(笔记本 + 台式机 + 服务器)上的用量合并成一个视图——总量、趋势、热力图、模型明细全部跨设备聚合(可选,需登录)
  • 🧩 可选 Skills 面板 —— 浏览 250+ 公开 skill(来自 anthropics/skills、ComposioHQ/awesome-claude-skills、skills.sh 以及你自己添加的任何 GitHub 仓库),在 Claude / Codex / Grok / Antigravity / Gemini / OpenCode / Hermes 之间同步,目标 Agent 文字可见、可单独管理、一键撤销
  • 🔒 隐私优先 —— 仅记录本地用量指标(token 数量、时间戳与模型名称)。Prompt、模型回复和代码绝不离开你的机器。

🖼️ 截图

Dashboard —— 用量趋势、模型分布、成本分析

Dashboard

桌面小组件 —— 把用量钉在桌面

Desktop Widgets

菜单栏 App —— 带动画的 Clawd 小伙伴 + 原生面板

Menu Bar App

全球排行榜 —— 和世界各地开发者比一比

Leaderboard

Skills 管理器 —— 浏览 250+ 公开 skill(GitHub 仓库 & skills.sh),一次安装,同步到 Claude / Codex / AStudio / Grok / Antigravity / Gemini / OpenCode / Hermes。每个 Agent 单独开关,一键撤销,再也不用手动复制文件夹。

Skills Manager

桌面宠物 —— 悬浮在桌面上的像素小伙伴,实时响应你的 token 消耗:你写代码它也写,连击时庆祝,休息时打盹。粘贴 codex-pets.net 链接或 .codex-pet.zip 即可导入社区宠物,V2 宠物还能 16 方向转头追随你的鼠标。macOS / Windows / Web 三端支持。

Desktop Pet

🔌 已支持的 AI 工具

工具 识别方式 接入方式
Claude Code ✅ 自动 写入 settings.json 的 SessionEnd hook
Codex CLI ✅ 自动 写入 config.toml 的 TOML notify hook
AStudio ✅ 自动 写入 config.toml 的 TOML notify hook
Cursor ✅ 自动 API + SQLite 中的 auth token
Kiro ✅ 自动 SQLite + JSONL 混合读取
Gemini CLI ✅ 自动 SessionEnd hook
Antigravity ✅ 自动 被动读取 transcript.jsonl(~/.gemini/{antigravity,antigravity-ide,antigravity-cli}/brain/**/transcript.jsonl)
OpenCode ✅ 自动 插件系统 + SQLite
OpenSquilla ✅ 自动 被动读取本地 SQLite 中已完成的模型用量(Desktop:%APPDATA%\@opensquilla\desktop-electron\opensquilla\state\sessions.db;CLI:~/.opensquilla/state/sessions.db);只读取时间戳、模型 ID 与 token 计数,不读取对话正文。可用 TOKENTRACKER_OPENSQUILLA_DB 覆盖路径
OpenClaw ✅ 自动 Session 插件
Every Code ✅ 自动 TOML notify hook
Hermes Agent ✅ 自动 SQLite sessions 表(~/.hermes/state.db)
GitHub Copilot App / CLI ✅ 自动 统一逐请求 SQLite 用量(~/.copilot/session-store.db);App DB 作为旧数据基线
GitHub Copilot Chat 扩展 / 旧版 CLI ✅ 自动 OpenTelemetry 文件导出(COPILOT_OTEL_FILE_EXPORTER_PATH)
Kimi Code ✅ 自动 被动读取 wire.jsonl(~/.kimi/sessions/**/wire.jsonl)
oh-my-pi (Pi Coding Agent) ✅ 自动 被动读取(~/.omp/agent/sessions/**/*.jsonl)+ tokentracker init 会写入托管的 notify 扩展(~/.omp/agent/extensions/tokentracker-notify.ts)用于近实时同步(若同名非托管文件已存在则跳过;tokentracker uninstall 仅在仍为托管时删除)
CodeBuddy (腾讯) ✅ 自动 写入 ~/.codebuddy/settings.json 的 SessionEnd hook(Claude-Code fork)
WorkBuddy (腾讯) ✅ 自动 写入 ~/.workbuddy/settings.json 的 SessionEnd hook(Claude-Code fork)+ 被动扫描 projects/**/*.jsonl
Grok Build (xAI) ✅ 自动 SessionEnd hook + 被动扫描 updates.jsonl / signals.json(~/.grok/sessions/**/)
Kilo CLI (kilo.ai) ✅ 自动 被动读取 SQLite(~/.local/share/kilo/kilo.db,OpenCode-fork schema)
Kilo Code (VS Code 插件) ✅ 自动 被动读取 ui_messages.json(Cursor / VS Code / CodeBuddy / Windsurf 的 globalStorage)
pi (@mariozechner/pi-coding-agent) ✅ 自动 被动读取(~/.pi/agent/sessions/**/*.jsonl)
Dots ✅ 自动 通过 pi 的 provider 拆分路由(pi-dots source,复用同一被动读取器)—— 无需额外 hook
Prime Agent ✅ 自动 仅元数据的被动用量读取(~/.prime/agent/sessions/*.jsonl,不读取提示词或回复)
Craft Agents ✅ 自动 被动读取 session(~/.craft-agent + workspace session logs)
Reasonix ✅ 自动 被动读取 telemetry(~/.reasonix/**/*.jsonl.telemetry.json)
Muse Code ✅ 自动 被动读取会话日志(~/.local/share/muse/sessions/**/session.jsonl,可用 TOKENTRACKER_MUSE_HOME 覆盖)
Roo Code (VS Code 扩展) ✅ 自动 被动读取 ui_messages.json(rooveterinaryinc.roo-cline)
Zed Agent ✅ 自动 被动 SQLite 读取(threads.db,仅统计托管的 zed.dev 模型)
Goose (Block) ✅ 自动 被动 SQLite 读取(sessions.db,累计量 delta)
Droid (Factory) ✅ 自动 被动读取 session(~/.factory/sessions/**/settings.json,累计量 delta)
Mimo Code (mimocode) ✅ 自动 被动 SQLite 读取(~/.local/share/mimocode/mimocode.db,OpenCode-fork schema;仅统计 mimo 原生轮次——镜像进来的 Claude/claude-mem 历史已排除)
DuMate (Baidu) 自动 被动读取 OpenCode SQLite(%APPDATA%/qianfan-desktop-app/qianfan_desk_xdg/*/data/opencode/opencode.db);独立 dumate 来源,重装复制去重。可用 TOKENTRACKER_DUMATE_HOME 覆盖目录。见 DuMate 采集说明
ZCode (Z.ai) ✅ 自动 被动 SQLite 读取(~/.zcode/cli/db/db.sqlite,OpenCode-fork schema;仅统计 Z.ai/BigModel 的 GLM 轮次——内置的 Claude/Codex/Gemini 子 agent 已排除)
Qoder ✅ 自动 被动读取 SQLite(Qoder/SharedClientCache/cache/db/local.db;只读取 assistant 的 token_info,并单独统计缓存输入,不读取提示词或回复),并通过 Qoder 本地会话读取 Plan Credits 与 Ultimate 免费调用额度;Qoder Desktop 0.4.x 限额回退扫描本地 main.log/renderer.log 尾部提取账号用量摘要(见 Qoder 桌面版限额)
LM Studio ✅ 自动 被动递归读取 ~/.lmstudio/server-logs/**/*.log;只读取 Chat Completions 和 Responses API 最终响应中的 ID、模型、时间戳与标量 usage 计数,并按响应 ID 去重,不保留提示词或回复正文。该数据源覆盖本地推理与 LM Link(API 边际成本为 $0),不包含 Bionic Secure Cloud 账单。
Unsloth Studio ✅ 自动 被动读取 $UNSLOTH_STUDIO_HOME/studio.db(默认 ~/.unsloth/studio/studio.db);只投影标量 contextUsage 元数据和不含内容的 api_usage_events。不会读取提示词、回复、附件、API subject、凭据或训练指标;本地路由成本为 $0,已知付费 provider 路由按实际响应模型估算 token 成本。
AnythingLLM Desktop ✅ 自动 被动 SQLite 读取(anythingllm-desktop/storage/anythingllm.db;只读取每条消息的 token 指标,不读取 prompt 或回复)
Devin CLI (Cognition) ✅ 自动 被动 SQLite 读取($XDG_DATA_HOME/devin/cli/sessions.db,默认 ~/.local/share/devin/cli/sessions.db;按 request_id 对每次请求的用量指标去重——replay/fork/compaction 副本不会重复计数——使用记录的 generation model,不读取 prompt、回复或 cogs_json)。Devin 模型(swe-2、swe-2-high、compactor)当前没有定价数据,token 数照常统计但不计入美元估算——显示 $0 并不代表免费。没有已知的原生 Windows 数据目录;WSL 安装通过 \\wsl$ 读取。
Cline(CLI v3 / 桌面 App) ✅ 自动 被动读取 ~/.cline/data/sessions/<id>/*.messages.json。每轮的 metrics 是用量增量,其中 inputTokens 已包含 cache 读+写、outputTokens 已包含 reasoning——因此缓存前缀会被扣除、reasoning 不会重复计费;Cline 自己上报的 cost 优先采用。cline-free/* 与 cline-pass/* 网关模型计 $0。不读取 VS Code 扩展的 globalStorage 目录。路径覆盖:TOKENTRACKER_CLINE_SESSIONS_DIR、TOKENTRACKER_CLINE_DATA_DIR、TOKENTRACKER_CLINE_HOME、CLINE_SESSION_DATA_DIR、CLINE_DATA_DIR 或 CLINE_DIR
MiniMax Code ✅ 自动 被动读取(~/.minimax/v2/sessions/YYYY/MM/DD/<session>/messages.jsonl)。按 message_id 去重,按消息记录实际路由到的上游模型;usage.cost 恒为 0,不采用,按常规定价计算。可用 TOKENTRACKER_MINIMAX_HOME 覆盖目录
Command Code ✅ 自动 被动会话读取器(~/.commandcode/projects/<cwd-slug>/<session-id>.jsonl,跳过 *.checkpoints.jsonl 快照与 .prompts. 辅助文件)。在本地扫描会话日志,提取选定的用量元数据,包括 token 计数与 CLI 的 costUsd 展示估算值;费用按 Token Tracker 的统一模型价目表估算。从包含缓存的 input 中同时扣除缓存读取和缓存写入,避免重复计数。Token Tracker 不保存或上传 prompt、回复或代码正文。可用 TOKENTRACKER_COMMANDCODE_HOME 覆盖目录
Claude Science ✅ 自动 被动 SQLite 读取(~/.claude-science/operon-cli.db;只读取 frames 表的 token 计数,不读取 prompt、产物或研究内容)。没有原生 Windows 版——Windows 上该应用运行在 WSL 内,从 WSL 中读取。
DeepSeek Harness ✅ 自动 被动读取会话日志(~/.dsh/sessions/**/session.jsonl[.zstd];解析会话头部与 assistant 事件,支持多帧 zstd 解压)
TRAE(国际版) ✅ 自动 默认使用共享应用密钥读取 TRAE / TRAE SOLO 本地 SQLCipher 用量元数据;可通过 TOKENTRACKER_TRAE_SQLCIPHER_KEY 覆盖密钥。不调用厂商 API。配置与限制。
TRAE Work CN ✅ 自动 需要显式开启:设置 TOKENTRACKER_TRAE_CN_USAGE=1。 读取用量会把本地保存的登录授权发送到 TRAE 的内部 API,因此在你开启之前不会发出任何请求。开启后:仅在存在本地 TRAE Work CN 登录授权的可执行非后台同步期间,读取 macOS / Windows 本地登录应用的 session-token 用量;内部 API 可能变化

需要手动装什么插件 / hook 吗? 不需要。tokentracker(或 tokentracker init)第一次跑的时候会全部搞定:

  • 基于 hook 的工具(Claude Code、Codex、AStudio、Gemini、Every Code、CodeBuddy、WorkBuddy、Grok Build)—— 我们把 SessionEnd hook 或 TOML notify 条目写入它们自己的配置文件
  • 基于插件的工具(OpenCode、OpenClaw)—— 插件随 npm 包一起分发。OpenClaw 的 session plugin 位于 ~/.tokentracker/tracker/openclaw-plugin/openclaw-session-sync/;TokenTracker 会通过 OpenClaw 自己的 CLI 挂接并启用它,然后写入 hooks.allowConversationAccess=true,让 OpenClaw 放行触发同步的会话结束事件。无需下载、无需拖拽
  • oh-my-pi —— 被动会话扫描始终是计费/token 的事实来源(~/.omp/agent/sessions/**/*.jsonl)。检测到 OMP 时,tokentracker init 还会写入托管的 notify 扩展到 ~/.omp/agent/extensions/tokentracker-notify.ts,以便回合结束后近实时触发同步。仅当文件带有 TokenTracker 托管标记时才视为我们拥有:同名用户自写扩展绝不会被覆盖或删除。tokentracker uninstall 也仅在文件仍为托管状态时删除它。
  • 被动读取类(Cursor、Kiro、Hermes、Kimi Code、Copilot、Grok Build、pi、Craft Agents、Reasonix、Muse Code、Kilo CLI、Kilo Code、Roo Code、Antigravity、Zed Agent、Goose、Droid、Mimo Code、DuMate、ZCode、Qoder、LM Studio、Unsloth Studio、OpenSquilla、AnythingLLM Desktop、Devin CLI、MiniMax Code、Claude Science、DeepSeek Harness、Cline) —— 完全不往它们里面塞东西,只读取它们自己产生的文件(SQLite DB、JSONL、OTEL 导出、会话轨迹日志)。Copilot App / CLI 的用量按请求读取 ~/.copilot/session-store.db;data.db 只提供一次旧数据迁移基线,并在 store 成为主源后保持仅观察,Chat 扩展和旧版 CLI 继续使用 OTEL。TokenTracker 会协调这些数据源,使重叠请求只统计一次。迁移前无法无损拆分模型的 App/CLI 混合历史会保留为 github-copilot-legacy 聚合量,而不会猜测请求模型
  • Grok Build 估算说明 —— Grok 当前本地遥测提供 updates.jsonl 里的累计 totalTokens,但还没有稳定的输入/输出/cache 拆分;signals.json 仍作为 contextTokensUsed 快照兜底。所以在 Grok 提供按调用粒度的用量明细之前,TokenTracker 对 Grok 成本仍是估算值
  • Grok 产品占比 —— Grok 限额卡片默认只用一根进度条显示共享的每周或每月额度的总用量。展开卡片(macOS 菜单栏中点击该卡片)后,这根进度条会按产品拆分成多段(Grok Build、聊天、语音、Imagine,以及账单接口返回的其他产品),并在下方用图例列出各产品的占比。这些分段是同一个上限的拆分,不是各自独立的配额,因此这根进度条在「剩余」模式下也始终显示已用百分比。

任何时候都可以用 tokentracker status 查看每个集成的状态。如果显示 skipped,detail 列会解释原因(例如某工具 CLI 不在 PATH 上、config 不可读等)。

更深入的资料:OpenClaw 集成与排障。升级 v0.96.0 后 ZCode 历史总量下降,请参阅 ZCode 历史计数修正说明,了解缓存/推理重复计数修正及本地备份。

工具没在列表里?提个 Issue —— 加一个新 provider 通常只是加一个 parser 文件的事。


🆚 为什么选 TokenTracker?

想要带桌面小组件和可视化界面的用量追踪体验? TokenTracker 将面向众多 AI 编码工具的本地优先解析,与原生桌面 App、桌面小组件、多 provider 限额监控以及可选的云同步结合在一起。

功能维度 TokenTracker ccusage Tokscale
支持的 AI 工具数 47 多 Agent / 工具支持 多 Agent / 工具支持
主要交互方式 原生桌面 App 与 Web Dashboard 终端命令行(CLI) 终端 TUI 与 CLI
本地优先分析 ✅ ✅ ✅
原生桌面 App ✅ macOS、Windows、Linux ❌ ❌
桌面小组件 ✅ 4 个小组件 ❌ ❌
限额追踪 ✅ 18 家 provider 较少(Claude 周期/用量) 覆盖多个 provider
终端数据分析 基础 CLI(status、--json) 完善的 CLI 报表能力 丰富的交互式 TUI 与 CLI
JSON 导出 ✅ ✅ ✅
公开排行榜 可选(需主动登录参与) ❌ 可选(submit)

🏗️ 工作原理

flowchart LR
    A["AI 编码工具<br/>Claude Code · Codex · AStudio · Cursor · Gemini · Kiro<br/>OpenCode · OpenClaw · Every Code · Hermes · Copilot<br/>Kimi · CodeBuddy · WorkBuddy · Grok · Kilo · Roo · Zed · Goose<br/>Antigravity · oh-my-pi · pi · Craft · Droid · Mimo · DuMate · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE · TRAE Work CN · LM Studio · Unsloth Studio · Devin CLI · MiniMax Code · Cline · Command Code"]
    A -->|hook 触发| B[Token Tracker]
    B -->|解析日志<br/>30 分钟 UTC 桶| C[(本地 SQLite)]
    C --> D[Web Dashboard]
    C --> E[菜单栏 App]
    C --> F[桌面小组件]
    C -.->|可选| G[(云端排行榜)]
  1. 正常使用 AI CLI 工具时,它们会写 log
  2. 轻量级 hook 感知日志变动并触发同步(Cursor 走 API,不走 hook)
  3. 在本地解析 token 数量 —— Prompt、回复正文和代码绝不保存或上传
  4. 聚合成 30 分钟一格的 UTC 桶
  5. Dashboard、菜单栏 App 和桌面小组件都读取同一份本地快照

本地功能继续完整免费开源。可选官方 TokenTracker Cloud 提供托管跨设备分析;计划、试用与过渡规则见云服务说明。正式购买已开放,全球统一美元未税基础价,自动续费与按期购买均为 $4.99/月、$39.99/年,税费和最终金额由 Waffo 收银台显示。软件也允许免费自部署,服务器与维护自理,完整安装目前为自部署技术预览。

🛡️ 隐私

📄 完整隐私政策(英文)—— 逐条列出本应用可能发起的每一个网络请求、各自发送了什么,以及如何关闭。

TokenTracker 在本地处理你的用量数据。绝不收集或上传 prompt、代码或模型回复。

保护项 说明
不收集代码与 Prompt TokenTracker 解析本地日志文件中的 token 数量与时间戳。Prompt、回复正文、代码和对话内容绝不保存或上传。
默认本地优先 用量追踪完全跑在你的本地机器上。无需账号、登录或 API Key。云端同步与公开排行榜完全属于自选(Opt-in)。
可公开审计 完全开源。欢迎查阅 src/lib/rollout.js —— 仅提取数字、时间戳与模型名称。
透明的网络请求 完整披露于隐私政策。默认发起的网络请求仅限于:直接查询 provider 配额(使用你机器上已有的本地凭证)、获取 GitHub Star 数与检查更新、更新定价数据(raw.githubusercontent.com),以及匿名产品遥测(每日一次心跳、PostHog 页面访问,以及在配置了 DSN 时可选的 Sentry 错误上报——均可通过 TOKENTRACKER_NO_TELEMETRY=1 或 DO_NOT_TRACK=1 关闭)。遥测绝不包含 token、模型名、prompt 或代码。

📦 配置项

99% 的用户不需要改。进阶玩家可以用以下环境变量:

变量 说明 默认值
TOKENTRACKER_DEBUG 打开 debug 日志(1 表示打开) —
TOKENTRACKER_NO_TELEMETRY 关闭全部匿名遥测——每日心跳与 dashboard 分析(1 表示关闭;同样尊重 DO_NOT_TRACK 标准) —
TOKENTRACKER_HTTP_TIMEOUT_MS HTTP 超时时间(毫秒) 20000
TOKENTRACKER_DISABLE_GIT_ATTRIBUTION 关闭 Git 提交归因(设为 1 关闭)。归因会在每个近期会话的工作目录里执行 git log。关闭后 TokenTracker 完全不会进入你的项目目录(Outcomes 页只显示手动记录的结果) —
TOKENTRACKER_GIT_ATTRIBUTION_PROTECTED_DIRS 允许 Git 归因进入 macOS 受保护目录(设为 1 允许)。默认会跳过 ~/Documents、~/Downloads、~/Desktop、~/Library、影片/音乐/图片以及 /Volumes 下的会话,因为 macOS 会为每个位置单独弹一次访问授权提示。只有当你确实把仓库放在这些目录、且不介意授权时才需要开启 —
CODEX_HOME 覆盖 Codex CLI 目录 ~/.codex
TOKENTRACKER_ACODE_HOME 覆盖 AStudio 目录 ~/.acode
GEMINI_HOME 覆盖 Gemini CLI 目录 ~/.gemini
TOKENTRACKER_GROK_HOME 覆盖 Grok Build 目录,供 Grok 集成和 Skills Manager 使用 ~/.grok
GROK_HOME 旧版 Grok Build 目录覆盖变量;未设置 TOKENTRACKER_GROK_HOME 时使用 ~/.grok
TOKENTRACKER_ANTIGRAVITY_HOME 强制指定 Antigravity Skills 目录(不设时自动检测 ~/.gemini/antigravity 和 ~/.gemini/antigravity-ide,同步会同时写入两者) 自动

🛠️ 本地开发

git clone https://github.com/xiufengsun/TokenTracker.git
cd TokenTracker
npm install

# 构建 Dashboard + 跑 CLI
cd dashboard && npm install && npm run build && cd ..
node bin/tracker.js

# 跑测试
npm test

构建 macOS App

cd TokenTrackerBar
npm run dashboard:build              # 构建 Dashboard 前端
./scripts/bundle-node.sh             # 打包 Node.js + tokentracker 源码
xcodegen generate                    # 生成 Xcode 工程
ruby scripts/patch-pbxproj-icon.rb   # 补一下 Icon Composer 资源
xcodebuild -scheme TokenTrackerBar -configuration Release clean build
./scripts/create-dmg.sh              # 打 DMG

需要 Xcode 16+ 和 XcodeGen。


🔧 排障

CLI

报 "engines.node" 或版本不兼容错误

TokenTracker 需要 Node 20+。先看看你装的是哪个版本:

node --version

如果低于 20,用 nvm、fnm 或系统包管理器升级(brew upgrade node、apt install nodejs 等)。

端口 7680 被占用

被占用时 Dashboard 会自动顺延(7681、7682 …),实际端口在启动日志里会打出来。如果你想强制指定端口:

PORT=7700 tokentracker serve

查谁占着 7680:

lsof -i :7680

WSL2 说明:Windows 宿主机上的传递优化服务(DoSvc)默认监听 7680,NAT 网络模式下这个冲突在 WSL 内部检测不到——server 正常启动,但 Windows 浏览器访问到的是 DoSvc。因此 TokenTracker 在 WSL 中默认改用 7681(启动日志会说明)。

某个 AI 工具没被检测到

先看集成状态:

tokentracker status

然后跑一个深度健康检查:

tokentracker doctor

如果你明明在用某个工具却显示未配置,跑一下 tokentracker activate-if-needed 重新探测。还不行的话 提个 Issue,把 doctor 的输出贴上。

怎么完全卸载所有 hook 和配置
tokentracker uninstall

这会把 TokenTracker 在所有 AI 工具里写入的 hook 全部清掉,同时删除本地配置和数据。可以安全重复执行。

macOS App

"无法打开 TokenTrackerBar,因为它来自身份不明的开发者"

TokenTrackerBar 使用 ad-hoc 签名(没有用 Apple Developer ID 做公证,因为那需要付费账号)。Gatekeeper 会在首次启动时拦下。

  1. 打开 系统设置 → 隐私与安全性
  2. 滑到 安全性 区域 —— 你会看到提示「TokenTrackerBar 已被阻止以保护 Mac」
  3. 点击 仍要打开
  4. 在后续对话框中再点一次 打开(需要输入密码)

只需要做一次。老版本 macOS 上的替代做法:在访达里右键 App → 打开 → 确认对话框里再点 打开。

"TokenTrackerBar 已损坏,无法打开"

其实不是真坏了 —— 这是 Gatekeeper 对 macOS 给下载文件自动贴的 com.apple.quarantine 属性做出的反应。清除一次即可:

xattr -cr /Applications/TokenTracker.app

之后就能正常打开了。

"TokenTrackerBar 想访问其他 App 的数据"

这个权限是 Cursor 和 Kiro 集成需要的。它们把 auth token / 用量数据存在自己的 ~/Library/Application Support/ 目录下,而 macOS 用 App Management 权限保护这类访问。

  • ✅ 用 Cursor / Kiro:点 允许
  • ❌ 不用:点 不允许,这两个 provider 会被静默跳过,其他一切正常

授权一次即可记住。注意 ad-hoc 签名的版本每次升级后签名身份会变,所以每次升级都会重新弹一次。


🪪 README 徽章

把你的 token 用量秀到 GitHub Profile 或项目 README 上。

获取 你的_USER_ID:

  1. 运行 tokentracker,打开 Dashboard,并登录排行榜。
  2. 进入 设置 → 账号。
  3. 使用页面里的 User ID。如果是 headless/SSH 机器,tokentracker device-login 也会把同一个 user_id 写到 ~/.tokentracker/tracker/config.json。

然后贴一段:

[![tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=你的_USER_ID&metric=tokens)](https://github.com/xiufengsun/TokenTracker)
[![cost](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=你的_USER_ID&metric=cost)](https://github.com/xiufengsun/TokenTracker)
[![rank](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=你的_USER_ID&metric=rank)](https://github.com/xiufengsun/TokenTracker)

链接默认指向 TokenTracker 仓库,每次点击都能帮其他开发者发现 TokenTracker。如果你想让点击跳到你自己的 leaderboard profile、个人主页或 https://www.tokentracker.cc,改 URL 即可。

输出 shields.io 兼容的徽章 SVG,含你当前的累计数据(60 秒缓存):

参数 取值 默认
metric tokens / cost / rank tokens
period week / month / total total
style flat / flat-square flat
label 任意短文本 指标名
color hex,例如 ff6b35 品牌绿

隐私:徽章仅对开启了排行榜公开(设置 → 账号 → 公开 Profile)的用户生效;未公开的用户会返回 "private" 占位徽章。


⭐ Star 历史


🤝 贡献与支持

🙏 致谢

bot 伙伴的形变引擎来自 bloub,作者 Jérémy Perret(MIT 许可)。

Clawd 角色设计归属 Anthropic。本项目是社区项目,和 Anthropic 无官方隶属关系。

🔗 友情链接

License

MIT


Token Tracker —— 把你的 AI 产出量化。

tokentracker.cc · npm · GitHub

探索相关项目