{"id":47628844,"url":"https://github.com/mm7894215/tokentracker","last_synced_at":"2026-07-08T03:00:38.424Z","repository":{"id":349351784,"uuid":"1201960789","full_name":"mm7894215/TokenTracker","owner":"mm7894215","description":"Track token usage across 25 AI coding tools — Claude Code, Codex, Cursor, Gemini, Kiro, OpenCode, Antigravity, Copilot, Kimi, CodeBuddy, WorkBuddy, Grok, Kilo, Roo, Zed, Goose, Mimo, ZCode \u0026 more — local-first, zero-config, with a dashboard, macOS menu bar app, and desktop widgets.","archived":false,"fork":false,"pushed_at":"2026-07-03T03:01:34.000Z","size":24599,"stargazers_count":834,"open_issues_count":9,"forks_count":82,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-07-03T04:35:59.119Z","etag":null,"topics":["ai","ai-agent","ai-tools","antigravity","claude-code","cli","codex-cli","cost-tracker","cursor","dashboard","developer-tools","gemini-cli","llm","local-first","macos","nodejs","npm-package","observability","privacy-first","token-tracker"],"latest_commit_sha":null,"homepage":"https://www.tokentracker.cc","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mm7894215.png","metadata":{"files":{"readme":"README.de.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-05T12:02:23.000Z","updated_at":"2026-07-03T02:57:41.000Z","dependencies_parsed_at":"2026-04-11T08:01:23.009Z","dependency_job_id":null,"html_url":"https://github.com/mm7894215/TokenTracker","commit_stats":null,"previous_names":["mm7894215/tokentracker"],"tags_count":222,"template":false,"template_full_name":null,"purl":"pkg:github/mm7894215/TokenTracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mm7894215","download_url":"https://codeload.github.com/mm7894215/TokenTracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35249883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agent","ai-tools","antigravity","claude-code","cli","codex-cli","cost-tracker","cursor","dashboard","developer-tools","gemini-cli","llm","local-first","macos","nodejs","npm-package","observability","privacy-first","token-tracker"],"created_at":"2026-04-01T23:04:02.688Z","updated_at":"2026-07-08T03:00:38.388Z","avatar_url":"https://github.com/mm7894215.png","language":"JavaScript","funding_links":["https://ko-fi.com/M4M11XSNWD"],"categories":["The latest additions 🎉"],"sub_categories":["Usage"],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Token Tracker\n\n[English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md) · [한국어](./README.ko.md) · **Deutsch**\n\n### Sieh genau, was du für KI ausgibst – über jedes CLI hinweg\n\nSammle automatisch Token-Zahlen von **25 KI-Coding-Tools**, aggregiere sie lokal und sieh echte Kostentrends in einem schönen Dashboard. Kein Cloud-Konto, keine API-Keys, kein Setup – nur ein Befehl.\n\n[![npm version](https://img.shields.io/npm/v/tokentracker-cli.svg?color=blue)](https://www.npmjs.com/package/tokentracker-cli)\n[![npm downloads](https://img.shields.io/npm/dm/tokentracker-cli.svg?color=brightgreen)](https://www.npmjs.com/package/tokentracker-cli)\n[![Homebrew](https://img.shields.io/github/v/release/mm7894215/TokenTracker?label=brew\u0026color=F8B73E\u0026logo=homebrew\u0026logoColor=white)](https://github.com/mm7894215/homebrew-tokentracker)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![CLI](https://img.shields.io/badge/CLI-macOS%20%C2%B7%20Linux%20%C2%B7%20Windows-lightgrey.svg)](https://www.npmjs.com/package/tokentracker-cli)\n[![macOS app](https://img.shields.io/badge/macOS%20app-menu%20bar%20%2B%20widgets-lightgrey.svg?logo=apple\u0026logoColor=white)](https://github.com/mm7894215/TokenTracker/releases/latest)\n[![Windows app](https://img.shields.io/badge/Windows%20app-system%20tray-lightgrey.svg?logo=windows\u0026logoColor=white)](https://github.com/mm7894215/TokenTracker/releases/latest)\n[![GitHub stars](https://img.shields.io/github/stars/mm7894215/TokenTracker?style=social)](https://github.com/mm7894215/TokenTracker/stargazers)\n[![Featured in 阮一峰周刊 #393](https://img.shields.io/badge/Featured%20in-%E9%98%AE%E4%B8%80%E5%B3%B0%E5%91%A8%E5%88%8A%20%23393-FF6B35?logo=rss\u0026logoColor=white)](https://github.com/ruanyf/weekly/blob/master/docs/issue-393.md)\n[![Author tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=0652839f-d19f-4f67-af85-6b7675875443\u0026metric=tokens\u0026compact=1\u0026label=author%20tokens)](https://github.com/mm7894215/TokenTracker)\n\n\u003cbr/\u003e\n\n\u003cvideo src=\"https://github.com/user-attachments/assets/3275979d-bbed-4639-83e2-8b7d83bed6af\" controls muted playsinline poster=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-dark.png\" width=\"820\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-dark.png\" alt=\"Token Tracker Dashboard\" width=\"820\" /\u003e\n\u003c/video\u003e\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n⭐ **Wenn TokenTracker dir Zeit spart, [gib ihm einen Star auf GitHub](https://github.com/mm7894215/TokenTracker) – das hilft anderen Entwicklern, es zu finden.**\n\n\u003cbr/\u003e\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M11XSNWD)\n\n\u003c/div\u003e\n\n---\n\n## ⚡ Schnellstart\n\n\u003e **Voraussetzungen**: Node.js **20+** (CLI läuft auf macOS / Linux / Windows; native Desktop-Apps gibt es für macOS (Menüleiste) und Windows (System Tray). Cursor-Token nutzt das systemeigene `sqlite3` CLI, wo verfügbar, und nutzt `node:sqlite` als Fallback auf unterstützten Node-Versionen).\n\n```bash\nnpx tokentracker-cli\n```\n\nDas war's. Beim ersten Start werden Hooks installiert, deine Daten synchronisiert und das Dashboard unter `http://localhost:7680` geöffnet.\n\n**Das bekommst du in 30 Sekunden:**\n\n- 📊 Ein lokales Dashboard auf `localhost:7680` mit Nutzungstrends, Modellaufschlüsselung, Kostenanalyse\n- 🔌 Auto-erkannte Hooks für jedes installierte KI-Tool\n- 🏠 100 % lokal – kein Konto, keine API-Keys, keine Netzwerkaufrufe (außer optionalem Leaderboard)\n- 🧩 *Optional:* Ein Skills-Tab zum Durchsuchen von 250+ öffentlichen Skills – synchronisiert über Claude · Codex · Grok · Antigravity · Gemini · OpenCode · Hermes\n\n\u003e **Möchtest du eine native Desktop-App?**\n\u003e - **macOS** — [Lade `TokenTrackerBar.dmg` herunter](https://github.com/mm7894215/TokenTracker/releases/latest/download/TokenTrackerBar.dmg) → in Programme ziehen. Menüleisten-Symbol, Desktop-Widgets und das Dashboard in einer WKWebView.\n\u003e - **Windows** — [Lade `TokenTracker-Setup.exe` herunter](https://github.com/mm7894215/TokenTracker/releases/latest/download/TokenTracker-Setup.exe) → per-user Installer ausführen (kein Admin nötig). System-Tray-App mit Dashboard in WebView2. Portables Zip gibt's auf der [Releases-Seite](https://github.com/mm7894215/TokenTracker/releases/latest).\n\nFür kürzere Befehle global installieren:\n\n```bash\nnpm i -g tokentracker-cli\n\ntokentracker              # Dashboard öffnen\ntokentracker sync         # Manuelle Synchronisation\ntokentracker status       # Hook-Status prüfen\ntokentracker status --json     # Maschinenlesbare Ausgabe (für jq, AI-Agenten)\ntokentracker status --light    # Reine ASCII-Tabelle (CI / SSH, kein Spinner)\ntokentracker doctor       # Health Check\n```\n\n### 🍺 Homebrew (macOS)\n\n```bash\n# macOS Menüleisten-App (DMG)\nbrew install --cask mm7894215/tokentracker/tokentracker\n\n# Nur CLI\nbrew install mm7894215/tokentracker/tokentracker\n```\n\nAktualisieren mit `brew upgrade --cask mm7894215/tokentracker/tokentracker`. Der Tap wird innerhalb einer Stunde nach jedem Release automatisch aktualisiert.\n\n---\n\n## ✨ Features\n\n- 🔌 **25 KI-Tools out of the box** — Claude Code, Codex CLI, Cursor, Gemini CLI, Antigravity, Kiro, OpenCode, OpenClaw, Every Code, Hermes Agent, GitHub Copilot, Kimi Code, CodeBuddy, WorkBuddy, Grok Build, oh-my-pi, pi, Craft Agents, Kilo CLI, Kilo Code, Roo Code, Zed Agent, Goose, Mimo Code, ZCode\n- 🏠 **100 % lokal** — Token-Daten verlassen nie deinen Rechner. Kein Konto, keine API-Keys.\n- 🚀 **Zero Config** — Hooks installieren sich beim ersten Start automatisch. Von null zum Dashboard in 30 Sekunden.\n- 📊 **Schönes Dashboard** — Nutzungstrends, Kostenaufschlüsselung nach Modell, GitHub-ähnliche Aktivitäts-Heatmap, Projektzuordnung\n- 🖥️ **Native Desktop-App** — macOS Menüleiste (+ Widgets) und Windows System Tray, jeweils mit eingebautem Server und Dashboard in einer nativen WebView\n- 🎨 **4 Desktop-Widgets** — Nutzung / Aktivitäts-Heatmap / Top-Modelle / Nutzungslimits auf dem Schreibtisch\n- 📈 **Echtzeit-Rate-Limit-Tracking** — Claude / Codex / Cursor / Gemini / Kiro / Copilot / Antigravity mit Reset-Countdowns\n- 💰 **Kosten-Engine** — 2.200+ Modelle bepreist via [LiteLLM](https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json) (täglich aktualisiert) + kuratierte Overrides für Nischen-Tools; 24h-Disk-Cache + Offline-Snapshot für genaue USD-Angaben ohne Internetverbindung. Modelle ohne veröffentlichte Preise (z. B. Tencent hy3-preview) werden nach Token erfasst, zeigen aber 0 $ Kosten bis der Anbieter einen Preis veröffentlicht.\n- 🌐 **Optionales Leaderboard** — Vergleiche dich mit Entwicklern weltweit; Spalten per Drag-and-Drop neu anordnen (Opt-in, Anmeldung erforderlich)\n- 🧩 **Optionaler Skills-Tab** — 250+ öffentliche Skills von `anthropics/skills`, `ComposioHQ/awesome-claude-skills`, `skills.sh` und jedem GitHub-Repo durchsuchen; mit einem Klick über Claude / Codex / Grok / Antigravity / Gemini / OpenCode / Hermes synchronisieren\n- 🔒 **Privacy-First** — Nur Token-Zahlen und Zeitstempel. Nie Prompts, Responses oder Dateiinhalte.\n\n---\n\n## 🖼️ Vorschau\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Dashboard** — Nutzungstrends, Modellaufschlüsselung, Kostenanalyse\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-light.png\" alt=\"Dashboard\" /\u003e\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Desktop-Widgets** — Nutzung auf dem Schreibtisch\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/widgets-overview.png\" alt=\"Desktop-Widgets\" /\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Menüleisten-App** — Animierter Clawd-Begleiter + native Panels\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/menubar.gif\" alt=\"Menüleisten-App\" /\u003e\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Globales Leaderboard** — Vergleich mit Entwicklern weltweit\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/leaderboard.png\" alt=\"Leaderboard\" /\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\n\n**Skills-Manager** — 250+ öffentliche Skills von GitHub \u0026 `skills.sh` durchsuchen, einmal installieren, mit Claude / Codex / Grok / Antigravity / Gemini / OpenCode / Hermes synchronisieren. Ein-/Ausschalten pro Tool, Undo mit einem Klick.\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/skills.png\" alt=\"Skills-Manager\" /\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🔌 Unterstützte KI-Tools\n\n| Tool | Erkennung | Methode |\n|---|---|---|\n| **Claude Code** | ✅ Auto | SessionEnd-Hook in `settings.json` |\n| **Codex CLI** | ✅ Auto | TOML-Notify-Hook in `config.toml` |\n| **Cursor** | ✅ Auto | API + SQLite-Auth-Token |\n| **Kiro** | ✅ Auto | SQLite + JSONL hybrid |\n| **Gemini CLI** | ✅ Auto | SessionEnd-Hook |\n| **OpenCode** | ✅ Auto | Plugin-System + SQLite |\n| **OpenClaw** | ✅ Auto | Session-Plugin |\n| **Every Code** | ✅ Auto | TOML-Notify-Hook |\n| **Hermes Agent** | ✅ Auto | SQLite Sessions-Tabelle (`~/.hermes/state.db`) |\n| **GitHub Copilot App** | ✅ Auto | Passiver Session-Summary-Reader (`~/.copilot/data.db` oder `COPILOT_HOME/data.db`) |\n| **GitHub Copilot CLI / Chat-Erweiterung** | ✅ Auto | OpenTelemetry-Datei-Exporter (`COPILOT_OTEL_FILE_EXPORTER_PATH`) |\n| **Kimi Code** | ✅ Auto | Passiver `wire.jsonl`-Reader (`~/.kimi/sessions/**/wire.jsonl`) |\n| **oh-my-pi (Pi Coding Agent)** | ✅ Auto | Passiver Reader (`~/.omp/agent/sessions/**/*.jsonl`) |\n| **CodeBuddy** (Tencent) | ✅ Auto | SessionEnd-Hook in `~/.codebuddy/settings.json` (Claude-Code-Fork) |\n| **WorkBuddy** (Tencent) | ✅ Auto | SessionEnd-Hook in `~/.workbuddy/settings.json` (Claude-Code-Fork) + passiver `projects/**/*.jsonl`-Scan |\n| **Grok Build** (xAI) | ✅ Auto | SessionEnd-Hook + passiver `updates.jsonl` / `signals.json`-Scan (`~/.grok/sessions/**/`) |\n| **Kilo CLI** (kilo.ai) | ✅ Auto | Passiver SQLite-Reader (`~/.local/share/kilo/kilo.db`, OpenCode-Fork-Schema) |\n| **Kilo Code** (VS Code Extension) | ✅ Auto | Passiver `ui_messages.json`-Reader (Cursor/Code/CodeBuddy/Windsurf globalStorage) |\n| **Antigravity** | ✅ Auto | Passiver Transcript-Reader (`~/.gemini/{antigravity,antigravity-ide,antigravity-cli}/brain/**/transcript.jsonl`) |\n| **pi** (`@mariozechner/pi-coding-agent`) | ✅ Auto | Passiver Reader (`~/.pi/agent/sessions/**/*.jsonl`) |\n| **Craft Agents** | ✅ Auto | Passiver Session-Reader (`~/.craft-agent` + Workspace-Session-Logs) |\n| **Roo Code** (VS Code Extension) | ✅ Auto | Passiver `ui_messages.json`-Reader (`rooveterinaryinc.roo-cline`) |\n| **Zed Agent** | ✅ Auto | Passiver SQLite-Reader (`threads.db`, nur `zed.dev`-Modelle) |\n| **Goose** (Block) | ✅ Auto | Passiver SQLite-Reader (`sessions.db`, kumulative Deltas) |\n| **Mimo Code** (mimocode) | ✅ Auto | Passiver SQLite-Reader (`~/.local/share/mimocode/mimocode.db`, OpenCode-Fork-Schema; zählt nur mimo-native Turns – gespiegelte Claude/claude-mem-Verläufe werden ausgeschlossen) |\n| **ZCode** (Z.ai) | ✅ Auto | Passiver SQLite-Reader (`~/.zcode/cli/db/db.sqlite`, OpenCode-Fork-Schema; zählt nur Z.ai/BigModel-GLM-Turns – gebündelte Claude/Codex/Gemini-Sub-Agenten werden ausgeschlossen) |\n\n\u003e **Muss ich Plugins oder Hooks manuell installieren?** Nein. `tokentracker` (oder `tokentracker init`) erledigt alles beim ersten Start:\n\u003e - **Hook-basiert** (Claude Code, Codex, Gemini, Every Code, CodeBuddy, WorkBuddy, Grok Build) — wir schreiben einen SessionEnd-Hook oder TOML-Notify-Eintrag in die Konfiguration des Tools.\n\u003e - **Plugin-basiert** (OpenCode, OpenClaw) — das Plugin ist im npm-Paket enthalten (`~/.tokentracker/app/openclaw-plugin/`). Wir verlinken es per CLI (`openclaw plugins install --link …` + `enable`). Kein Download, kein Drag-and-Drop.\n\u003e - **Passive Reader** (Cursor, Kiro, Hermes, Kimi Code, Copilot, Grok Build, oh-my-pi, pi, Craft Agents, Kilo CLI, Kilo Code, Roo Code, Antigravity, Zed Agent, Goose, Mimo Code, ZCode) — wir installieren nichts in diesen Tools. Wir lesen nur Dateien, die sie bereits produzieren (SQLite-DB, JSONL, OTEL-Export, Session-Logs). Die Copilot-App-Nutzung wird ausschließlich aus den `sessions.total_*`-Token-Zusammenfassungen in `~/.copilot/data.db` gelesen und fließt in die bestehende `copilot`-Gesamtstatistik ein (Summen, Trends, Modellaufschlüsselung, Kosten). Copilot CLI / Chat-Erweiterung bleibt OTEL-basiert; beide Pfade führen getrennte Sync-Cursor, um Doppelzählungen zu vermeiden.\n\u003e\n\u003e Führe `tokentracker status` aus, um den Status jeder Integration zu prüfen. Zeigt ein Tool `skipped`, erklärt die `detail`-Spalte warum.\n\u003e\n\u003e Tiefergehend: [OpenClaw-Integration \u0026 Troubleshooting](docs/openclaw-integration.md).\n\nFehlt dein Tool? [Erstelle ein Issue](https://github.com/mm7894215/TokenTracker/issues/new) — neue Provider sind meist nur eine Parser-Datei entfernt.\n\n---\n\n## 🆚 Warum TokenTracker?\n\n\u003e **Suchst du eine ccusage-Alternative mit GUI?** TokenTracker unterstützt 25 Tools (nicht nur Claude Code), bietet eine native macOS-Menüleisten-App + Desktop-Widgets und dedupliziert Token-Datensätze korrekt über alle Provider hinweg – damit deine Zahlen mit dem Billing der Provider übereinstimmen.\n\n| | **TokenTracker** | ccusage | Cursor Stats |\n|---|---|---|---|\n| **Unterstützte KI-Tools** | **25** | 1 (Claude) | 1 (Cursor) |\n| **Lokal, kein Konto** | ✅ | ✅ | ❌ |\n| **Native Desktop-App** | ✅ macOS + Windows | ❌ | ❌ |\n| **Desktop-Widgets** | ✅ 4 Widgets | ❌ | ❌ |\n| **Rate-Limit-Tracking** | ✅ 7 Provider | ❌ | Nur Cursor |\n| **Präzises Multi-Provider-Dedup** | ✅ | ❌ ¹ | — |\n\n\u003csub\u003e¹ `reqId`-basierte Deduplizierung zählt Provider ohne Request-ID (DeepSeek / Kimi / MiniMax / Claude-Sub-Agenten) 1,6–3,7× über. TokenTracker dedupliziert über einen zusammengesetzten Schlüssel, sodass die Summen mit dem Billing der jeweiligen Provider übereinstimmen.\u003c/sub\u003e\n\n---\n\n## 🏗️ Wie es funktioniert\n\n```mermaid\nflowchart LR\n    A[\"KI-CLI-Tools\u003cbr/\u003eClaude · Codex · Cursor · Gemini · Kiro\u003cbr/\u003eOpenCode · OpenClaw · Every Code · Hermes · Copilot\u003cbr/\u003eKimi Code · CodeBuddy · WorkBuddy · Grok Build · Kilo CLI · Kilo Code\u003cbr/\u003eAntigravity · oh-my-pi · pi · Craft · Roo Code · Zed · Goose · Mimo · ZCode\"]\n    A --\u003e|Hooks lösen aus| B[Token Tracker]\n    B --\u003e|Logs parsen\u003cbr/\u003e30-Min-UTC-Buckets| C[(Lokales SQLite)]\n    C --\u003e D[Web-Dashboard]\n    C --\u003e E[Menüleisten-App]\n    C --\u003e F[Desktop-Widgets]\n    C -.-\u003e|Opt-in| G[(Cloud-Leaderboard)]\n```\n\n1. KI-CLI-Tools erzeugen Logs während der normalen Nutzung\n2. Leichtgewichtige Hooks erkennen Änderungen und lösen Sync aus (Cursor nutzt API statt Hooks)\n3. Token-Zahlen werden lokal geparst – nie Prompt- oder Response-Inhalte\n4. In 30-Minuten-UTC-Buckets aggregiert\n5. Dashboard, Menüleisten-App und Widgets lesen vom gleichen lokalen Snapshot\n\n---\n\n## 🛡️ Datenschutz\n\n| Schutz | Beschreibung |\n|---|---|\n| **Kein Content-Upload** | Nur Token-Zahlen und Zeitstempel. Nie Prompts, Responses oder Dateiinhalte. |\n| **Standardmäßig lokal** | Alle Daten bleiben auf deinem Rechner. Das Leaderboard ist vollständig optional. |\n| **Überprüfbar** | Open Source. Sieh selbst in [`src/lib/rollout.js`](src/lib/rollout.js) – nur Zahlen und Zeitstempel. |\n| **Nur anonyme Nutzungsstatistiken** | Nur zwei anonyme Übertragungen: (1) höchstens ein täglicher Heartbeat — ein Einweg-Hash der Maschinen-ID, App-Version, OS-Plattform und App-Shell (cli/mac/win); (2) anonyme Dashboard-Seiten-/Feature-Events (PostHog — Autocapture und Session-Recording deaktiviert, Browser-Do-Not-Track respektiert). Niemals Token-Zahlen, Modellnamen, Prompts oder Pfade. Auditierbar in [`src/lib/telemetry.js`](src/lib/telemetry.js) und [`dashboard/src/lib/analytics.js`](dashboard/src/lib/analytics.js); ein Schalter deaktiviert beides: `TOKENTRACKER_NO_TELEMETRY=1` (oder `DO_NOT_TRACK=1`). |\n\n---\n\n## 📦 Konfiguration\n\nDie meisten Nutzer brauchen das nie – die Standardwerte sind sinnvoll. Für fortgeschrittene Setups:\n\n| Variable | Beschreibung | Standard |\n|---|---|---|\n| `TOKENTRACKER_DEBUG` | Debug-Ausgabe aktivieren (`1` zum Aktivieren) | — |\n| `TOKENTRACKER_NO_TELEMETRY` | Alle anonyme Telemetrie deaktivieren — täglicher Heartbeat und Dashboard-Analytics (`1` zum Deaktivieren; der `DO_NOT_TRACK`-Standard wird ebenfalls respektiert) | — |\n| `TOKENTRACKER_HTTP_TIMEOUT_MS` | HTTP-Timeout in Millisekunden | `20000` |\n| `CODEX_HOME` | Codex CLI-Verzeichnis überschreiben | `~/.codex` |\n| `GEMINI_HOME` | Gemini CLI-Verzeichnis überschreiben | `~/.gemini` |\n| `TOKENTRACKER_GROK_HOME` | Grok Build-Verzeichnis für Grok-Integration und Skills-Manager | `~/.grok` |\n| `GROK_HOME` | Legacy-Grok-Build-Verzeichnis, falls `TOKENTRACKER_GROK_HOME` nicht gesetzt | `~/.grok` |\n| `TOKENTRACKER_ANTIGRAVITY_HOME` | Einzelnes Antigravity-Skills-Verzeichnis erzwingen (sonst Auto-Erkennung von `~/.gemini/antigravity` + `~/.gemini/antigravity-ide`) | auto |\n\n---\n\n## 🛠️ Entwicklung\n\n```bash\ngit clone https://github.com/mm7894215/TokenTracker.git\ncd TokenTracker\nnpm install\n\n# Dashboard bauen + CLI ausführen\ncd dashboard \u0026\u0026 npm install \u0026\u0026 npm run build \u0026\u0026 cd ..\nnode bin/tracker.js\n\n# Tests\nnpm test\n```\n\n### macOS-App bauen\n\n```bash\ncd TokenTrackerBar\nnpm run dashboard:build              # Dashboard-Bundle bauen\n./scripts/bundle-node.sh             # Node.js + tokentracker-Quellen bündeln\nxcodegen generate                    # Xcode-Projekt generieren\nruby scripts/patch-pbxproj-icon.rb   # Icon-Composer-Asset einspielen\nxcodebuild -scheme TokenTrackerBar -configuration Release clean build\n./scripts/create-dmg.sh              # .app in DMG verpacken\n```\n\nErfordert **Xcode 16+** und [XcodeGen](https://github.com/yonaskolb/XcodeGen).\n\n---\n\n## 🔧 Fehlerbehebung\n\n### CLI\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eFehler „engines.node\" oder nicht unterstützte Node-Version\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nTokenTracker benötigt **Node 20+**. Prüfe deine Version:\n\n```bash\nnode --version\n```\n\nFalls niedriger, aktualisiere via [nvm](https://github.com/nvm-sh/nvm), [fnm](https://github.com/Schniz/fnm) oder deinem Paketmanager (`brew upgrade node`, `apt install nodejs`).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003ePort 7680 bereits belegt\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nDer Dashboard-Server wählt automatisch den nächsten freien Port (`7681`, `7682`, …), wenn `7680` belegt ist. Der tatsächliche Port wird beim Start ausgegeben. Um einen bestimmten Port zu erzwingen:\n\n```bash\nPORT=7700 tokentracker serve\n```\n\nHerausfinden, was `7680` blockiert:\n\n```bash\nlsof -i :7680\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eEin Provider wird nicht erkannt\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nIntegrationsstatus prüfen:\n\n```bash\ntokentracker status\n```\n\nFür einen tiefergehenden Health Check:\n\n```bash\ntokentracker doctor\n```\n\nZeigt ein Provider `not configured`, obwohl du ihn nutzt, versuche `tokentracker activate-if-needed`. Falls immer noch fehlend, [erstelle ein Issue](https://github.com/mm7894215/TokenTracker/issues/new) mit der `doctor`-Ausgabe.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eHooks deinstallieren und Konfiguration löschen\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n```bash\ntokentracker uninstall\n```\n\nEntfernt alle von TokenTracker installierten Hooks sowie die lokale Konfiguration und Daten. Kann bedenkenlos wiederholt werden.\n\n\u003c/details\u003e\n\n### macOS-App\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e„TokenTrackerBar kann nicht geöffnet werden\" – nicht verifizierter Entwickler\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nTokenTrackerBar ist **ad-hoc signiert** (nicht notariell beglaubigt mit einer Apple Developer ID – das erfordert ein kostenpflichtiges Developer-Konto). Gatekeeper blockiert sie beim ersten Start.\n\n1. **Systemeinstellungen → Datenschutz \u0026 Sicherheit** öffnen\n2. Zum Bereich **Sicherheit** scrollen – dort steht *„TokenTrackerBar wurde blockiert, um deinen Mac zu schützen.\"*\n3. **Trotzdem öffnen** klicken\n4. Mit **Öffnen** im Folgedialog bestätigen (Authentifizierung erforderlich)\n\nNur einmal nötig. Alternative unter älterem macOS: Rechtsklick auf die App im Finder → **Öffnen** → **Öffnen** im Bestätigungsdialog.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e„TokenTrackerBar ist beschädigt und kann nicht geöffnet werden\"\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nDas ist Gatekeeper, das auf das `com.apple.quarantine`-Attribut reagiert – kein echtes Problem. Einmalig beheben mit:\n\n```bash\nxattr -cr /Applications/TokenTrackerBar.app\n```\n\nDanach öffnet die App normal.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e„TokenTrackerBar möchte auf Daten anderer Apps zugreifen\"\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nDas wird für die **Cursor**- und **Kiro**-Integration benötigt. Sie speichern Auth-Tokens / Nutzungsdaten in eigenen `~/Library/Application Support/`-Ordnern, die macOS mit der App-Management-Berechtigung schützt.\n\n- ✅ **Erlauben** klicken, wenn du Cursor oder Kiro nutzt\n- ❌ **Nicht erlauben** klicken, wenn nicht – diese Provider werden übersprungen, alles andere funktioniert\n\nNach einmaliger Gewährung wird die Berechtigung gemerkt. Ad-hoc-signierte Builds fragen nach jedem Update erneut, da jeder Build eine neue Signatur hat.\n\n\u003c/details\u003e\n\n---\n\n## 🪪 README-Badges\n\nZeig deine Token-Nutzung auf deinem GitHub-Profil oder in deiner Projekt-README.\n\nSo findest du `DEINE_USER_ID`:\n1. Führe `tokentracker` aus, öffne das Dashboard und melde dich beim Leaderboard an.\n2. Gehe zu **Einstellungen → Konto**.\n3. Nutze die dort angezeigte **User ID**. Auf Headless-Maschinen schreibt `tokentracker device-login` die `user_id` ebenfalls nach `~/.tokentracker/tracker/config.json`.\n\nDann füge eines davon ein:\n\n```markdown\n[![tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=DEINE_USER_ID\u0026metric=tokens)](https://github.com/mm7894215/TokenTracker)\n[![cost](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=DEINE_USER_ID\u0026metric=cost)](https://github.com/mm7894215/TokenTracker)\n[![rank](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=DEINE_USER_ID\u0026metric=rank)](https://github.com/mm7894215/TokenTracker)\n```\n\n\u003e Der Link verweist standardmäßig auf das TokenTracker-Repo, damit jeder Klick anderen Entwicklern hilft, das Tool zu entdecken. Du kannst ihn gegen dein Leaderboard-Profil, deine Website oder `https://www.tokentracker.cc` austauschen.\n\nShields.io-kompatible Badges mit deinen aktuellen Gesamtwerten (60s Cache):\n\n| Parameter | Werte | Standard |\n|---|---|---|\n| `metric` | `tokens` / `cost` / `rank` | `tokens` |\n| `period` | `week` / `month` / `total` | `total` |\n| `style` | `flat` / `flat-square` | `flat` |\n| `label` | beliebiger kurzer Text | Metrik-Name |\n| `color` | hex, z. B. `ff6b35` | Marken-Grün |\n\n\u003e **Datenschutz**: Badges werden nur für Profile aufgelöst, bei denen das Leaderboard-Sharing **aktiv** ist (`Einstellungen → Konto → Öffentliches Profil`). Private Profile zeigen einen „private\"-Platzhalter.\n\n---\n\n## ⭐ Stern-Verlauf\n\n\u003ca href=\"https://star-history.com/#mm7894215/TokenTracker\u0026Date\"\u003e\n  \u003cimg src=\"https://api.star-history.com/svg?repos=mm7894215/TokenTracker\u0026type=Date\" alt=\"Star-History-Diagramm\" width=\"600\" /\u003e\n\u003c/a\u003e\n\n---\n\n## 🤝 Beitragen \u0026 Support\n\n- **Bugs / Feature-Wünsche**: [Issue erstellen](https://github.com/mm7894215/TokenTracker/issues/new)\n- **Sicherheit**: Siehe [SECURITY.md](SECURITY.md) – bitte keine öffentlichen Issues für Sicherheitsmeldungen\n- **Pull Requests**: Siehe [CONTRIBUTING.md](CONTRIBUTING.md) für Setup, Tests und das Hinzufügen neuer KI-Tool-Integrationen\n- **Fragen / Vorstellungen**: [GitHub Discussions](https://github.com/mm7894215/TokenTracker/discussions)\n\n## 🙏 Danksagungen\n\nDas Clawd-Charakterdesign gehört Anthropic. Dies ist ein Community-Projekt ohne offizielle Verbindung zu Anthropic.\n\n## 🔗 Links\n\n- [LINUX DO](https://linux.do) — eine Entwickler-Community\n\n## Lizenz\n\n[MIT](LICENSE)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Token Tracker** – Quantifiziere deine KI-Ausgaben.\n\n\u003ca href=\"https://www.tokentracker.cc\"\u003etokentracker.cc\u003c/a\u003e  ·  \u003ca href=\"https://www.npmjs.com/package/tokentracker-cli\"\u003enpm\u003c/a\u003e  ·  \u003ca href=\"https://github.com/mm7894215/TokenTracker\"\u003eGitHub\u003c/a\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmm7894215%2Ftokentracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmm7894215%2Ftokentracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmm7894215%2Ftokentracker/lists"}