tokentracker-cli 0.96.2 → 0.96.4
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.
- package/README.de.md +34 -25
- package/README.ja.md +38 -27
- package/README.ko.md +39 -28
- package/README.md +36 -28
- package/README.zh-CN.md +36 -25
- package/dashboard/dist/assets/{AchievementBadge-CgEitoX1.js → AchievementBadge-CCcvmz6R.js} +1 -1
- package/dashboard/dist/assets/{AchievementsPage-dnnea0JH.js → AchievementsPage-C5jdktOK.js} +2 -2
- package/dashboard/dist/assets/{AchievementsSection-CJqG0UP7.js → AchievementsSection-BFMtUzn1.js} +1 -1
- package/dashboard/dist/assets/{BadgeDetailModal-BLV6SJoI.js → BadgeDetailModal-Be8gM7tM.js} +1 -1
- package/dashboard/dist/assets/{BotAnimated-Cm78yEbz.js → BotAnimated-CXTGR71z.js} +1 -1
- package/dashboard/dist/assets/{Card-IPGSYT6O.js → Card-CsUsp3CV.js} +1 -1
- package/dashboard/dist/assets/{ClawdAnimated-04w1U1sm.js → ClawdAnimated-BEjpZjEE.js} +2 -2
- package/dashboard/dist/assets/{CommandPalette-gSSa1V_s.js → CommandPalette-CHc_Z1r8.js} +1 -1
- package/dashboard/dist/assets/{CommunityStatsModal-CICwUz14.js → CommunityStatsModal-Gs6kZ_Mp.js} +1 -1
- package/dashboard/dist/assets/{ConfirmModal-DaWC0cY7.js → ConfirmModal-niHkpv2O.js} +1 -1
- package/dashboard/dist/assets/{Controls-BDihA03F.js → Controls-X2Z1UNUx.js} +1 -1
- package/dashboard/dist/assets/DashboardPage-B66s3Exi.js +1 -0
- package/dashboard/dist/assets/{DevicePage-BPpo_eiY.js → DevicePage-DQdLdEI8.js} +1 -1
- package/dashboard/dist/assets/DialogClose-CCUjTxl8.js +1 -0
- package/dashboard/dist/assets/DialogDescription-CjMjYG3N.js +1 -0
- package/dashboard/dist/assets/DialogTitle-CgkUGAag.js +1 -0
- package/dashboard/dist/assets/{FadeIn-DmI9PRLa.js → FadeIn-D4QD1bPo.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-CBO4cY7i.js → HeaderGithubStar-D0my-Z3a.js} +1 -1
- package/dashboard/dist/assets/{HoverTooltip-CPFGhi9K.js → HoverTooltip-nSWgrKlK.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-Do7w_6z6.js → IpCheckPage-4hfqHAgi.js} +1 -1
- package/dashboard/dist/assets/{LandingPage-at_Ti1ZE.js → LandingPage-wIc4tVRI.js} +2 -2
- package/dashboard/dist/assets/{LeaderboardAvatar-BH1cnKPp.js → LeaderboardAvatar-DGlN8Vy8.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-Cd30aXwL.js → LeaderboardPage-CybuzE87.js} +2 -2
- package/dashboard/dist/assets/{LeaderboardProfileModal-CVsti_HN.js → LeaderboardProfileModal-D9la3tNd.js} +4 -4
- package/dashboard/dist/assets/{LeaderboardProfilePage-BfSpDM9e.js → LeaderboardProfilePage-gxXSeJYb.js} +1 -1
- package/dashboard/dist/assets/LimitsPage-CZH3G54Y.js +8 -0
- package/dashboard/dist/assets/{LocalOnlyNotice-9-vRgsdn.js → LocalOnlyNotice-Ckc7zohC.js} +1 -1
- package/dashboard/dist/assets/{LoginCard-DM_ZdFNl.js → LoginCard-BqeRHqWK.js} +1 -1
- package/dashboard/dist/assets/{LoginModal-BaNMznwh.js → LoginModal-BjH6aIBG.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-BMMthUf4.js → LoginPage-BOyPLNU3.js} +1 -1
- package/dashboard/dist/assets/PetPage-BXRXG40D.js +1 -0
- package/dashboard/dist/assets/PopoverPopup-Dad1ZYVd.js +1 -0
- package/dashboard/dist/assets/ProviderIcon-BDmrNJSl.js +1 -0
- package/dashboard/dist/assets/{ResetPasswordPage-Ca4SULSV.js → ResetPasswordPage-CZpE6qfa.js} +1 -1
- package/dashboard/dist/assets/{SegmentedControl-Bbsn-qvZ.js → SegmentedControl-CE1hrQFi.js} +1 -1
- package/dashboard/dist/assets/Select-YVj7u6Nv.js +1 -0
- package/dashboard/dist/assets/SelectItemText-BMYGgQ3o.js +1 -0
- package/dashboard/dist/assets/{ServiceStatusPage-BPS8KJ3a.js → ServiceStatusPage-HehjDbZg.js} +1 -1
- package/dashboard/dist/assets/{SessionsPage-C1yt3TMZ.js → SessionsPage-Chvu4YqZ.js} +2 -2
- package/dashboard/dist/assets/SettingsPage-BXjS7u9_.js +2 -0
- package/dashboard/dist/assets/SkillsPage-q3Rjlj9h.js +1 -0
- package/dashboard/dist/assets/{TokenGalaxy-DKvbJbnv.js → TokenGalaxy-BqZyj82r.js} +1 -1
- package/dashboard/dist/assets/ToolbarRootContext-Ch8ueI_C.js +1 -0
- package/dashboard/dist/assets/{TrendMonitor-YF5C_-L1.js → TrendMonitor-C2aTL9p1.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-BKV3DgXg.js → WidgetsPage-DYaIai8j.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-s4IRoLf7.js → WrappedPage-51B0v-Sr.js} +1 -1
- package/dashboard/dist/assets/{__vite-browser-external-CvMMIjhi.css → __vite-browser-external-5P7me0Qq.css} +1 -1
- package/dashboard/dist/assets/__vite-browser-external-Cp7dNuCm.js +45 -0
- package/dashboard/dist/assets/{agent-logos-Hbt-wyl2.js → agent-logos-DXrPSAdX.js} +1 -1
- package/dashboard/dist/assets/{arrow-up-right-KeIpKlw3.js → arrow-up-right-BFkf7l0U.js} +1 -1
- package/dashboard/dist/assets/{check-_QKyY1v_.js → check--N8wmgIJ.js} +1 -1
- package/dashboard/dist/assets/composite-zF5Pj94e.js +1 -0
- package/dashboard/dist/assets/{copy-DpLM3QMD.js → copy-BG0JMr6A.js} +1 -1
- package/dashboard/dist/assets/{download-C4NX-JnW.js → download-CPFJf-Sf.js} +1 -1
- package/dashboard/dist/assets/{external-link-CG-7FcOF.js → external-link-D2yF0kgP.js} +1 -1
- package/dashboard/dist/assets/{flame-CkWid7Ji.js → flame-l460AFx9.js} +1 -1
- package/dashboard/dist/assets/{format-tokens-CbwWhioZ.js → format-tokens-DKO4ljuH.js} +1 -1
- package/dashboard/dist/assets/{icons-BZq17rU3.js → icons-RoxRGkz4.js} +1 -1
- package/dashboard/dist/assets/{index-CR9tDiiC.js → index--ouT5L4N.js} +1 -1
- package/dashboard/dist/assets/{index-DDGLE0dz.js → index-DhyLCvvv.js} +1 -1
- package/dashboard/dist/assets/{index-CSwEiUn4.js → index-PTJ4368-.js} +1 -1
- package/dashboard/dist/assets/{info-mkeRjzqc.js → info-DNWMO4Ca.js} +1 -1
- package/dashboard/dist/assets/{link-2-BjMw8csC.js → link-2-DzWXAz1h.js} +1 -1
- package/dashboard/dist/assets/{loader-circle-cGWOJnWn.js → loader-circle-BzGMqXNu.js} +1 -1
- package/dashboard/dist/assets/{maximize-2-Cg_S73tD.js → maximize-2-Dkpyk4x3.js} +1 -1
- package/dashboard/dist/assets/{modifiers.esm-DNxTWxId.js → modifiers.esm-lggHUQpW.js} +1 -1
- package/dashboard/dist/assets/module-DUSXqJtA.js +3 -0
- package/dashboard/dist/assets/{monitor-smartphone-BvE9Tt2U.js → monitor-smartphone-Ck0-gz9l.js} +1 -1
- package/dashboard/dist/assets/{plus-BC2wdPRr.js → plus-qTJpnn43.js} +1 -1
- package/dashboard/dist/assets/provider-display-psY26qmp.js +42 -0
- package/dashboard/dist/assets/{react-D0kcslTz.js → react-CYS24KmX.js} +1 -1
- package/dashboard/dist/assets/{search-BuBNF3E3.js → search-CUzE6zxr.js} +1 -1
- package/dashboard/dist/assets/{skills-api-DxAN5pNx.js → skills-api-D9SzxPFG.js} +1 -1
- package/dashboard/dist/assets/{sortable.esm-DoqMcEX-.js → sortable.esm-Bl2hAUyR.js} +1 -1
- package/dashboard/dist/assets/store-mHSJAJtE.js +1 -0
- package/dashboard/dist/assets/{terminal-COWFUJdU.js → terminal-BlQNEvn1.js} +1 -1
- package/dashboard/dist/assets/{trash-2-Cqjki3RI.js → trash-CHdgmOyk.js} +1 -1
- package/dashboard/dist/assets/{use-community-stats-DsrlOPDM.js → use-community-stats-DUiCs91N.js} +1 -1
- package/dashboard/dist/assets/{use-latest-request-guard-ryRFL2gx.js → use-latest-request-guard-ehXfkvuU.js} +1 -1
- package/dashboard/dist/assets/use-limits-display-prefs-CcwwQ0Fq.js +1 -0
- package/dashboard/dist/assets/{use-ordered-list-D-Q86R1b.js → use-ordered-list-CCOtI3Wa.js} +1 -1
- package/dashboard/dist/assets/use-reduced-motion-CDlahPqe.js +1 -0
- package/dashboard/dist/assets/{use-session-efficiency-pref-CrNz45y7.js → use-session-efficiency-pref-CYRDpcc_.js} +1 -1
- package/dashboard/dist/assets/{use-transform-CoGM21px.js → use-transform-btLlTJpj.js} +1 -1
- package/dashboard/dist/assets/use-usage-limits-BGr5sR-c.js +1 -0
- package/dashboard/dist/assets/{useCurrency-CgCfDktb.js → useCurrency-CNutuEKd.js} +1 -1
- package/dashboard/dist/assets/{useTokenFormat-QKtzCKTL.js → useTokenFormat-C0bAJFMC.js} +1 -1
- package/dashboard/dist/assets/{zap-CTIobzgU.js → zap-B2fbyjbc.js} +1 -1
- package/dashboard/dist/brand-logos/acode-dark.png +0 -0
- package/dashboard/dist/brand-logos/acode.png +0 -0
- package/dashboard/dist/brand-logos/devin.svg +6 -0
- package/dashboard/dist/index.html +20 -16
- package/dashboard/dist/ip-check.html +2 -2
- package/dashboard/dist/leaderboard.html +2 -2
- package/dashboard/dist/llms.txt +4 -2
- package/dashboard/dist/share.html +2 -2
- package/package.json +2 -2
- package/src/commands/init.js +114 -4
- package/src/commands/status.js +37 -0
- package/src/commands/sync.js +92 -10
- package/src/commands/uninstall.js +23 -0
- package/src/lib/codex-config.js +42 -0
- package/src/lib/devin-limits.js +249 -0
- package/src/lib/devin-usage.js +212 -0
- package/src/lib/local-api.js +19 -0
- package/src/lib/passive-mode.js +13 -1
- package/src/lib/pricing/curated-overrides.json +67 -1
- package/src/lib/pricing/index.js +5 -2
- package/src/lib/pricing/matcher.js +28 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +1310 -144
- package/src/lib/skills-manager.js +231 -30
- package/src/lib/subscriptions.js +70 -16
- package/src/lib/usage-limits.js +199 -49
- package/dashboard/dist/assets/DashboardPage-hV7wncKF.js +0 -1
- package/dashboard/dist/assets/DialogClose-C_dF-r3s.js +0 -1
- package/dashboard/dist/assets/DialogDescription-GClOSCaE.js +0 -1
- package/dashboard/dist/assets/DialogTitle-Buh_5688.js +0 -1
- package/dashboard/dist/assets/LimitsPage-_-BadDAj.js +0 -8
- package/dashboard/dist/assets/PetPage-Iq8Hswai.js +0 -1
- package/dashboard/dist/assets/PopoverPopup-DXr3JxVV.js +0 -1
- package/dashboard/dist/assets/ProviderIcon-sb2keSY2.js +0 -1
- package/dashboard/dist/assets/Select-vD-yj-qa.js +0 -1
- package/dashboard/dist/assets/SelectItemText-CRtFEuvg.js +0 -1
- package/dashboard/dist/assets/SettingsPage-CWVHrMer.js +0 -2
- package/dashboard/dist/assets/SkillsPage-DGWEH1xm.js +0 -1
- package/dashboard/dist/assets/ToolbarRootContext-D8yov1dW.js +0 -1
- package/dashboard/dist/assets/__vite-browser-external-_LUatzwU.js +0 -45
- package/dashboard/dist/assets/composite-BidfcMeb.js +0 -1
- package/dashboard/dist/assets/limits-providers-DRkcWQup.js +0 -1
- package/dashboard/dist/assets/module-xpSFyNBK.js +0 -3
- package/dashboard/dist/assets/provider-display-B7GggHQy.js +0 -42
- package/dashboard/dist/assets/store-Cg1HeUFM.js +0 -1
- package/dashboard/dist/assets/use-limits-display-prefs-DkSuu12m.js +0 -1
- package/dashboard/dist/assets/use-reduced-motion-D7NNqavo.js +0 -1
- package/dashboard/dist/assets/use-usage-limits-C_6L1sO5.js +0 -1
package/README.de.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
### Sieh genau, was du für KI ausgibst – über jedes CLI hinweg
|
|
8
8
|
|
|
9
|
-
Sammle automatisch Token-Zahlen von **
|
|
9
|
+
Sammle automatisch Token-Zahlen von **38 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
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
12
12
|
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
@@ -51,7 +51,7 @@ Das war's. Beim ersten Start werden Hooks installiert, deine Daten synchronisier
|
|
|
51
51
|
|
|
52
52
|
- 📊 Ein lokales Dashboard auf `localhost:7680` mit Nutzungstrends, Modellaufschlüsselung, Kostenanalyse
|
|
53
53
|
- 🔌 Auto-erkannte Hooks für jedes installierte KI-Tool
|
|
54
|
-
- 🏠
|
|
54
|
+
- 🏠 Local-First – parst Logs direkt auf deinem Rechner; kein Konto und keine API-Keys erforderlich
|
|
55
55
|
- 🧩 *Optional:* Ein Skills-Tab zum Durchsuchen von 250+ öffentlichen Skills – synchronisiert über Claude · Codex · Grok · Antigravity · Gemini · OpenCode · Hermes
|
|
56
56
|
|
|
57
57
|
> **Möchtest du eine native Desktop-App?**
|
|
@@ -88,18 +88,18 @@ Aktualisieren mit `brew upgrade --cask xiufengsun/tokentracker/tokentracker`. De
|
|
|
88
88
|
|
|
89
89
|
## ✨ Features
|
|
90
90
|
|
|
91
|
-
- 🔌 **
|
|
92
|
-
- 🏠 **
|
|
91
|
+
- 🔌 **38 KI-Tools out of the box** — Claude Code, Codex CLI, AStudio, Cursor, Gemini CLI, Antigravity, Kiro, OpenCode, OpenClaw, Every Code, Hermes Agent, GitHub Copilot, Kimi Code, CodeBuddy, WorkBuddy, Grok Build, oh-my-pi, pi, Dots, Prime Agent, Craft Agents, Reasonix, Kilo CLI, Kilo Code, Roo Code, Zed Agent, Goose, Droid, Mimo Code, ZCode, Qoder, AnythingLLM Desktop, Claude Science, DeepSeek Harness, TRAE Work CN, LM Studio, Unsloth Studio, Devin CLI
|
|
92
|
+
- 🏠 **Local-First** — Läuft auf deinem Rechner. Parst Logs lokal, ohne Konto oder API-Keys.
|
|
93
93
|
- 🚀 **Zero Config** — Hooks installieren sich beim ersten Start automatisch. Von null zum Dashboard in 30 Sekunden.
|
|
94
94
|
- 📊 **Schönes Dashboard** — Nutzungstrends, Kostenaufschlüsselung nach Modell, GitHub-ähnliche Aktivitäts-Heatmap, Projektzuordnung
|
|
95
95
|
- 🖥️ **Native Desktop-App** — macOS Menüleiste (+ Widgets) und Windows System Tray, jeweils mit eingebautem Server und Dashboard in einer nativen WebView
|
|
96
96
|
- 🎨 **4 Desktop-Widgets** — Nutzung / Aktivitäts-Heatmap / Top-Modelle / Nutzungslimits auf dem Schreibtisch
|
|
97
|
-
- 📈 **Echtzeit-Nutzungslimits** — Limits für Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code; ein Last-Good-Cache bleibt erhalten, wenn eine lokale Provider-App vorübergehend beendet wird
|
|
97
|
+
- 📈 **Echtzeit-Nutzungslimits** — Limits für Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code / Ark Coding Plan / Ark Agent Plan / Devin; ein Last-Good-Cache bleibt erhalten, wenn eine lokale Provider-App vorübergehend beendet wird
|
|
98
98
|
- 🟢 **Service-Statusseite** — Live-Betriebs- und Störungsstatus von 8 offiziellen Provider-Statusseiten
|
|
99
99
|
- 💰 **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.
|
|
100
100
|
- 🌐 **Optionales Leaderboard** — Vergleiche dich mit Entwicklern weltweit; Spalten per Drag-and-Drop neu anordnen (Opt-in, Anmeldung erforderlich)
|
|
101
101
|
- 🧩 **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
|
|
102
|
-
- 🔒 **Privacy-First** — Nur Token-Zahlen und
|
|
102
|
+
- 🔒 **Privacy-First** — Nur lokale Nutzungsmetriken (Token-Zahlen, Zeitstempel und Modellnamen). Prompts, Antworten und Code verlassen deinen Rechner nie.
|
|
103
103
|
|
|
104
104
|
---
|
|
105
105
|
|
|
@@ -166,6 +166,7 @@ Aktualisieren mit `brew upgrade --cask xiufengsun/tokentracker/tokentracker`. De
|
|
|
166
166
|
|---|---|---|
|
|
167
167
|
| **Claude Code** | ✅ Auto | SessionEnd-Hook in `settings.json` |
|
|
168
168
|
| **Codex CLI** | ✅ Auto | TOML-Notify-Hook in `config.toml` |
|
|
169
|
+
| **AStudio** | ✅ Auto | TOML-Notify-Hook in `config.toml` |
|
|
169
170
|
| **Cursor** | ✅ Auto | API + SQLite-Auth-Token |
|
|
170
171
|
| **Kiro** | ✅ Auto | SQLite + JSONL hybrid |
|
|
171
172
|
| **Gemini CLI** | ✅ Auto | SessionEnd-Hook |
|
|
@@ -187,6 +188,7 @@ Aktualisieren mit `brew upgrade --cask xiufengsun/tokentracker/tokentracker`. De
|
|
|
187
188
|
| **Dots** | ✅ Auto | Über pis Provider-Split geroutet (`pi-dots` source, derselbe passive Reader) — kein eigener Hook |
|
|
188
189
|
| **Prime Agent** | ✅ Auto | Metadatenbasierter passiver Usage-Reader (`~/.prime/agent/sessions/*.jsonl`) |
|
|
189
190
|
| **Craft Agents** | ✅ Auto | Passiver Session-Reader (`~/.craft-agent` + Workspace-Session-Logs) |
|
|
191
|
+
| **Reasonix** | ✅ Auto | Passiver Telemetrie-Reader (`~/.reasonix/**/*.jsonl.telemetry.json`) |
|
|
190
192
|
| **Roo Code** (VS Code Extension) | ✅ Auto | Passiver `ui_messages.json`-Reader (`rooveterinaryinc.roo-cline`) |
|
|
191
193
|
| **Zed Agent** | ✅ Auto | Passiver SQLite-Reader (`threads.db`, nur `zed.dev`-Modelle) |
|
|
192
194
|
| **Goose** (Block) | ✅ Auto | Passiver SQLite-Reader (`sessions.db`, kumulative Deltas) |
|
|
@@ -197,13 +199,15 @@ Aktualisieren mit `brew upgrade --cask xiufengsun/tokentracker/tokentracker`. De
|
|
|
197
199
|
| **LM Studio** | ✅ Auto | Passiver rekursiver Reader für `~/.lmstudio/server-logs/**/*.log`; liest aus finalen Chat-Completions- und Responses-API-Datensätzen nur ID, Modell, Zeitstempel und skalare `usage`-Zähler und dedupliziert gespiegelte Antwort-IDs. Prompt- und Antworttexte werden nicht gespeichert. Diese Daten decken lokale Inferenz und LM Link mit $0 API-Grenzkosten ab, nicht die Bionic-Secure-Cloud-Abrechnung. |
|
|
198
200
|
| **Unsloth Studio** | ✅ Auto | Passiver SQLite-Reader für `$UNSLOTH_STUDIO_HOME/studio.db` (Standard `~/.unsloth/studio/studio.db`). Liest nur skalare `contextUsage`-Metadaten und inhaltsfreie `api_usage_events`; Prompts, Antworten, Anhänge, API-Subjects, Zugangsdaten und Trainingsmetriken bleiben ausgeschlossen. Lokale Routen bleiben bei $0, bekannte kostenpflichtige Provider werden anhand des tatsächlich antwortenden Modells geschätzt. |
|
|
199
201
|
| **AnythingLLM Desktop** | ✅ Auto | Passiver SQLite-Reader (`anythingllm-desktop/storage/anythingllm.db`, nur Token-Metriken pro Nachricht) |
|
|
202
|
+
| **Devin CLI** (Cognition) | ✅ Auto | Passiver SQLite-Reader (`$XDG_DATA_HOME/devin/cli/sessions.db`, Standard `~/.local/share/devin/cli/sessions.db`). Liest Usage-Metriken pro Anfrage, dedupliziert nach `request_id` — Replay-/Fork-/Compaction-Kopien werden nicht doppelt gezählt — und verwendet das aufgezeichnete Generation-Modell; niemals Prompts, Antworten oder `cogs_json`. Für Devin-Modelle (`swe-2`, `swe-2-high`, `compactor`) gibt es derzeit keine Preisdaten: Token-Zahlen werden erfasst, aber nicht in Dollar-Schätzungen einbezogen — ein $0-Wert bedeutet keine kostenlose Nutzung. Kein bekanntes natives Windows-Datenverzeichnis; eine WSL-Installation wird über `\\wsl$` gelesen. |
|
|
200
203
|
| **Claude Science** | ✅ Auto | Passiver SQLite-Reader (`~/.claude-science/operon-cli.db`, nur die Token-Zähler der `frames`-Tabelle; keine Prompts, Artefakte oder Forschungsinhalte). Kein natives Windows-Build — unter Windows läuft die App in WSL und wird von dort gelesen. |
|
|
204
|
+
| **DeepSeek Harness** | ✅ Auto | Passiver Session-Reader (`~/.dsh/sessions/**/session.jsonl[.zstd]`; liest Session-Header und Assistant-Ereignisse, unterstützt Zstandard mit mehreren Frames) |
|
|
201
205
|
| **TRAE Work CN** | ✅ Auto | **Erfordert eine ausdrückliche Zustimmung: `TOKENTRACKER_TRAE_CN_USAGE=1` setzen.** Das Lesen der Nutzung überträgt die lokal gespeicherte Anmeldeautorisierung an die interne API von TRAE, daher wird nichts gesendet, bevor du es aktivierst. Danach: liest bei vorhandener lokaler TRAE Work CN-Anmeldung während eines zulässigen Syncs außerhalb des Hintergrundbetriebs unter macOS die Session-Token-Nutzung der angemeldeten App; die interne API kann sich ändern |
|
|
202
206
|
|
|
203
207
|
> **Muss ich Plugins oder Hooks manuell installieren?** Nein. `tokentracker` (oder `tokentracker init`) erledigt alles beim ersten Start:
|
|
204
|
-
> - **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.
|
|
208
|
+
> - **Hook-basiert** (Claude Code, Codex, AStudio, Gemini, Every Code, CodeBuddy, WorkBuddy, Grok Build) — wir schreiben einen SessionEnd-Hook oder TOML-Notify-Eintrag in die Konfiguration des Tools.
|
|
205
209
|
> - **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.
|
|
206
|
-
> - **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, Droid, Mimo Code, ZCode, LM Studio, Unsloth Studio, AnythingLLM Desktop, Claude Science) — wir installieren nichts in diesen Tools. Wir lesen nur Dateien, die sie bereits produzieren (SQLite-DB, JSONL, OTEL-Export, Session-Logs). Die Nutzung von Copilot App / CLI wird pro Anfrage aus `~/.copilot/session-store.db` gelesen; `data.db` liefert einmalig die Legacy-Migrationsbasis und bleibt nach der kanonischen Übernahme des Stores schreibgeschützt im Beobachtungsmodus, während Chat-Erweiterung und ältere CLI-Versionen weiterhin OTEL verwenden. TokenTracker koordiniert diese Quellen, damit überlappende Anfragen nur einmal gezählt werden. Gemischte App/CLI-Historie vor der Übernahme bleibt als `github-copilot-legacy`-Aggregat erhalten, statt einem geratenen Anfrage-Modell zugeordnet zu werden.
|
|
210
|
+
> - **Passive Reader** (Cursor, Kiro, Hermes, Kimi Code, Copilot, Grok Build, oh-my-pi, pi, Craft Agents, Reasonix, Kilo CLI, Kilo Code, Roo Code, Antigravity, Zed Agent, Goose, Droid, Mimo Code, ZCode, LM Studio, Unsloth Studio, AnythingLLM Desktop, Devin CLI, Claude Science, DeepSeek Harness) — wir installieren nichts in diesen Tools. Wir lesen nur Dateien, die sie bereits produzieren (SQLite-DB, JSONL, OTEL-Export, Session-Logs). Die Nutzung von Copilot App / CLI wird pro Anfrage aus `~/.copilot/session-store.db` gelesen; `data.db` liefert einmalig die Legacy-Migrationsbasis und bleibt nach der kanonischen Übernahme des Stores schreibgeschützt im Beobachtungsmodus, während Chat-Erweiterung und ältere CLI-Versionen weiterhin OTEL verwenden. TokenTracker koordiniert diese Quellen, damit überlappende Anfragen nur einmal gezählt werden. Gemischte App/CLI-Historie vor der Übernahme bleibt als `github-copilot-legacy`-Aggregat erhalten, statt einem geratenen Anfrage-Modell zugeordnet zu werden.
|
|
207
211
|
>
|
|
208
212
|
> Führe `tokentracker status` aus, um den Status jeder Integration zu prüfen. Zeigt ein Tool `skipped`, erklärt die `detail`-Spalte warum.
|
|
209
213
|
>
|
|
@@ -213,20 +217,21 @@ Fehlt dein Tool? [Erstelle ein Issue](https://github.com/xiufengsun/TokenTracker
|
|
|
213
217
|
|
|
214
218
|
---
|
|
215
219
|
|
|
216
|
-
## 🆚 Warum TokenTracker?
|
|
220
|
+
## 🆚 Warum TokenTracker? <a id="ccusage-alternative"></a>
|
|
217
221
|
|
|
218
|
-
> **Suchst du
|
|
222
|
+
> **Suchst du ein Desktop-orientiertes Tracking-Tool mit Widgets und visuellem Dashboard?** TokenTracker kombiniert Local-First-Parsing für zahlreiche KI-Coding-Tools mit nativen Desktop-Apps, Desktop-Widgets, Provider-übergreifendem Quota-Monitoring und optionalem Cloud-Sync.
|
|
219
223
|
|
|
220
|
-
| | **TokenTracker** | ccusage |
|
|
221
|
-
|
|
222
|
-
| **Unterstützte KI-Tools** | **
|
|
223
|
-
| **
|
|
224
|
-
| **
|
|
224
|
+
| Funktion | **[TokenTracker](https://github.com/xiufengsun/TokenTracker)** | **[ccusage](https://github.com/ccusage/ccusage)** | **[Tokscale](https://github.com/junhoyeo/tokscale)** |
|
|
225
|
+
|---|:---:|:---:|:---:|
|
|
226
|
+
| **Unterstützte KI-Tools** | **38** | Multi-Agent | Multi-Agent |
|
|
227
|
+
| **Primäre Benutzeroberfläche** | Native Desktop-Apps & Web-Dashboard | Terminal-CLI | Terminal-TUI & CLI |
|
|
228
|
+
| **Local-First-Analyse** | ✅ | ✅ | ✅ |
|
|
229
|
+
| **Native Desktop-Apps** | ✅ macOS, Windows, Linux | ❌ | ❌ |
|
|
225
230
|
| **Desktop-Widgets** | ✅ 4 Widgets | ❌ | ❌ |
|
|
226
|
-
| **Rate-Limit-Tracking** | ✅
|
|
227
|
-
| **
|
|
228
|
-
|
|
229
|
-
|
|
231
|
+
| **Rate-Limit-Tracking** | ✅ 17 Provider | Eingeschränkt (Claude-Blocks) | Mehrere Provider |
|
|
232
|
+
| **Terminal-Analytics** | Basis-CLI (`status`, `--json`) | Starkes CLI-Reporting | Umfangreiche interaktive TUI & CLI |
|
|
233
|
+
| **JSON-Export** | ✅ | ✅ | ✅ |
|
|
234
|
+
| **Öffentliches Leaderboard** | Optional (Opt-in) | ❌ | Optional (`submit`) |
|
|
230
235
|
|
|
231
236
|
---
|
|
232
237
|
|
|
@@ -234,7 +239,7 @@ Fehlt dein Tool? [Erstelle ein Issue](https://github.com/xiufengsun/TokenTracker
|
|
|
234
239
|
|
|
235
240
|
```mermaid
|
|
236
241
|
flowchart LR
|
|
237
|
-
A["KI-Coding-Tools<br/>Claude · Codex · 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 · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE Work CN · LM Studio · Unsloth Studio"]
|
|
242
|
+
A["KI-Coding-Tools<br/>Claude · 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 · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE Work CN · LM Studio · Unsloth Studio · Devin CLI"]
|
|
238
243
|
A -->|Hooks lösen aus| B[Token Tracker]
|
|
239
244
|
B -->|Logs parsen<br/>30-Min-UTC-Buckets| C[(Lokales SQLite)]
|
|
240
245
|
C --> D[Web-Dashboard]
|
|
@@ -245,7 +250,7 @@ flowchart LR
|
|
|
245
250
|
|
|
246
251
|
1. KI-CLI-Tools erzeugen Logs während der normalen Nutzung
|
|
247
252
|
2. Leichtgewichtige Hooks erkennen Änderungen und lösen Sync aus (Cursor nutzt API statt Hooks)
|
|
248
|
-
3. Token-Zahlen werden lokal geparst –
|
|
253
|
+
3. Token-Zahlen und Metadaten werden lokal geparst – Prompt- und Response-Inhalte werden nie gespeichert oder hochgeladen
|
|
249
254
|
4. In 30-Minuten-UTC-Buckets aggregiert
|
|
250
255
|
5. Dashboard, Menüleisten-App und Widgets lesen vom gleichen lokalen Snapshot
|
|
251
256
|
|
|
@@ -255,12 +260,14 @@ flowchart LR
|
|
|
255
260
|
|
|
256
261
|
> 📄 **[Vollständige Datenschutzerklärung](docs/PRIVACY.md)** (englisch) — jede Netzwerkanfrage, die die App stellen kann, was dabei gesendet wird und wie man sie abschaltet.
|
|
257
262
|
|
|
263
|
+
TokenTracker verarbeitet deine Nutzungsdaten lokal. Prompts, Code oder Modellantworten werden niemals erfasst oder hochgeladen.
|
|
264
|
+
|
|
258
265
|
| Schutz | Beschreibung |
|
|
259
266
|
|---|---|
|
|
260
|
-
| **
|
|
261
|
-
| **Standardmäßig
|
|
262
|
-
| **Überprüfbar** | Open Source. Sieh selbst in [`src/lib/rollout.js`](src/lib/rollout.js) – nur Zahlen und
|
|
263
|
-
| **
|
|
267
|
+
| **Keine Erfassung von Code oder Prompts** | TokenTracker parst lokale Protokolldateien nach Token-Zahlen und Zeitstempeln. Prompts, Modellantworten, Code und Konversationsinhalte werden nie gespeichert oder hochgeladen. |
|
|
268
|
+
| **Standardmäßig Local-First** | Die Nutzungserfassung läuft vollständig auf deinem Rechner. Kein Account, kein Login und keine API-Keys erforderlich. Cloud-Sync und das öffentliche Leaderboard sind rein optional (Opt-in). |
|
|
269
|
+
| **Überprüfbar** | Open Source. Sieh selbst in [`src/lib/rollout.js`](src/lib/rollout.js) – es werden nur Zahlen, Zeitstempel und Modellnamen extrahiert. |
|
|
270
|
+
| **Transparente Netzwerkaktivität** | Vollständig in der [Datenschutzerklärung](docs/PRIVACY.md) dokumentiert. Standardanfragen beschränken sich auf direkte Provider-Quota-Abfragen (mit bereits lokal vorhandenen Zugangsdaten), GitHub-Star-Counts, Versionsprüfungen, Aktualisierungen der Preisdaten (`raw.githubusercontent.com`) sowie anonyme Telemetrie (täglicher Heartbeat + PostHog-Aufrufe, beide deaktivierbar via `TOKENTRACKER_NO_TELEMETRY=1` oder `DO_NOT_TRACK=1`). Telemetrie enthält niemals Tokens, Modelle, Prompts oder Code. |
|
|
264
271
|
|
|
265
272
|
---
|
|
266
273
|
|
|
@@ -277,6 +284,7 @@ Die meisten Nutzer brauchen das nie – die Standardwerte sind sinnvoll. Für fo
|
|
|
277
284
|
| `TOKENTRACKER_GIT_ATTRIBUTION_PROTECTED_DIRS` | Der Git-Zuordnung Zugriff auf TCC-geschützte macOS-Orte erlauben (`1` zum Erlauben). Standardmäßig werden Sitzungen unter `~/Documents`, `~/Downloads`, `~/Desktop`, `~/Library`, den Medienordnern und `/Volumes` übersprungen, weil macOS für jeden Ort einen eigenen Zugriffsdialog anzeigt. Nur aktivieren, wenn du dort Repositories liegen hast und den Zugriff gewähren möchtest | — |
|
|
278
285
|
| `TOKENTRACKER_WSL_MODE` | WSL-Installations-Auflösungsverhalten unter Windows (zur Aggregation von nativen und WSL-Installationen). `wsl-first` (bevorzugt WSL), `native-first`, `wsl-only`, `native-only`, `both` (aggregiert beide Installationen) | `wsl-first` |
|
|
279
286
|
| `CODEX_HOME` | Codex CLI-Verzeichnis überschreiben | `~/.codex` |
|
|
287
|
+
| `TOKENTRACKER_ACODE_HOME` | AStudio-Verzeichnis überschreiben | `~/.acode` |
|
|
280
288
|
| `GEMINI_HOME` | Gemini CLI-Verzeichnis überschreiben | `~/.gemini` |
|
|
281
289
|
| `TOKENTRACKER_GROK_HOME` | Grok Build-Verzeichnis für Grok-Integration und Skills-Manager | `~/.grok` |
|
|
282
290
|
| `GROK_HOME` | Legacy-Grok-Build-Verzeichnis, falls `TOKENTRACKER_GROK_HOME` nicht gesetzt | `~/.grok` |
|
|
@@ -302,6 +310,7 @@ Unterstützte Provider für WSL-Erkennung und Zusammenführung (Aggregation):
|
|
|
302
310
|
* **Datenbankbasiert (SQLite):** Hermes, Zed Agent, Goose, OpenCode (`opencode.db`), Kilo CLI, Mimo Code, ZCode, GitHub Copilot (App DB).
|
|
303
311
|
* **WSL-Erkennung (nur Präferenz/Isolierung, keine Zusammenführung):**
|
|
304
312
|
* Grok Build (wählt dynamisch entweder die native oder WSL-Umgebung je nach Modus, führt aber im `both`-Modus nicht beide zusammen).
|
|
313
|
+
* Devin CLI (kein bekanntes natives Windows-Datenverzeichnis — die automatische Erkennung findet daher nur eine WSL-Installation; im `native-only`-Modus wird nichts gefunden und `both` aggregiert niemals eine native Kopie). Das `TOKENTRACKER_DEVIN_DB`-Override verweist weiterhin auf eine explizite Datenbankdatei.
|
|
305
314
|
|
|
306
315
|
---
|
|
307
316
|
|
package/README.ja.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
### AI に使ったコストを正確に把握 — すべての CLI を横断して
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**38 種類の AI コーディングツール**からトークン数を自動収集し、ローカルで集計、美しいダッシュボードで本当のコスト推移を可視化します。クラウドアカウント不要、API キー不要、セットアップ不要 — コマンド 1 つで完了です。
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
12
12
|
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
@@ -50,8 +50,8 @@ npx tokentracker-cli
|
|
|
50
50
|
**30 秒で手に入るもの:**
|
|
51
51
|
- 📊 `localhost:7680` のローカルダッシュボードで、使用トレンド、モデル別内訳、コスト分析が見える
|
|
52
52
|
- 🔌 インストール済みの対応 AI ツールすべてに対する hook を自動検出
|
|
53
|
-
- 🏠
|
|
54
|
-
- 🧩 *オプション:* 250+ の公開 Skill を閲覧して Claude · Codex · Gemini · OpenCode · Hermes 間で同期できる Skills タブ
|
|
53
|
+
- 🏠 ローカルファースト — ログをマシン上で直接解析。アカウントや API キーは不要です
|
|
54
|
+
- 🧩 *オプション:* 250+ の公開 Skill を閲覧して Claude · Codex · AStudio · Gemini · OpenCode · Hermes 間で同期できる Skills タブ
|
|
55
55
|
|
|
56
56
|
> **ネイティブのデスクトップアプリが欲しい?**
|
|
57
57
|
> - **macOS** — [`TokenTrackerBar.dmg` をダウンロード](https://github.com/xiufengsun/TokenTracker/releases/latest/download/TokenTrackerBar.dmg) → Applications にドラッグ。デスクトップウィジェット、メニューバーのステータスアイコン、WKWebView 上の同じダッシュボードを含みます。
|
|
@@ -88,19 +88,19 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
88
88
|
|
|
89
89
|
## ✨ 機能
|
|
90
90
|
|
|
91
|
-
- 🔌 **
|
|
92
|
-
- 🏠
|
|
91
|
+
- 🔌 **38 種類の AI ツールを標準対応** — Claude Code、Codex CLI、AStudio、Cursor、Gemini CLI、Antigravity、Kiro、OpenCode、OpenClaw、Every Code、Hermes Agent、GitHub Copilot、Kimi Code、CodeBuddy、WorkBuddy、Grok Build、oh-my-pi、pi、Dots、Prime Agent、Craft Agents、Reasonix、Kilo CLI、Kilo Code、Roo Code、Zed Agent、Goose、Droid、Mimo Code、ZCode、Qoder、AnythingLLM Desktop、Claude Science、DeepSeek Harness、TRAE Work CN、LM Studio、Unsloth Studio、Devin CLI
|
|
92
|
+
- 🏠 **ローカルファースト** — すべてマシン上で動作。アカウントや API キーなしでログをローカル解析します。
|
|
93
93
|
- 🚀 **ゼロコンフィグ** — Hook は初回実行で自動インストール。0 からダッシュボードまで 30 秒。
|
|
94
94
|
- 📊 **美しいダッシュボード** — 使用トレンド、モデル別コスト内訳、GitHub スタイルのアクティビティヒートマップ、プロジェクト別の帰属表示
|
|
95
95
|
- 🖥️ **ネイティブデスクトップアプリ** — macOS メニューバー(ウィジェット付き)と Windows システムトレイ。それぞれ組み込みサーバーとネイティブ WebView のダッシュボードを備えます
|
|
96
96
|
- 🎨 **4 種類のデスクトップウィジェット** — Pin Usage / Activity Heatmap / Top Models / Usage Limits をデスクトップに固定
|
|
97
|
-
- 📈 **リアルタイムの利用上限** — Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code の上限を表示し、ローカル provider アプリが一時的に終了しても last-good キャッシュを保持
|
|
97
|
+
- 📈 **リアルタイムの利用上限** — Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code / Ark Coding Plan / Ark Agent Plan / Devin の上限を表示し、ローカル provider アプリが一時的に終了しても last-good キャッシュを保持
|
|
98
98
|
- 🟢 **サービス状況ページ** — 8 つの公式 provider ステータスページから稼働状況と障害情報を表示
|
|
99
99
|
- 💰 **コストエンジン** — [LiteLLM](https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json) 経由で 2,200+ モデルの価格設定(毎日自動更新)に加え、ニッチなツール(Kiro、Cursor Composer、Kimi、CodeBuddy hy3)向けに厳選された上書き設定。24 時間のディスクキャッシュ + 同梱のオフラインスナップショットにより、ネット接続なしでも正確な USD 表示が可能です。ベンダーが公式価格を公開していないモデル(例: Tencent hy3-preview)はトークン数のみ追跡され、ベンダーが料金を公開するまでコストは $0 と表示されます。
|
|
100
100
|
- 🌐 **オプションのリーダーボード** — 世界中の開発者と比較。ドラッグで列を並び替えて、気になるプロバイダーに絞り込めます(オプトイン制、参加にはサインインが必要)
|
|
101
|
-
- 🔄 **デバイス横断アカウントビュー** — クラウド同期をオンにすると、利用しているすべてのマシン(ノート + デスクトップ + サーバー)の使用量を 1 つのビューに統合 —
|
|
102
|
-
- 🧩 **オプションの Skills タブ** — `anthropics/skills`、`ComposioHQ/awesome-claude-skills`、`skills.sh`、そして自分で追加した任意の GitHub リポジトリから 250+ の公開 Skill をブラウズ。Claude / Codex / Gemini / OpenCode / Hermes にターゲット名を付けて同期し、ワンクリックで Undo
|
|
103
|
-
- 🔒 **プライバシー最優先** —
|
|
101
|
+
- 🔄 **デバイス横断アカウントビュー** — クラウド同期をオンにすると、利用しているすべてのマシン(ノート + デスクトップ + サーバー)の使用量を 1 つのビューに統合 — 合計・トレンド・ヒートマップ・モデル内訳をすべてデバイス横断で集計(オプトイン制、サインインが必要)
|
|
102
|
+
- 🧩 **オプションの Skills タブ** — `anthropics/skills`、`ComposioHQ/awesome-claude-skills`、`skills.sh`、そして自分で追加した任意の GitHub リポジトリから 250+ の公開 Skill をブラウズ。Claude / Codex / AStudio / Gemini / OpenCode / Hermes にターゲット名を付けて同期し、ワンクリックで Undo
|
|
103
|
+
- 🔒 **プライバシー最優先** — ローカルの使用量メトリクス(トークン数、タイムスタンプ、モデル名)のみを記録。プロンプト、生成テキスト、コードがマシン外に出ることはありません。
|
|
104
104
|
|
|
105
105
|
---
|
|
106
106
|
|
|
@@ -142,7 +142,7 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
142
142
|
<tr>
|
|
143
143
|
<td colspan="2">
|
|
144
144
|
|
|
145
|
-
**Skills Manager** — GitHub と `skills.sh` から 250+ の公開 Skill をブラウズし、一度インストールするだけで Claude / Codex / Gemini / OpenCode / Hermes に同期。ターゲットごとのトグル、ワンクリック Undo、ファイルの手動コピー不要。
|
|
145
|
+
**Skills Manager** — GitHub と `skills.sh` から 250+ の公開 Skill をブラウズし、一度インストールするだけで Claude / Codex / AStudio / Gemini / OpenCode / Hermes に同期。ターゲットごとのトグル、ワンクリック Undo、ファイルの手動コピー不要。
|
|
146
146
|
|
|
147
147
|
<img src="https://raw.githubusercontent.com/xiufengsun/tokentracker/main/docs/screenshots/skills.png" alt="Skills Manager" />
|
|
148
148
|
|
|
@@ -167,6 +167,7 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
167
167
|
|---|---|---|
|
|
168
168
|
| **Claude Code** | ✅ 自動 | `settings.json` 内の SessionEnd hook |
|
|
169
169
|
| **Codex CLI** | ✅ 自動 | `config.toml` 内の TOML notify hook |
|
|
170
|
+
| **AStudio** | ✅ 自動 | `config.toml` に TOML notify hook を書き込み |
|
|
170
171
|
| **Cursor** | ✅ 自動 | API + SQLite の認証トークン |
|
|
171
172
|
| **Kiro** | ✅ 自動 | SQLite + JSONL のハイブリッド |
|
|
172
173
|
| **Gemini CLI** | ✅ 自動 | SessionEnd hook |
|
|
@@ -199,14 +200,15 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
199
200
|
| **LM Studio** | ✅ 自動 | `~/.lmstudio/server-logs/**/*.log` のパッシブ再帰リーダー。Chat Completions / Responses API の最終応答から ID・モデル・時刻・スカラー `usage` カウンターだけを読み、応答 ID で重複排除します。prompt/response 本文は保持しません。このデータはローカル推論と LM Link(API の限界費用は $0)を対象とし、Bionic Secure Cloud の請求は含みません。 |
|
|
200
201
|
| **Unsloth Studio** | ✅ 自動 | `$UNSLOTH_STUDIO_HOME/studio.db`(既定 `~/.unsloth/studio/studio.db`)のパッシブ SQLite リーダー。スカラー `contextUsage` と内容を含まない `api_usage_events` のみを読み、prompt、reply、添付、API subject、認証情報、学習指標は除外します。ローカル経路は $0、既知の有料 provider は実際に応答したモデルで token コストを推定します。 |
|
|
201
202
|
| **AnythingLLM Desktop** | ✅ 自動 | パッシブな SQLite リーダー (`anythingllm-desktop/storage/anythingllm.db`、メッセージごとの token 指標のみ) |
|
|
203
|
+
| **Devin CLI** (Cognition) | ✅ 自動 | パッシブな SQLite リーダー (`$XDG_DATA_HOME/devin/cli/sessions.db`、デフォルト `~/.local/share/devin/cli/sessions.db`)。`request_id` でリクエスト単位の usage 指標を重複排除 (replay/fork/compaction のコピーは二重計上しない) し、記録された generation model を使います。prompt・応答・`cogs_json` は読みません。Devin のモデル (`swe-2`、`swe-2-high`、`compactor`) には現在価格データがないため、token 数は報告されますがドル見積りからは除外されます — $0 表示は無料を意味しません。ネイティブ Windows のデータディレクトリは未確認で、WSL インストールは `\\wsl$` 経由で読み取ります。 |
|
|
202
204
|
| **Claude Science** | ✅ 自動 | パッシブな SQLite リーダー (`~/.claude-science/operon-cli.db`、`frames` テーブルの token カウンタのみ。prompt・成果物・研究内容は読みません)。ネイティブ Windows 版はなく、Windows では WSL 内で動作するアプリを読み取ります。 |
|
|
203
205
|
| **DeepSeek Harness** | ✅ 自動 | パッシブなセッションリーダー (`~/.dsh/sessions/**/session.jsonl[.zstd]`、セッションヘッダーと assistant イベントを解析し、複数フレームの zstd 展開に対応) |
|
|
204
206
|
| **TRAE Work CN** | ✅ 自動 | **明示的なオプトインが必要です: `TOKENTRACKER_TRAE_CN_USAGE=1` を設定してください。** 使用量の読み取りはローカルに保存されたサインイン認証を TRAE の内部 API に送信するため、有効にするまで何も送信されません。有効化後: ローカル TRAE Work CN のサインイン認証がある場合、実行可能な非バックグラウンド同期中に macOS のサインイン済みアプリから session-token 使用量を読み取ります。内部 API は変更される可能性があります |
|
|
205
207
|
|
|
206
208
|
> **プラグインや hook を手動でインストールする必要はありますか?** いいえ。`tokentracker`(または `tokentracker init`)が初回実行ですべて処理します:
|
|
207
|
-
> - **Hook ベース**のツール (Claude Code、Codex、Gemini、Every Code、**CodeBuddy**、**WorkBuddy**、**Grok Build**) — ツール自身の設定に SessionEnd hook または TOML notify エントリーを書き込みます。
|
|
209
|
+
> - **Hook ベース**のツール (Claude Code、Codex、AStudio、Gemini、Every Code、**CodeBuddy**、**WorkBuddy**、**Grok Build**) — ツール自身の設定に SessionEnd hook または TOML notify エントリーを書き込みます。
|
|
208
210
|
> - **プラグインベース**のツール (OpenCode、**OpenClaw**) — プラグインは npm パッケージ内に同梱されています。OpenClaw のセッションプラグインは `~/.tokentracker/tracker/openclaw-plugin/openclaw-session-sync/` にあり、OpenClaw 自身の CLI でリンクして有効化したうえで、同期を起動するセッション終了イベントを許可するために `hooks.allowConversationAccess=true` を設定します。ダウンロードもドラッグ&ドロップも不要です。
|
|
209
|
-
> - **パッシブリーダー** (Cursor、Kiro、Hermes、Kimi Code、Copilot、**Grok Build**、**oh-my-pi**、**pi**、**Craft Agents**、**Reasonix**、**Kilo CLI**、**Kilo Code**、**Roo Code**、**Antigravity**、**Zed Agent**、**Goose**、**Droid**、**Mimo Code**、**ZCode**、**LM Studio**、**Unsloth Studio**、**AnythingLLM Desktop**、**Claude Science**、**DeepSeek Harness**) — これらのツールには何もインストールしません。ツールがすでに出力しているファイル (SQLite DB、JSONL、OTEL エクスポート、session logs) を読むだけです。Copilot App / CLI の使用量は `~/.copilot/session-store.db` からリクエスト単位で読み取ります。`data.db` は旧データ移行時のベースラインとして一度だけ使い、store が正規ソースになった後は監視専用です。Chat 拡張と旧 CLI は引き続き OTEL を使用し、重複するリクエストは TokenTracker が一度だけ集計します。移行前の混在 App/CLI 履歴でモデルを安全に分離できない残量は、推測したリクエストモデルではなく `github-copilot-legacy` の集計値として保持します。
|
|
211
|
+
> - **パッシブリーダー** (Cursor、Kiro、Hermes、Kimi Code、Copilot、**Grok Build**、**oh-my-pi**、**pi**、**Craft Agents**、**Reasonix**、**Kilo CLI**、**Kilo Code**、**Roo Code**、**Antigravity**、**Zed Agent**、**Goose**、**Droid**、**Mimo Code**、**ZCode**、**LM Studio**、**Unsloth Studio**、**AnythingLLM Desktop**、**Devin CLI**、**Claude Science**、**DeepSeek Harness**) — これらのツールには何もインストールしません。ツールがすでに出力しているファイル (SQLite DB、JSONL、OTEL エクスポート、session logs) を読むだけです。Copilot App / CLI の使用量は `~/.copilot/session-store.db` からリクエスト単位で読み取ります。`data.db` は旧データ移行時のベースラインとして一度だけ使い、store が正規ソースになった後は監視専用です。Chat 拡張と旧 CLI は引き続き OTEL を使用し、重複するリクエストは TokenTracker が一度だけ集計します。移行前の混在 App/CLI 履歴でモデルを安全に分離できない残量は、推測したリクエストモデルではなく `github-copilot-legacy` の集計値として保持します。
|
|
210
212
|
> - **Grok Build の推定** — 現在のローカルテレメトリは `updates.jsonl` の累積 `totalTokens` を公開していますが、安定したプロンプト/出力/キャッシュの内訳はありません。`signals.json` は `contextTokensUsed` のスナップショットを使ったフォールバックとして残っています。コールごとの利用詳細が利用可能になるまで、TokenTracker は Grok のコストを推定します。
|
|
211
213
|
>
|
|
212
214
|
> いつでも `tokentracker status` を実行すれば、各統合の状態を確認できます。`skipped` と表示されている場合、`detail` 列にその理由が示されます(例: ツール CLI が `PATH` にない、設定が読めない)。
|
|
@@ -217,15 +219,21 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
217
219
|
|
|
218
220
|
---
|
|
219
221
|
|
|
220
|
-
## 🆚 なぜ TokenTracker?
|
|
222
|
+
## 🆚 なぜ TokenTracker? <a id="ccusage-alternative"></a>
|
|
221
223
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
|
225
|
-
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
|
|
|
224
|
+
> **ウィジェットや視覚的ダッシュボードを備えたデスクトップ体験をお探しですか?** TokenTracker は、多数の AI コーディングツールに対するローカルファースト解析と、ネイティブデスクトップアプリ、デスクトップウィジェット、プロバイダー横断の利用制限監視、任意のクラウド同期を組み合わせています。
|
|
225
|
+
|
|
226
|
+
| 機能 | **[TokenTracker](https://github.com/xiufengsun/TokenTracker)** | **[ccusage](https://github.com/ccusage/ccusage)** | **[Tokscale](https://github.com/junhoyeo/tokscale)** |
|
|
227
|
+
|---|:---:|:---:|:---:|
|
|
228
|
+
| **対応 AI ツール数** | **38** | マルチエージェント | マルチエージェント |
|
|
229
|
+
| **主なインターフェース** | ネイティブデスクトップアプリ & Web ダッシュボード | ターミナル CLI | ターミナル TUI & CLI |
|
|
230
|
+
| **ローカルファースト解析** | ✅ | ✅ | ✅ |
|
|
231
|
+
| **ネイティブデスクトップアプリ** | ✅ macOS, Windows, Linux | ❌ | ❌ |
|
|
232
|
+
| **デスクトップウィジェット** | ✅ 4 種類 | ❌ | ❌ |
|
|
233
|
+
| **レート制限トラッキング** | ✅ 17 プロバイダー | 限定的(Claude の利用枠) | 複数のプロバイダーに対応 |
|
|
234
|
+
| **ターミナル分析** | 基本的な CLI(`status`, `--json`) | 充実した CLI レポート | リッチな対話型 TUI & CLI |
|
|
235
|
+
| **JSON エクスポート** | ✅ | ✅ | ✅ |
|
|
236
|
+
| **公開リーダーボード** | 任意(オプトイン) | ❌ | 任意(`submit`) |
|
|
229
237
|
|
|
230
238
|
---
|
|
231
239
|
|
|
@@ -233,7 +241,7 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
233
241
|
|
|
234
242
|
```mermaid
|
|
235
243
|
flowchart LR
|
|
236
|
-
A["AI coding tools<br/>Claude Code · Codex · 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 · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE Work CN · LM Studio · Unsloth Studio"]
|
|
244
|
+
A["AI coding tools<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 · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE Work CN · LM Studio · Unsloth Studio · Devin CLI"]
|
|
237
245
|
A -->|hooks trigger| B[Token Tracker]
|
|
238
246
|
B -->|parse logs<br/>30-min UTC buckets| C[(Local SQLite)]
|
|
239
247
|
C --> D[Web Dashboard]
|
|
@@ -244,7 +252,7 @@ flowchart LR
|
|
|
244
252
|
|
|
245
253
|
1. AI CLI ツールが通常利用中にログを生成
|
|
246
254
|
2. 軽量な hook が変更を検出して同期をトリガー(Cursor は hook ではなく API を使用)
|
|
247
|
-
3.
|
|
255
|
+
3. トークン数をローカルで解析 — プロンプト、生成テキスト、コードを保存・アップロードすることは一切ありません
|
|
248
256
|
4. UTC の 30 分単位バケットに集計
|
|
249
257
|
5. ダッシュボード、メニューバーアプリ、ウィジェットはすべて同じローカルスナップショットから読み取る
|
|
250
258
|
|
|
@@ -254,12 +262,14 @@ flowchart LR
|
|
|
254
262
|
|
|
255
263
|
> 📄 **[プライバシーポリシー全文](docs/PRIVACY.md)**(英語)— アプリが行いうるすべてのネットワークリクエスト、その送信内容、そして無効化の方法を網羅しています。
|
|
256
264
|
|
|
257
|
-
|
|
265
|
+
TokenTracker は使用量データをローカルで処理します。プロンプト、コード、モデルの応答を収集またはアップロードすることはありません。
|
|
266
|
+
|
|
267
|
+
| 保護項目 | 説明 |
|
|
258
268
|
|---|---|
|
|
259
|
-
|
|
|
260
|
-
|
|
|
261
|
-
| **監査可能** | オープンソース。[`src/lib/rollout.js`](src/lib/rollout.js)
|
|
262
|
-
|
|
|
269
|
+
| **コードやプロンプトの不収集** | TokenTracker はローカルのログファイルを解析してトークン数とタイムスタンプを抽出します。プロンプト、生成テキスト、コード、会話本文を保存またはアップロードすることはありません。 |
|
|
270
|
+
| **デフォルトでローカルファースト** | 使用量の追跡はすべてローカルマシン上で完結します。アカウント、ログイン、API キーは不要です。クラウド同期や公開リーダーボードは完全にオプトインです。 |
|
|
271
|
+
| **監査可能** | オープンソース。[`src/lib/rollout.js`](src/lib/rollout.js) をご確認ください — 抽出されるのは数値、タイムスタンプ、モデル名のみです。 |
|
|
272
|
+
| **明確なネットワーク通信** | [プライバシーポリシー](docs/PRIVACY.md)にすべて記載されています。デフォルトのリクエストは、プロバイダーの残量確認(マシン上の既存の認証情報を使用)、GitHub スター数取得やアップデート確認、価格データの更新(`raw.githubusercontent.com`)、匿名のテレメトリ(毎日のハートビートと PostHog ページビュー。`TOKENTRACKER_NO_TELEMETRY=1` または `DO_NOT_TRACK=1` で無効化可能)に限られます。テレメトリにトークン、モデル、プロンプト、コードが含まれることはありません。 |
|
|
263
273
|
|
|
264
274
|
---
|
|
265
275
|
|
|
@@ -275,6 +285,7 @@ flowchart LR
|
|
|
275
285
|
| `TOKENTRACKER_DISABLE_GIT_ATTRIBUTION` | Git コミットの紐付けを無効化(`1` で無効)。紐付けは各セッションの作業ディレクトリ内で `git log` を実行します。無効にすると TokenTracker はプロジェクトディレクトリに一切入りません(Outcomes は手動記録分のみ表示) | — |
|
|
276
286
|
| `TOKENTRACKER_GIT_ATTRIBUTION_PROTECTED_DIRS` | Git 紐付けが macOS の保護された場所に入ることを許可(`1` で許可)。既定では `~/Documents`、`~/Downloads`、`~/Desktop`、`~/Library`、メディアフォルダ、`/Volumes` 配下のセッションをスキップします。macOS は場所ごとに個別のアクセス許可ダイアログを出すためです。これらの場所にリポジトリを置いており、許可しても構わない場合のみ有効化してください | — |
|
|
277
287
|
| `CODEX_HOME` | Codex CLI ディレクトリの上書き | `~/.codex` |
|
|
288
|
+
| `TOKENTRACKER_ACODE_HOME` | AStudio ディレクトリの上書き | `~/.acode` |
|
|
278
289
|
| `GEMINI_HOME` | Gemini CLI ディレクトリの上書き | `~/.gemini` |
|
|
279
290
|
|
|
280
291
|
---
|
package/README.ko.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
### 모든 CLI에서 AI에 쓰는 비용을 정확히 파악
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**38개의 AI 코딩 도구**에서 토큰 수치를 자동으로 수집하고 로컬에서 집계해, 실제 비용 추세를 아름다운 대시보드에서 확인. 클라우드 계정 불필요, API Key 불필요, 셋업 불필요 — 명령 한 줄이면 끝.
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
12
12
|
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
@@ -50,8 +50,8 @@ npx tokentracker-cli
|
|
|
50
50
|
**30초 안에 얻는 것:**
|
|
51
51
|
- 📊 사용 추세, 모델별 분석, 비용 분석을 보여주는 `localhost:7680`의 로컬 대시보드
|
|
52
52
|
- 🔌 설치된 모든 지원 AI 도구에 대한 hook 자동 감지
|
|
53
|
-
- 🏠
|
|
54
|
-
- 🧩 *옵션:* 250+개의 공개 Skill을 둘러보고 Claude · Codex · Gemini · OpenCode · Hermes 간에 동기화할 수 있는 Skills 탭
|
|
53
|
+
- 🏠 로컬 우선 — 로컬 머신에서 로그를 직접 파싱하며 계정이나 API Key가 필요하지 않습니다
|
|
54
|
+
- 🧩 *옵션:* 250+개의 공개 Skill을 둘러보고 Claude · Codex · AStudio · Gemini · OpenCode · Hermes 간에 동기화할 수 있는 Skills 탭
|
|
55
55
|
|
|
56
56
|
> **네이티브 데스크톱 앱이 필요하다면?**
|
|
57
57
|
> - **macOS** — [`TokenTrackerBar.dmg` 다운로드](https://github.com/xiufengsun/TokenTracker/releases/latest/download/TokenTrackerBar.dmg) → Applications로 드래그. 데스크톱 위젯, 메뉴바 상태 아이콘, WKWebView 안의 동일한 대시보드를 포함합니다.
|
|
@@ -88,19 +88,19 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
88
88
|
|
|
89
89
|
## ✨ 기능
|
|
90
90
|
|
|
91
|
-
- 🔌 **
|
|
92
|
-
- 🏠
|
|
91
|
+
- 🔌 **38개의 AI 도구 기본 지원** — Claude Code, Codex CLI, AStudio, Cursor, Gemini CLI, Antigravity, Kiro, OpenCode, OpenClaw, Every Code, Hermes Agent, GitHub Copilot, Kimi Code, CodeBuddy, WorkBuddy, Grok Build, oh-my-pi, pi, Dots, Prime Agent, Craft Agents, Reasonix, Kilo CLI, Kilo Code, Roo Code, Zed Agent, Goose, Droid, Mimo Code, ZCode, Qoder, AnythingLLM Desktop, Claude Science, DeepSeek Harness, TRAE Work CN, LM Studio, Unsloth Studio, Devin CLI
|
|
92
|
+
- 🏠 **로컬 우선** — 내 컴퓨터에서 실행됩니다. 계정이나 API Key 없이 로그를 로컬에서 파싱합니다.
|
|
93
93
|
- 🚀 **제로 설정** — 첫 실행 시 Hook 자동 설치. 0에서 대시보드까지 30초.
|
|
94
94
|
- 📊 **아름다운 대시보드** — 사용 추세, 모델별 비용 분석, GitHub 스타일 활동 히트맵, 프로젝트 귀속 정보
|
|
95
95
|
- 🖥️ **네이티브 데스크톱 앱** — macOS 메뉴바(위젯 포함)와 Windows 시스템 트레이. 각각 임베디드 서버와 네이티브 WebView 대시보드를 제공합니다
|
|
96
96
|
- 🎨 **4종 데스크톱 위젯** — Pin Usage / Activity Heatmap / Top Models / Usage Limits를 데스크톱에 고정
|
|
97
|
-
- 📈 **실시간 사용 한도** — Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code 한도를 표시하고 로컬 provider 앱이 잠시 종료되어도 last-good 캐시 유지
|
|
97
|
+
- 📈 **실시간 사용 한도** — Claude / Codex / Cursor / Gemini / Kimi / Kiro / Grok / Copilot / Antigravity / ZCode / OpenCode Go / Qoder / Qoder CN / Command Code / Ark Coding Plan / Ark Agent Plan / Devin 한도를 표시하고 로컬 provider 앱이 잠시 종료되어도 last-good 캐시 유지
|
|
98
98
|
- 🟢 **서비스 상태 페이지** — 8개 공식 provider 상태 페이지의 운영 및 장애 상태 표시
|
|
99
99
|
- 💰 **비용 엔진** — [LiteLLM](https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json)을 통해 2,200+개 모델 가격 책정 (매일 자동 갱신) + 틈새 도구 (Kiro, Cursor Composer, Kimi, CodeBuddy hy3)를 위한 수동 큐레이션 오버라이드; 24시간 디스크 캐시 + 번들된 오프라인 스냅샷으로 인터넷 없이도 정확한 USD 표시. 벤더가 공식 가격을 공개하지 않은 모델 (예: Tencent hy3-preview)은 토큰만 추적되며 벤더가 요율을 공개할 때까지 비용은 $0으로 표시됩니다.
|
|
100
100
|
- 🌐 **옵션 리더보드** — 전 세계 개발자들과 비교; 컬럼을 드래그하여 관심 있는 프로바이더에 집중 (옵트인, 참여하려면 사인인 필요)
|
|
101
|
-
- 🔄 **기기 간 계정 뷰** — 클라우드 동기화를 켜면 작업하는 모든 기기(노트북 + 데스크톱 + 서버)의 사용량을 하나의 뷰로 통합 — 총량·트렌드·히트맵·모델 분석을 모두 기기 통합으로 집계 (옵트인, 사인인
|
|
102
|
-
- 🧩 **옵션 Skills 탭** — `anthropics/skills`, `ComposioHQ/awesome-claude-skills`, `skills.sh` 그리고 직접 추가한 임의의 GitHub 저장소에서 250+개의 공개 Skill을 둘러보고, 타겟 이름을 지정해 Claude / Codex / Gemini / OpenCode / Hermes에 동기화. 원클릭 Undo 지원.
|
|
103
|
-
- 🔒 **프라이버시 우선** — 토큰
|
|
101
|
+
- 🔄 **기기 간 계정 뷰** — 클라우드 동기화를 켜면 작업하는 모든 기기(노트북 + 데스크톱 + 서버)의 사용량을 하나의 뷰로 통합 — 총량·트렌드·히트맵·모델 분석을 모두 기기 통합으로 집계 (옵트인, 사인인 필요)
|
|
102
|
+
- 🧩 **옵션 Skills 탭** — `anthropics/skills`, `ComposioHQ/awesome-claude-skills`, `skills.sh` 그리고 직접 추가한 임의의 GitHub 저장소에서 250+개의 공개 Skill을 둘러보고, 타겟 이름을 지정해 Claude / Codex / AStudio / Gemini / OpenCode / Hermes에 동기화. 원클릭 Undo 지원.
|
|
103
|
+
- 🔒 **프라이버시 우선** — 로컬 사용량 지표(토큰 수치, 타임스탬프, 모델명)만 기록합니다. 프롬프트, 모델 응답, 코드는 절대 기기 밖으로 나가지 않습니다.
|
|
104
104
|
|
|
105
105
|
---
|
|
106
106
|
|
|
@@ -142,7 +142,7 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
142
142
|
<tr>
|
|
143
143
|
<td colspan="2">
|
|
144
144
|
|
|
145
|
-
**Skills Manager** — GitHub와 `skills.sh`에서 250+개의 공개 Skill을 둘러보고, 한 번 설치하면 Claude / Codex / Gemini / OpenCode / Hermes에 동기화. 타겟별 토글, 원클릭 Undo, 수동 파일 복사 불필요.
|
|
145
|
+
**Skills Manager** — GitHub와 `skills.sh`에서 250+개의 공개 Skill을 둘러보고, 한 번 설치하면 Claude / Codex / AStudio / Gemini / OpenCode / Hermes에 동기화. 타겟별 토글, 원클릭 Undo, 수동 파일 복사 불필요.
|
|
146
146
|
|
|
147
147
|
<img src="https://raw.githubusercontent.com/xiufengsun/tokentracker/main/docs/screenshots/skills.png" alt="Skills Manager" />
|
|
148
148
|
|
|
@@ -167,6 +167,7 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
167
167
|
|---|---|---|
|
|
168
168
|
| **Claude Code** | ✅ 자동 | `settings.json`의 SessionEnd hook |
|
|
169
169
|
| **Codex CLI** | ✅ 자동 | `config.toml`의 TOML notify hook |
|
|
170
|
+
| **AStudio** | ✅ 자동 | `config.toml`에 TOML notify hook 작성 |
|
|
170
171
|
| **Cursor** | ✅ 자동 | API + SQLite 인증 토큰 |
|
|
171
172
|
| **Kiro** | ✅ 자동 | SQLite + JSONL 하이브리드 |
|
|
172
173
|
| **Gemini CLI** | ✅ 자동 | SessionEnd hook |
|
|
@@ -199,14 +200,15 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
199
200
|
| **LM Studio** | ✅ 자동 | `~/.lmstudio/server-logs/**/*.log` 패시브 재귀 리더. Chat Completions / Responses API 최종 응답에서 ID, 모델, 시각, 스칼라 `usage` 카운터만 읽고 응답 ID로 중복 제거합니다. prompt/response 본문은 보관하지 않습니다. 이 데이터는 로컬 추론과 LM Link(API 한계 비용 $0)를 포함하며 Bionic Secure Cloud 청구는 포함하지 않습니다. |
|
|
200
201
|
| **Unsloth Studio** | ✅ 자동 | `$UNSLOTH_STUDIO_HOME/studio.db`(기본값 `~/.unsloth/studio/studio.db`) 패시브 SQLite 리더. 스칼라 `contextUsage`와 내용이 없는 `api_usage_events`만 읽으며 prompt, reply, 첨부, API subject, 자격 증명, 학습 지표는 제외합니다. 로컬 경로는 $0, 알려진 유료 provider 경로는 실제 응답 모델로 token 비용을 추정합니다. |
|
|
201
202
|
| **AnythingLLM Desktop** | ✅ 자동 | 패시브 SQLite 리더 (`anythingllm-desktop/storage/anythingllm.db`, 메시지별 token 지표만 읽음) |
|
|
203
|
+
| **Devin CLI** (Cognition) | ✅ 자동 | 패시브 SQLite 리더 (`$XDG_DATA_HOME/devin/cli/sessions.db`, 기본값 `~/.local/share/devin/cli/sessions.db`). `request_id`로 요청 단위 usage 지표를 중복 제거하고 (replay/fork/compaction 복사본은 이중 집계하지 않음) 기록된 generation model을 사용합니다. prompt·응답·`cogs_json`은 읽지 않습니다. Devin 모델 (`swe-2`, `swe-2-high`, `compactor`)에는 현재 가격 데이터가 없어 token 수는 보고되지만 달러 추정치에서 제외됩니다 — $0 표시가 무료를 의미하지는 않습니다. 네이티브 Windows 데이터 디렉터리는 확인되지 않았으며 WSL 설치는 `\\wsl$`을 통해 읽습니다. |
|
|
202
204
|
| **Claude Science** | ✅ 자동 | 패시브 SQLite 리더 (`~/.claude-science/operon-cli.db`, `frames` 테이블의 token 카운터만 읽으며 prompt·산출물·연구 내용은 읽지 않음). 네이티브 Windows 빌드가 없어 Windows에서는 WSL 안에서 실행되는 앱을 읽습니다. |
|
|
203
205
|
| **DeepSeek Harness** | ✅ 자동 | 패시브 세션 리더 (`~/.dsh/sessions/**/session.jsonl[.zstd]`, 세션 헤더와 assistant 이벤트를 파싱하고 멀티 프레임 zstd 압축 해제를 지원) |
|
|
204
206
|
| **TRAE Work CN** | ✅ 자동 | **명시적인 옵트인이 필요합니다: `TOKENTRACKER_TRAE_CN_USAGE=1` 을 설정하세요.** 사용량을 읽으면 로컬에 저장된 로그인 인증이 TRAE의 내부 API로 전송되므로, 켜기 전에는 아무것도 전송되지 않습니다. 켠 뒤에는: 로컬 TRAE Work CN 인증이 있을 때 실행 가능한 비백그라운드 동기화 중에 macOS의 로그인된 앱에서 session-token 사용량을 읽습니다. 내부 API는 변경될 수 있습니다 |
|
|
205
207
|
|
|
206
208
|
> **플러그인이나 hook을 수동으로 설치해야 하나요?** 아니요. `tokentracker` (또는 `tokentracker init`)가 첫 실행에서 모든 것을 처리합니다:
|
|
207
|
-
> - **Hook 기반** 도구 (Claude Code, Codex, Gemini, Every Code, **CodeBuddy**, **WorkBuddy**, **Grok Build**) — 도구 자체의 설정에 SessionEnd hook 또는 TOML notify 엔트리를 작성합니다.
|
|
209
|
+
> - **Hook 기반** 도구 (Claude Code, Codex, AStudio, Gemini, Every Code, **CodeBuddy**, **WorkBuddy**, **Grok Build**) — 도구 자체의 설정에 SessionEnd hook 또는 TOML notify 엔트리를 작성합니다.
|
|
208
210
|
> - **플러그인 기반** 도구 (OpenCode, **OpenClaw**) — 플러그인은 npm 패키지 안에 포함되어 있습니다. OpenClaw 세션 플러그인은 `~/.tokentracker/tracker/openclaw-plugin/openclaw-session-sync/`에 있으며, OpenClaw 자체 CLI로 링크하고 활성화한 뒤 동기화를 트리거하는 세션 종료 이벤트를 허용하도록 `hooks.allowConversationAccess=true`를 설정합니다. 다운로드, 드래그 앤 드롭 불필요.
|
|
209
|
-
> - **패시브 리더** (Cursor, Kiro, Hermes, Kimi Code, Copilot, **Grok Build**, **oh-my-pi**, **pi**, **Craft Agents**, **Reasonix**, **Kilo CLI**, **Kilo Code**, **Roo Code**, **Antigravity**, **Zed Agent**, **Goose**, **Droid**, **Mimo Code**, **ZCode**, **LM Studio**, **Unsloth Studio**, **AnythingLLM Desktop**, **Claude Science**, **DeepSeek Harness**) — 이들 도구에는 아무것도 설치하지 않습니다. 도구가 이미 생성하는 파일 (SQLite DB, JSONL, OTEL export, session logs)만 읽습니다. Copilot App / CLI 사용량은 `~/.copilot/session-store.db`에서 요청별로 읽습니다. `data.db`는 레거시 마이그레이션 기준선으로 한 번만 사용하며 store가 정식 소스가 된 뒤에는 관찰 전용으로 유지됩니다. Chat 확장과 이전 CLI는 계속 OTEL을 사용하며, TokenTracker가 겹치는 요청을 한 번만 집계합니다. 마이그레이션 전 혼합 App/CLI 기록에서 모델을 안전하게 분리할 수 없는 잔여분은 추정 모델 대신 `github-copilot-legacy` 집계로 보존합니다.
|
|
211
|
+
> - **패시브 리더** (Cursor, Kiro, Hermes, Kimi Code, Copilot, **Grok Build**, **oh-my-pi**, **pi**, **Craft Agents**, **Reasonix**, **Kilo CLI**, **Kilo Code**, **Roo Code**, **Antigravity**, **Zed Agent**, **Goose**, **Droid**, **Mimo Code**, **ZCode**, **LM Studio**, **Unsloth Studio**, **AnythingLLM Desktop**, **Devin CLI**, **Claude Science**, **DeepSeek Harness**) — 이들 도구에는 아무것도 설치하지 않습니다. 도구가 이미 생성하는 파일 (SQLite DB, JSONL, OTEL export, session logs)만 읽습니다. Copilot App / CLI 사용량은 `~/.copilot/session-store.db`에서 요청별로 읽습니다. `data.db`는 레거시 마이그레이션 기준선으로 한 번만 사용하며 store가 정식 소스가 된 뒤에는 관찰 전용으로 유지됩니다. Chat 확장과 이전 CLI는 계속 OTEL을 사용하며, TokenTracker가 겹치는 요청을 한 번만 집계합니다. 마이그레이션 전 혼합 App/CLI 기록에서 모델을 안전하게 분리할 수 없는 잔여분은 추정 모델 대신 `github-copilot-legacy` 집계로 보존합니다.
|
|
210
212
|
> - **Grok Build 추정** — 현재 로컬 텔레메트리는 `updates.jsonl`의 누적 `totalTokens`를 노출하지만, 안정적인 프롬프트/출력/캐시 분할은 제공하지 않습니다; `signals.json`은 `contextTokensUsed` 스냅샷을 사용한 폴백으로 남아 있습니다. 호출별 사용 상세 정보가 제공될 때까지 TokenTracker는 Grok 비용을 추정합니다.
|
|
211
213
|
>
|
|
212
214
|
> 언제든 `tokentracker status`로 각 통합의 상태를 확인할 수 있습니다. `skipped`로 표시되면 `detail` 컬럼이 이유를 설명합니다 (예: 도구 CLI가 `PATH`에 없음, 설정 읽기 불가).
|
|
@@ -217,15 +219,21 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
217
219
|
|
|
218
220
|
---
|
|
219
221
|
|
|
220
|
-
## 🆚 왜 TokenTracker인가?
|
|
222
|
+
## 🆚 왜 TokenTracker인가? <a id="ccusage-alternative"></a>
|
|
221
223
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
|
225
|
-
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
|
|
|
224
|
+
> **위젯과 시각적 대시보드를 갖춘 데스크톱 환경을 찾고 계신가요?** TokenTracker는 여러 AI 코딩 도구에 대한 로컬 우선 파싱과 네이티브 데스크톱 앱, 데스크톱 위젯, 프로바이더 통합 사용량 한도 모니터링, 선택형 클라우드 동기화를 결합했습니다.
|
|
225
|
+
|
|
226
|
+
| 기능 | **[TokenTracker](https://github.com/xiufengsun/TokenTracker)** | **[ccusage](https://github.com/ccusage/ccusage)** | **[Tokscale](https://github.com/junhoyeo/tokscale)** |
|
|
227
|
+
|---|:---:|:---:|:---:|
|
|
228
|
+
| **지원하는 AI 도구 수** | **38** | 멀티 에이전트 지원 | 멀티 에이전트 지원 |
|
|
229
|
+
| **기본 인터페이스** | 네이티브 데스크톱 앱 & 웹 대시보드 | 터미널 CLI | 터미널 TUI & CLI |
|
|
230
|
+
| **로컬 우선 분석** | ✅ | ✅ | ✅ |
|
|
231
|
+
| **네이티브 데스크톱 앱** | ✅ macOS, Windows, Linux | ❌ | ❌ |
|
|
232
|
+
| **데스크톱 위젯** | ✅ 4종 | ❌ | ❌ |
|
|
233
|
+
| **레이트 제한 추적** | ✅ 17개 프로바이더 | 제한적 (Claude 블록/사용량) | 다수 프로바이더 지원 |
|
|
234
|
+
| **터미널 분석** | 기본 CLI (`status`, `--json`) | 강력한 CLI 리포팅 | 풍부한 인터랙티브 TUI & CLI |
|
|
235
|
+
| **JSON 내보내기** | ✅ | ✅ | ✅ |
|
|
236
|
+
| **공개 리더보드** | 선택형 (옵트인) | ❌ | 선택형 (`submit`) |
|
|
229
237
|
|
|
230
238
|
---
|
|
231
239
|
|
|
@@ -233,7 +241,7 @@ brew install xiufengsun/tokentracker/tokentracker
|
|
|
233
241
|
|
|
234
242
|
```mermaid
|
|
235
243
|
flowchart LR
|
|
236
|
-
A["AI coding tools<br/>Claude Code · Codex · 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 · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE Work CN · LM Studio · Unsloth Studio"]
|
|
244
|
+
A["AI coding tools<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 · ZCode · Qoder · AnythingLLM · Claude Science · DeepSeek Harness · TRAE Work CN · LM Studio · Unsloth Studio · Devin CLI"]
|
|
237
245
|
A -->|hooks trigger| B[Token Tracker]
|
|
238
246
|
B -->|parse logs<br/>30-min UTC buckets| C[(Local SQLite)]
|
|
239
247
|
C --> D[Web Dashboard]
|
|
@@ -244,22 +252,24 @@ flowchart LR
|
|
|
244
252
|
|
|
245
253
|
1. AI CLI 도구가 평소 사용 중에 로그를 생성
|
|
246
254
|
2. 경량 hook이 변경을 감지하고 동기화를 트리거 (Cursor는 hook 대신 API 사용)
|
|
247
|
-
3. 토큰
|
|
255
|
+
3. 토큰 수치를 로컬에서 파싱 — 프롬프트, 모델 응답, 코드는 절대 저장하거나 업로드하지 않음
|
|
248
256
|
4. 30분 UTC 버킷으로 집계
|
|
249
257
|
5. 대시보드, 메뉴바 앱, 위젯 모두 동일한 로컬 스냅샷을 읽음
|
|
250
258
|
|
|
251
259
|
---
|
|
252
260
|
|
|
253
|
-
## 🛡️
|
|
261
|
+
## 🛡️ 개인정보 보호
|
|
254
262
|
|
|
255
263
|
> 📄 **[전체 개인정보 처리방침](docs/PRIVACY.md)**(영문) — 앱이 보낼 수 있는 모든 네트워크 요청, 각 요청이 전송하는 내용, 끄는 방법을 모두 정리했습니다.
|
|
256
264
|
|
|
257
|
-
|
|
265
|
+
TokenTracker는 사용량 데이터를 로컬에서 처리합니다. 프롬프트, 코드, 모델 응답을 수집하거나 업로드하지 않습니다.
|
|
266
|
+
|
|
267
|
+
| 보호 항목 | 설명 |
|
|
258
268
|
|---|---|
|
|
259
|
-
|
|
|
260
|
-
|
|
|
261
|
-
| **감사 가능** | 오픈 소스. [`src/lib/rollout.js`](src/lib/rollout.js)를
|
|
262
|
-
|
|
|
269
|
+
| **코드 및 프롬프트 미수집** | TokenTracker는 로컬 로그 파일을 파싱하여 토큰 수치와 타임스탬프를 추출합니다. 프롬프트, 응답 본문, 코드, 대화 내용은 절대 저장하거나 업로드하지 않습니다. |
|
|
270
|
+
| **기본 로컬 우선** | 사용량 추적은 기기 내에서 로컬로 실행됩니다. 계정, 로그인, API Key가 필요하지 않습니다. 클라우드 동기화와 공개 리더보드는 순수 옵트인입니다. |
|
|
271
|
+
| **감사 가능** | 오픈 소스. [`src/lib/rollout.js`](src/lib/rollout.js)를 직접 확인하세요 — 숫자, 타임스탬프, 모델명만 추출합니다. |
|
|
272
|
+
| **투명한 네트워크 활동** | [개인정보 처리방침](docs/PRIVACY.md)에 상세히 명시되어 있습니다. 기본 네트워크 요청은 프로바이더 잔여 한도 확인(기기에 이미 존재하는 자격 증명 사용), GitHub 스타 수 확인 및 버전 업데이트 확인, 모델 가격 데이터 갱신(`raw.githubusercontent.com`), 익명 텔레메트리(일일 하트비트 및 PostHog 페이지뷰, 둘 다 `TOKENTRACKER_NO_TELEMETRY=1` 또는 `DO_NOT_TRACK=1`로 비활성화 가능)로 제한됩니다. 텔레메트리에는 토큰, 모델, 프롬프트, 코드가 절대 포함되지 않습니다. |
|
|
263
273
|
|
|
264
274
|
---
|
|
265
275
|
|
|
@@ -275,6 +285,7 @@ flowchart LR
|
|
|
275
285
|
| `TOKENTRACKER_DISABLE_GIT_ATTRIBUTION` | Git 커밋 연결 비활성화(`1`이면 비활성화). 연결 기능은 각 세션의 작업 디렉터리에서 `git log`를 실행합니다. 비활성화하면 TokenTracker가 프로젝트 디렉터리에 전혀 접근하지 않습니다(Outcomes에는 수동 기록만 표시) | — |
|
|
276
286
|
| `TOKENTRACKER_GIT_ATTRIBUTION_PROTECTED_DIRS` | Git 연결이 macOS 보호 위치에 접근하도록 허용(`1`이면 허용). 기본적으로 `~/Documents`, `~/Downloads`, `~/Desktop`, `~/Library`, 미디어 폴더, `/Volumes` 아래의 세션은 건너뜁니다. macOS가 위치마다 별도의 접근 허용 대화상자를 띄우기 때문입니다. 해당 위치에 저장소를 두고 있고 권한을 허용해도 괜찮을 때만 켜세요 | — |
|
|
277
287
|
| `CODEX_HOME` | Codex CLI 디렉토리 오버라이드 | `~/.codex` |
|
|
288
|
+
| `TOKENTRACKER_ACODE_HOME` | AStudio 디렉토리 오버라이드 | `~/.acode` |
|
|
278
289
|
| `GEMINI_HOME` | Gemini CLI 디렉토리 오버라이드 | `~/.gemini` |
|
|
279
290
|
|
|
280
291
|
---
|