tokentracker-cli 0.65.0 → 0.65.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.de.md +476 -0
  2. package/README.ja.md +1 -1
  3. package/README.ko.md +1 -1
  4. package/README.md +1 -1
  5. package/README.zh-CN.md +1 -1
  6. package/dashboard/dist/assets/{ActivityHeatmap-Ccf0I3uP.js → ActivityHeatmap-CggJI8SR.js} +1 -1
  7. package/dashboard/dist/assets/{Card-BSF8dYEt.js → Card-5au9t9nC.js} +1 -1
  8. package/dashboard/dist/assets/{ConfirmModal-Bjp6eg2f.js → ConfirmModal-DdczuiTm.js} +1 -1
  9. package/dashboard/dist/assets/{DashboardPage-BInQkoDe.js → DashboardPage-VAYxz_kf.js} +2 -2
  10. package/dashboard/dist/assets/{DevicePage-B0yxbDDR.js → DevicePage-DQJlqpU3.js} +1 -1
  11. package/dashboard/dist/assets/{DialogTitle-uw-Oa5Qv.js → DialogTitle-DR64sBQk.js} +1 -1
  12. package/dashboard/dist/assets/{FadeIn-DPIBqXRl.js → FadeIn-CGzcyAaJ.js} +1 -1
  13. package/dashboard/dist/assets/{HeaderGithubStar-DDXfJ1uC.js → HeaderGithubStar-DiJi3EYZ.js} +1 -1
  14. package/dashboard/dist/assets/{IpCheckPage-KC93tPlt.js → IpCheckPage-CoGzED0h.js} +1 -1
  15. package/dashboard/dist/assets/{LandingPage-Itx2uPWI.js → LandingPage-D_h4MI77.js} +1 -1
  16. package/dashboard/dist/assets/{LeaderboardAvatar-Bv44b_Kl.js → LeaderboardAvatar-BuSHrfaq.js} +1 -1
  17. package/dashboard/dist/assets/{LeaderboardPage-DDq5gzyz.js → LeaderboardPage-aP0oQNBq.js} +2 -2
  18. package/dashboard/dist/assets/{LeaderboardProfileModal-LQyYrCf1.js → LeaderboardProfileModal-zWSPrjXm.js} +1 -1
  19. package/dashboard/dist/assets/{LeaderboardProfilePage-3you3mbA.js → LeaderboardProfilePage-BNR__NEp.js} +1 -1
  20. package/dashboard/dist/assets/{LimitsPage-CrLvR8vE.js → LimitsPage-CbwEV4tL.js} +1 -1
  21. package/dashboard/dist/assets/{LocalOnlyNotice-Di1gnfIi.js → LocalOnlyNotice-DFxhTdeP.js} +1 -1
  22. package/dashboard/dist/assets/{LoginPage-f9QHz_uZ.js → LoginPage-6m5w2iay.js} +1 -1
  23. package/dashboard/dist/assets/{PopoverPopup-7rjAxAqk.js → PopoverPopup-6bH8WcTu.js} +1 -1
  24. package/dashboard/dist/assets/{ResetPasswordPage-DKA7HGpJ.js → ResetPasswordPage-ByOumS6-.js} +1 -1
  25. package/dashboard/dist/assets/{Select-2gikPo1a.js → Select-DrNJJE2o.js} +1 -1
  26. package/dashboard/dist/assets/{SelectItemText-DZx33XF1.js → SelectItemText-BTHh_2vw.js} +1 -1
  27. package/dashboard/dist/assets/SettingsPage-BIxrrxUF.js +1 -0
  28. package/dashboard/dist/assets/{SkillsPage-B6BJ9UZp.js → SkillsPage-Cg8iXYaS.js} +1 -1
  29. package/dashboard/dist/assets/{WidgetsPage-D8p3Tx7E.js → WidgetsPage-Bi8d2YwV.js} +1 -1
  30. package/dashboard/dist/assets/{WrappedPage-cXEfhti9.js → WrappedPage-Cc2kLDpE.js} +1 -1
  31. package/dashboard/dist/assets/{agent-logos-D3iFlaWg.js → agent-logos-CzNQ3IaQ.js} +1 -1
  32. package/dashboard/dist/assets/{arrow-up-right-D87Aw_ZN.js → arrow-up-right-FgMhJ3Pu.js} +1 -1
  33. package/dashboard/dist/assets/{download-BtcEs1OB.js → download-Bo9t1yfc.js} +1 -1
  34. package/dashboard/dist/assets/{main-DqnXui98.js → main-6K89gDOX.js} +21 -20
  35. package/dashboard/dist/assets/{main-CGx8BJ4O.css → main-BHwig9Um.css} +1 -1
  36. package/dashboard/dist/assets/{use-limits-display-prefs-DAxlRSu2.js → use-limits-display-prefs-DN1nv1HE.js} +1 -1
  37. package/dashboard/dist/assets/{use-native-settings-CgvB_B6W.js → use-native-settings-6ygLVyJu.js} +1 -1
  38. package/dashboard/dist/assets/{use-ordered-list-DOfX6aSy.js → use-ordered-list-li19cWJh.js} +1 -1
  39. package/dashboard/dist/assets/{use-quality-per-dollar-pref-kEbwQwk2.js → use-quality-per-dollar-pref-rNMT2kff.js} +1 -1
  40. package/dashboard/dist/assets/{use-usage-limits-la-KPfJj.js → use-usage-limits-kVHyIhp3.js} +1 -1
  41. package/dashboard/dist/assets/{useCurrency-LDRg7ST0.js → useCurrency-g0G5pwGx.js} +1 -1
  42. package/dashboard/dist/assets/{useScrollLock-lP1Is9IY.js → useScrollLock-Dg7JyjFK.js} +1 -1
  43. package/dashboard/dist/index.html +2 -2
  44. package/dashboard/dist/share.html +2 -2
  45. package/package.json +1 -1
  46. package/src/commands/init.js +3 -2
  47. package/src/commands/serve.js +59 -1
  48. package/src/commands/status.js +26 -17
  49. package/src/commands/sync.js +672 -98
  50. package/src/lib/openclaw-session-plugin.js +2 -2
  51. package/src/lib/pricing/seed-snapshot.json +1 -1
  52. package/src/lib/rollout.js +602 -178
  53. package/src/lib/wsl-probe.js +181 -0
  54. package/dashboard/dist/assets/SettingsPage-CwHPmuZV.js +0 -1
package/README.de.md ADDED
@@ -0,0 +1,476 @@
1
+ <div align="center">
2
+
3
+ # Token Tracker
4
+
5
+ [English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md) · [한국어](./README.ko.md) · **Deutsch**
6
+
7
+ ### Sieh genau, was du für KI ausgibst – über jedes CLI hinweg
8
+
9
+ Sammle 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.
10
+
11
+ [![npm version](https://img.shields.io/npm/v/tokentracker-cli.svg?color=blue)](https://www.npmjs.com/package/tokentracker-cli)
12
+ [![npm downloads](https://img.shields.io/npm/dm/tokentracker-cli.svg?color=brightgreen)](https://www.npmjs.com/package/tokentracker-cli)
13
+ [![Homebrew](https://img.shields.io/github/v/release/mm7894215/TokenTracker?label=brew&color=F8B73E&logo=homebrew&logoColor=white)](https://github.com/mm7894215/homebrew-tokentracker)
14
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
15
+ [![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)
16
+ [![macOS app](https://img.shields.io/badge/macOS%20app-menu%20bar%20%2B%20widgets-lightgrey.svg?logo=apple&logoColor=white)](https://github.com/mm7894215/TokenTracker/releases/latest)
17
+ [![Windows app](https://img.shields.io/badge/Windows%20app-system%20tray-lightgrey.svg?logo=windows&logoColor=white)](https://github.com/mm7894215/TokenTracker/releases/latest)
18
+ [![GitHub stars](https://img.shields.io/github/stars/mm7894215/TokenTracker?style=social)](https://github.com/mm7894215/TokenTracker/stargazers)
19
+ [![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&logoColor=white)](https://github.com/ruanyf/weekly/blob/master/docs/issue-393.md)
20
+ [![Author tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=0652839f-d19f-4f67-af85-6b7675875443&metric=tokens&compact=1&label=author%20tokens)](https://github.com/mm7894215/TokenTracker)
21
+
22
+ <br/>
23
+
24
+ <video 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">
25
+ <img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-dark.png" alt="Token Tracker Dashboard" width="820" />
26
+ </video>
27
+
28
+ <br/><br/>
29
+
30
+ ⭐ **Wenn TokenTracker dir Zeit spart, [gib ihm einen Star auf GitHub](https://github.com/mm7894215/TokenTracker) – das hilft anderen Entwicklern, es zu finden.**
31
+
32
+ <br/>
33
+
34
+ [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M11XSNWD)
35
+
36
+ </div>
37
+
38
+ ---
39
+
40
+ ## ⚡ Schnellstart
41
+
42
+ > **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).
43
+
44
+ ```bash
45
+ npx tokentracker-cli
46
+ ```
47
+
48
+ Das war's. Beim ersten Start werden Hooks installiert, deine Daten synchronisiert und das Dashboard unter `http://localhost:7680` geöffnet.
49
+
50
+ **Das bekommst du in 30 Sekunden:**
51
+
52
+ - 📊 Ein lokales Dashboard auf `localhost:7680` mit Nutzungstrends, Modellaufschlüsselung, Kostenanalyse
53
+ - 🔌 Auto-erkannte Hooks für jedes installierte KI-Tool
54
+ - 🏠 100 % lokal – kein Konto, keine API-Keys, keine Netzwerkaufrufe (außer optionalem Leaderboard)
55
+ - 🧩 *Optional:* Ein Skills-Tab zum Durchsuchen von 250+ öffentlichen Skills – synchronisiert über Claude · Codex · Grok · Antigravity · Gemini · OpenCode · Hermes
56
+
57
+ > **Möchtest du eine native Desktop-App?**
58
+ > - **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.
59
+ > - **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).
60
+
61
+ Für kürzere Befehle global installieren:
62
+
63
+ ```bash
64
+ npm i -g tokentracker-cli
65
+
66
+ tokentracker # Dashboard öffnen
67
+ tokentracker sync # Manuelle Synchronisation
68
+ tokentracker status # Hook-Status prüfen
69
+ tokentracker status --json # Maschinenlesbare Ausgabe (für jq, AI-Agenten)
70
+ tokentracker status --light # Reine ASCII-Tabelle (CI / SSH, kein Spinner)
71
+ tokentracker doctor # Health Check
72
+ ```
73
+
74
+ ### 🍺 Homebrew (macOS)
75
+
76
+ ```bash
77
+ # macOS Menüleisten-App (DMG)
78
+ brew install --cask mm7894215/tokentracker/tokentracker
79
+
80
+ # Nur CLI
81
+ brew install mm7894215/tokentracker/tokentracker
82
+ ```
83
+
84
+ Aktualisieren mit `brew upgrade --cask mm7894215/tokentracker/tokentracker`. Der Tap wird innerhalb einer Stunde nach jedem Release automatisch aktualisiert.
85
+
86
+ ---
87
+
88
+ ## ✨ Features
89
+
90
+ - 🔌 **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
91
+ - 🏠 **100 % lokal** — Token-Daten verlassen nie deinen Rechner. Kein Konto, keine API-Keys.
92
+ - 🚀 **Zero Config** — Hooks installieren sich beim ersten Start automatisch. Von null zum Dashboard in 30 Sekunden.
93
+ - 📊 **Schönes Dashboard** — Nutzungstrends, Kostenaufschlüsselung nach Modell, GitHub-ähnliche Aktivitäts-Heatmap, Projektzuordnung
94
+ - 🖥️ **Native Desktop-App** — macOS Menüleiste (+ Widgets) und Windows System Tray, jeweils mit eingebautem Server und Dashboard in einer nativen WebView
95
+ - 🎨 **4 Desktop-Widgets** — Nutzung / Aktivitäts-Heatmap / Top-Modelle / Nutzungslimits auf dem Schreibtisch
96
+ - 📈 **Echtzeit-Rate-Limit-Tracking** — Claude / Codex / Cursor / Gemini / Kiro / Copilot / Antigravity mit Reset-Countdowns
97
+ - 💰 **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.
98
+ - 🌐 **Optionales Leaderboard** — Vergleiche dich mit Entwicklern weltweit; Spalten per Drag-and-Drop neu anordnen (Opt-in, Anmeldung erforderlich)
99
+ - 🧩 **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
100
+ - 🔒 **Privacy-First** — Nur Token-Zahlen und Zeitstempel. Nie Prompts, Responses oder Dateiinhalte.
101
+
102
+ ---
103
+
104
+ ## 🖼️ Vorschau
105
+
106
+ <table>
107
+ <tr>
108
+ <td width="50%">
109
+
110
+ **Dashboard** — Nutzungstrends, Modellaufschlüsselung, Kostenanalyse
111
+
112
+ <img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-light.png" alt="Dashboard" />
113
+
114
+ </td>
115
+ <td width="50%">
116
+
117
+ **Desktop-Widgets** — Nutzung auf dem Schreibtisch
118
+
119
+ <img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/widgets-overview.png" alt="Desktop-Widgets" />
120
+
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td width="50%">
125
+
126
+ **Menüleisten-App** — Animierter Clawd-Begleiter + native Panels
127
+
128
+ <img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/menubar.gif" alt="Menüleisten-App" />
129
+
130
+ </td>
131
+ <td width="50%">
132
+
133
+ **Globales Leaderboard** — Vergleich mit Entwicklern weltweit
134
+
135
+ <img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/leaderboard.png" alt="Leaderboard" />
136
+
137
+ </td>
138
+ </tr>
139
+ <tr>
140
+ <td colspan="2">
141
+
142
+ **Skills-Manager** — 250+ öffentliche Skills von GitHub & `skills.sh` durchsuchen, einmal installieren, mit Claude / Codex / Grok / Antigravity / Gemini / OpenCode / Hermes synchronisieren. Ein-/Ausschalten pro Tool, Undo mit einem Klick.
143
+
144
+ <img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/skills.png" alt="Skills-Manager" />
145
+
146
+ </td>
147
+ </tr>
148
+ </table>
149
+
150
+ ---
151
+
152
+ ## 🔌 Unterstützte KI-Tools
153
+
154
+ | Tool | Erkennung | Methode |
155
+ |---|---|---|
156
+ | **Claude Code** | ✅ Auto | SessionEnd-Hook in `settings.json` |
157
+ | **Codex CLI** | ✅ Auto | TOML-Notify-Hook in `config.toml` |
158
+ | **Cursor** | ✅ Auto | API + SQLite-Auth-Token |
159
+ | **Kiro** | ✅ Auto | SQLite + JSONL hybrid |
160
+ | **Gemini CLI** | ✅ Auto | SessionEnd-Hook |
161
+ | **OpenCode** | ✅ Auto | Plugin-System + SQLite |
162
+ | **OpenClaw** | ✅ Auto | Session-Plugin |
163
+ | **Every Code** | ✅ Auto | TOML-Notify-Hook |
164
+ | **Hermes Agent** | ✅ Auto | SQLite Sessions-Tabelle (`~/.hermes/state.db`) |
165
+ | **GitHub Copilot** | ✅ Auto | OpenTelemetry-Datei-Exporter (`COPILOT_OTEL_FILE_EXPORTER_PATH`) |
166
+ | **Kimi Code** | ✅ Auto | Passiver `wire.jsonl`-Reader (`~/.kimi/sessions/**/wire.jsonl`) |
167
+ | **oh-my-pi (Pi Coding Agent)** | ✅ Auto | Passiver Reader (`~/.omp/agent/sessions/**/*.jsonl`) |
168
+ | **CodeBuddy** (Tencent) | ✅ Auto | SessionEnd-Hook in `~/.codebuddy/settings.json` (Claude-Code-Fork) |
169
+ | **WorkBuddy** (Tencent) | ✅ Auto | SessionEnd-Hook in `~/.workbuddy/settings.json` (Claude-Code-Fork) + passiver `projects/**/*.jsonl`-Scan |
170
+ | **Grok Build** (xAI) | ✅ Auto | SessionEnd-Hook + passiver `updates.jsonl` / `signals.json`-Scan (`~/.grok/sessions/**/`) |
171
+ | **Kilo CLI** (kilo.ai) | ✅ Auto | Passiver SQLite-Reader (`~/.local/share/kilo/kilo.db`, OpenCode-Fork-Schema) |
172
+ | **Kilo Code** (VS Code Extension) | ✅ Auto | Passiver `ui_messages.json`-Reader (Cursor/Code/CodeBuddy/Windsurf globalStorage) |
173
+ | **Antigravity** | ✅ Auto | Passiver Transcript-Reader (`~/.gemini/{antigravity,antigravity-ide,antigravity-cli}/brain/**/transcript.jsonl`) |
174
+ | **pi** (`@mariozechner/pi-coding-agent`) | ✅ Auto | Passiver Reader (`~/.pi/agent/sessions/**/*.jsonl`) |
175
+ | **Craft Agents** | ✅ Auto | Passiver Session-Reader (`~/.craft-agent` + Workspace-Session-Logs) |
176
+ | **Roo Code** (VS Code Extension) | ✅ Auto | Passiver `ui_messages.json`-Reader (`rooveterinaryinc.roo-cline`) |
177
+ | **Zed Agent** | ✅ Auto | Passiver SQLite-Reader (`threads.db`, nur `zed.dev`-Modelle) |
178
+ | **Goose** (Block) | ✅ Auto | Passiver SQLite-Reader (`sessions.db`, kumulative Deltas) |
179
+ | **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) |
180
+ | **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) |
181
+
182
+ > **Muss ich Plugins oder Hooks manuell installieren?** Nein. `tokentracker` (oder `tokentracker init`) erledigt alles beim ersten Start:
183
+ > - **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.
184
+ > - **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.
185
+ > - **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).
186
+ >
187
+ > Führe `tokentracker status` aus, um den Status jeder Integration zu prüfen. Zeigt ein Tool `skipped`, erklärt die `detail`-Spalte warum.
188
+ >
189
+ > Tiefergehend: [OpenClaw-Integration & Troubleshooting](docs/openclaw-integration.md).
190
+
191
+ Fehlt dein Tool? [Erstelle ein Issue](https://github.com/mm7894215/TokenTracker/issues/new) — neue Provider sind meist nur eine Parser-Datei entfernt.
192
+
193
+ ---
194
+
195
+ ## 🆚 Warum TokenTracker?
196
+
197
+ > **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.
198
+
199
+ | | **TokenTracker** | ccusage | Cursor Stats |
200
+ |---|---|---|---|
201
+ | **Unterstützte KI-Tools** | **25** | 1 (Claude) | 1 (Cursor) |
202
+ | **Lokal, kein Konto** | ✅ | ✅ | ❌ |
203
+ | **Native Desktop-App** | ✅ macOS + Windows | ❌ | ❌ |
204
+ | **Desktop-Widgets** | ✅ 4 Widgets | ❌ | ❌ |
205
+ | **Rate-Limit-Tracking** | ✅ 7 Provider | ❌ | Nur Cursor |
206
+ | **Präzises Multi-Provider-Dedup** | ✅ | ❌ ¹ | — |
207
+
208
+ <sub>¹ `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.</sub>
209
+
210
+ ---
211
+
212
+ ## 🏗️ Wie es funktioniert
213
+
214
+ ```mermaid
215
+ flowchart LR
216
+ A["KI-CLI-Tools<br/>Claude · Codex · Cursor · Gemini · Kiro<br/>OpenCode · OpenClaw · Every Code · Hermes · Copilot<br/>Kimi Code · CodeBuddy · WorkBuddy · Grok Build · Kilo CLI · Kilo Code<br/>Antigravity · oh-my-pi · pi · Craft · Roo Code · Zed · Goose · Mimo · ZCode"]
217
+ A -->|Hooks lösen aus| B[Token Tracker]
218
+ B -->|Logs parsen<br/>30-Min-UTC-Buckets| C[(Lokales SQLite)]
219
+ C --> D[Web-Dashboard]
220
+ C --> E[Menüleisten-App]
221
+ C --> F[Desktop-Widgets]
222
+ C -.->|Opt-in| G[(Cloud-Leaderboard)]
223
+ ```
224
+
225
+ 1. KI-CLI-Tools erzeugen Logs während der normalen Nutzung
226
+ 2. Leichtgewichtige Hooks erkennen Änderungen und lösen Sync aus (Cursor nutzt API statt Hooks)
227
+ 3. Token-Zahlen werden lokal geparst – nie Prompt- oder Response-Inhalte
228
+ 4. In 30-Minuten-UTC-Buckets aggregiert
229
+ 5. Dashboard, Menüleisten-App und Widgets lesen vom gleichen lokalen Snapshot
230
+
231
+ ---
232
+
233
+ ## 🛡️ Datenschutz
234
+
235
+ | Schutz | Beschreibung |
236
+ |---|---|
237
+ | **Kein Content-Upload** | Nur Token-Zahlen und Zeitstempel. Nie Prompts, Responses oder Dateiinhalte. |
238
+ | **Standardmäßig lokal** | Alle Daten bleiben auf deinem Rechner. Das Leaderboard ist vollständig optional. |
239
+ | **Überprüfbar** | Open Source. Sieh selbst in [`src/lib/rollout.js`](src/lib/rollout.js) – nur Zahlen und Zeitstempel. |
240
+ | **Keine Telemetrie** | Kein Analytics, kein Crash-Reporting, kein Phone-Home. |
241
+
242
+ ---
243
+
244
+ ## 📦 Konfiguration
245
+
246
+ Die meisten Nutzer brauchen das nie – die Standardwerte sind sinnvoll. Für fortgeschrittene Setups:
247
+
248
+ | Variable | Beschreibung | Standard |
249
+ |---|---|---|
250
+ | `TOKENTRACKER_DEBUG` | Debug-Ausgabe aktivieren (`1` zum Aktivieren) | — |
251
+ | `TOKENTRACKER_HTTP_TIMEOUT_MS` | HTTP-Timeout in Millisekunden | `20000` |
252
+ | `CODEX_HOME` | Codex CLI-Verzeichnis überschreiben | `~/.codex` |
253
+ | `GEMINI_HOME` | Gemini CLI-Verzeichnis überschreiben | `~/.gemini` |
254
+ | `TOKENTRACKER_GROK_HOME` | Grok Build-Verzeichnis für Grok-Integration und Skills-Manager | `~/.grok` |
255
+ | `GROK_HOME` | Legacy-Grok-Build-Verzeichnis, falls `TOKENTRACKER_GROK_HOME` nicht gesetzt | `~/.grok` |
256
+ | `TOKENTRACKER_ANTIGRAVITY_HOME` | Einzelnes Antigravity-Skills-Verzeichnis erzwingen (sonst Auto-Erkennung von `~/.gemini/antigravity` + `~/.gemini/antigravity-ide`) | auto |
257
+
258
+ ---
259
+
260
+ ## 🛠️ Entwicklung
261
+
262
+ ```bash
263
+ git clone https://github.com/mm7894215/TokenTracker.git
264
+ cd TokenTracker
265
+ npm install
266
+
267
+ # Dashboard bauen + CLI ausführen
268
+ cd dashboard && npm install && npm run build && cd ..
269
+ node bin/tracker.js
270
+
271
+ # Tests
272
+ npm test
273
+ ```
274
+
275
+ ### macOS-App bauen
276
+
277
+ ```bash
278
+ cd TokenTrackerBar
279
+ npm run dashboard:build # Dashboard-Bundle bauen
280
+ ./scripts/bundle-node.sh # Node.js + tokentracker-Quellen bündeln
281
+ xcodegen generate # Xcode-Projekt generieren
282
+ ruby scripts/patch-pbxproj-icon.rb # Icon-Composer-Asset einspielen
283
+ xcodebuild -scheme TokenTrackerBar -configuration Release clean build
284
+ ./scripts/create-dmg.sh # .app in DMG verpacken
285
+ ```
286
+
287
+ Erfordert **Xcode 16+** und [XcodeGen](https://github.com/yonaskolb/XcodeGen).
288
+
289
+ ---
290
+
291
+ ## 🔧 Fehlerbehebung
292
+
293
+ ### CLI
294
+
295
+ <details>
296
+ <summary><b>Fehler „engines.node" oder nicht unterstützte Node-Version</b></summary>
297
+
298
+ <br/>
299
+
300
+ TokenTracker benötigt **Node 20+**. Prüfe deine Version:
301
+
302
+ ```bash
303
+ node --version
304
+ ```
305
+
306
+ Falls 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`).
307
+
308
+ </details>
309
+
310
+ <details>
311
+ <summary><b>Port 7680 bereits belegt</b></summary>
312
+
313
+ <br/>
314
+
315
+ Der 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:
316
+
317
+ ```bash
318
+ PORT=7700 tokentracker serve
319
+ ```
320
+
321
+ Herausfinden, was `7680` blockiert:
322
+
323
+ ```bash
324
+ lsof -i :7680
325
+ ```
326
+
327
+ </details>
328
+
329
+ <details>
330
+ <summary><b>Ein Provider wird nicht erkannt</b></summary>
331
+
332
+ <br/>
333
+
334
+ Integrationsstatus prüfen:
335
+
336
+ ```bash
337
+ tokentracker status
338
+ ```
339
+
340
+ Für einen tiefergehenden Health Check:
341
+
342
+ ```bash
343
+ tokentracker doctor
344
+ ```
345
+
346
+ Zeigt 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.
347
+
348
+ </details>
349
+
350
+ <details>
351
+ <summary><b>Hooks deinstallieren und Konfiguration löschen</b></summary>
352
+
353
+ <br/>
354
+
355
+ ```bash
356
+ tokentracker uninstall
357
+ ```
358
+
359
+ Entfernt alle von TokenTracker installierten Hooks sowie die lokale Konfiguration und Daten. Kann bedenkenlos wiederholt werden.
360
+
361
+ </details>
362
+
363
+ ### macOS-App
364
+
365
+ <details>
366
+ <summary><b>„TokenTrackerBar kann nicht geöffnet werden" – nicht verifizierter Entwickler</b></summary>
367
+
368
+ <br/>
369
+
370
+ TokenTrackerBar ist **ad-hoc signiert** (nicht notariell beglaubigt mit einer Apple Developer ID – das erfordert ein kostenpflichtiges Developer-Konto). Gatekeeper blockiert sie beim ersten Start.
371
+
372
+ 1. **Systemeinstellungen → Datenschutz & Sicherheit** öffnen
373
+ 2. Zum Bereich **Sicherheit** scrollen – dort steht *„TokenTrackerBar wurde blockiert, um deinen Mac zu schützen."*
374
+ 3. **Trotzdem öffnen** klicken
375
+ 4. Mit **Öffnen** im Folgedialog bestätigen (Authentifizierung erforderlich)
376
+
377
+ Nur einmal nötig. Alternative unter älterem macOS: Rechtsklick auf die App im Finder → **Öffnen** → **Öffnen** im Bestätigungsdialog.
378
+
379
+ </details>
380
+
381
+ <details>
382
+ <summary><b>„TokenTrackerBar ist beschädigt und kann nicht geöffnet werden"</b></summary>
383
+
384
+ <br/>
385
+
386
+ Das ist Gatekeeper, das auf das `com.apple.quarantine`-Attribut reagiert – kein echtes Problem. Einmalig beheben mit:
387
+
388
+ ```bash
389
+ xattr -cr /Applications/TokenTrackerBar.app
390
+ ```
391
+
392
+ Danach öffnet die App normal.
393
+
394
+ </details>
395
+
396
+ <details>
397
+ <summary><b>„TokenTrackerBar möchte auf Daten anderer Apps zugreifen"</b></summary>
398
+
399
+ <br/>
400
+
401
+ Das 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.
402
+
403
+ - ✅ **Erlauben** klicken, wenn du Cursor oder Kiro nutzt
404
+ - ❌ **Nicht erlauben** klicken, wenn nicht – diese Provider werden übersprungen, alles andere funktioniert
405
+
406
+ Nach einmaliger Gewährung wird die Berechtigung gemerkt. Ad-hoc-signierte Builds fragen nach jedem Update erneut, da jeder Build eine neue Signatur hat.
407
+
408
+ </details>
409
+
410
+ ---
411
+
412
+ ## 🪪 README-Badges
413
+
414
+ Zeig deine Token-Nutzung auf deinem GitHub-Profil oder in deiner Projekt-README.
415
+
416
+ So findest du `DEINE_USER_ID`:
417
+ 1. Führe `tokentracker` aus, öffne das Dashboard und melde dich beim Leaderboard an.
418
+ 2. Gehe zu **Einstellungen → Konto**.
419
+ 3. Nutze die dort angezeigte **User ID**. Auf Headless-Maschinen schreibt `tokentracker device-login` die `user_id` ebenfalls nach `~/.tokentracker/tracker/config.json`.
420
+
421
+ Dann füge eines davon ein:
422
+
423
+ ```markdown
424
+ [![tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=DEINE_USER_ID&metric=tokens)](https://github.com/mm7894215/TokenTracker)
425
+ [![cost](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=DEINE_USER_ID&metric=cost)](https://github.com/mm7894215/TokenTracker)
426
+ [![rank](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=DEINE_USER_ID&metric=rank)](https://github.com/mm7894215/TokenTracker)
427
+ ```
428
+
429
+ > 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.
430
+
431
+ Shields.io-kompatible Badges mit deinen aktuellen Gesamtwerten (60s Cache):
432
+
433
+ | Parameter | Werte | Standard |
434
+ |---|---|---|
435
+ | `metric` | `tokens` / `cost` / `rank` | `tokens` |
436
+ | `period` | `week` / `month` / `total` | `total` |
437
+ | `style` | `flat` / `flat-square` | `flat` |
438
+ | `label` | beliebiger kurzer Text | Metrik-Name |
439
+ | `color` | hex, z. B. `ff6b35` | Marken-Grün |
440
+
441
+ > **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.
442
+
443
+ ---
444
+
445
+ ## ⭐ Stern-Verlauf
446
+
447
+ <a href="https://star-history.com/#mm7894215/TokenTracker&Date">
448
+ <img src="https://api.star-history.com/svg?repos=mm7894215/TokenTracker&type=Date" alt="Star-History-Diagramm" width="600" />
449
+ </a>
450
+
451
+ ---
452
+
453
+ ## 🤝 Beitragen & Support
454
+
455
+ - **Bugs / Feature-Wünsche**: [Issue erstellen](https://github.com/mm7894215/TokenTracker/issues/new)
456
+ - **Sicherheit**: Siehe [SECURITY.md](SECURITY.md) – bitte keine öffentlichen Issues für Sicherheitsmeldungen
457
+ - **Pull Requests**: Siehe [CONTRIBUTING.md](CONTRIBUTING.md) für Setup, Tests und das Hinzufügen neuer KI-Tool-Integrationen
458
+ - **Fragen / Vorstellungen**: [GitHub Discussions](https://github.com/mm7894215/TokenTracker/discussions)
459
+
460
+ ## 🙏 Danksagungen
461
+
462
+ Das Clawd-Charakterdesign gehört Anthropic. Dies ist ein Community-Projekt ohne offizielle Verbindung zu Anthropic.
463
+
464
+ ## Lizenz
465
+
466
+ [MIT](LICENSE)
467
+
468
+ ---
469
+
470
+ <div align="center">
471
+
472
+ **Token Tracker** – Quantifiziere deine KI-Ausgaben.
473
+
474
+ <a href="https://www.tokentracker.cc">tokentracker.cc</a> · <a href="https://www.npmjs.com/package/tokentracker-cli">npm</a> · <a href="https://github.com/mm7894215/TokenTracker">GitHub</a>
475
+
476
+ </div>
package/README.ja.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Token Tracker
4
4
 
5
- [English](./README.md) · [简体中文](./README.zh-CN.md) · **日本語** · [한국어](./README.ko.md)
5
+ [English](./README.md) · [简体中文](./README.zh-CN.md) · **日本語** · [한국어](./README.ko.md) · [Deutsch](./README.de.md)
6
6
 
7
7
  ### AI に使ったコストを正確に把握 — すべての CLI を横断して
8
8
 
package/README.ko.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Token Tracker
4
4
 
5
- [English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md) · **한국어**
5
+ [English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md) · **한국어** · [Deutsch](./README.de.md)
6
6
 
7
7
  ### 모든 CLI에서 AI에 쓰는 비용을 정확히 파악
8
8
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Token Tracker
4
4
 
5
- **English** · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md) · [한국어](./README.ko.md)
5
+ **English** · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md) · [한국어](./README.ko.md) · [Deutsch](./README.de.md)
6
6
 
7
7
  ### Know exactly what you're spending on AI — across every CLI
8
8
 
package/README.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Token Tracker
4
4
 
5
- [English](./README.md) · **简体中文** · [日本語](./README.ja.md) · [한국어](./README.ko.md)
5
+ [English](./README.md) · **简体中文** · [日本語](./README.ja.md) · [한국어](./README.ko.md) · [Deutsch](./README.de.md)
6
6
 
7
7
  ### 跨所有 CLI,看清你到底在 AI 上花了多少钱
8
8