tokentracker-cli 0.21.3 → 0.22.0
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.ja.md +457 -0
- package/README.ko.md +457 -0
- package/README.md +45 -6
- package/README.zh-CN.md +45 -6
- package/dashboard/dist/assets/{Card-Cv4wn6W8.js → Card-CD18G4Ge.js} +1 -1
- package/dashboard/dist/assets/DashboardPage-DKY_Mi9v.js +64 -0
- package/dashboard/dist/assets/DevicePage-BkavlAal.js +1 -0
- package/dashboard/dist/assets/{FadeIn-DjQyRfLZ.js → FadeIn-CVNJ4aZy.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-D2BjLT1b.js → HeaderGithubStar-COu1Xy3I.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-D0uvbHPe.js → IpCheckPage-B2HjZ3vY.js} +1 -1
- package/dashboard/dist/assets/{LandingPage-DGJcVAg7.js → LandingPage-9PSLFnys.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-Dnt_YLsP.js → LeaderboardPage-CQT5dBHU.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-DM7S9_kG.js → LeaderboardProfilePage-aPP-Raey.js} +1 -1
- package/dashboard/dist/assets/{LimitsPage-COomwRa6.js → LimitsPage-eFrAHmoA.js} +2 -2
- package/dashboard/dist/assets/{LoginPage-k0k50kws.js → LoginPage-CczTNZ_P.js} +1 -1
- package/dashboard/dist/assets/{PopoverPopup-DctOj5-q.js → PopoverPopup-CEvWSWgZ.js} +2 -2
- package/dashboard/dist/assets/{ProviderIcon-DGlYzr9I.js → ProviderIcon-ewev19y3.js} +1 -1
- package/dashboard/dist/assets/SettingsPage-taBxq6ux.js +1 -0
- package/dashboard/dist/assets/SkillsPage-cqHO3rMB.js +1 -0
- package/dashboard/dist/assets/{WidgetsPage-DsMj8Qcz.js → WidgetsPage-B53b1hwG.js} +1 -1
- package/dashboard/dist/assets/WrappedPage-DwAhprTa.js +1 -0
- package/dashboard/dist/assets/check-JnFJsHgI.js +1 -0
- package/dashboard/dist/assets/{chevron-down-kcaroSaH.js → chevron-down-zOKEzHdv.js} +1 -1
- package/dashboard/dist/assets/{download-DKMK6oF8.js → download-BZZ4vKc1.js} +1 -1
- package/dashboard/dist/assets/{leaderboard-columns-BZ06dD2h.js → leaderboard-columns-BNGlMUsD.js} +1 -1
- package/dashboard/dist/assets/main-A_x5MMU-.css +1 -0
- package/dashboard/dist/assets/{main-DKVBnAOd.js → main-D0Irg9xR.js} +62 -17
- package/dashboard/dist/assets/{use-limits-display-prefs-Bx-K-27B.js → use-limits-display-prefs-BTuSZo27.js} +1 -1
- package/dashboard/dist/assets/{use-native-settings-DtuifRKC.js → use-native-settings-BPXVZrWe.js} +1 -1
- package/dashboard/dist/assets/{use-reduced-motion-Cen-UCKO.js → use-reduced-motion-HUOV_JD1.js} +1 -1
- package/dashboard/dist/assets/{use-usage-limits-CAWz6ijv.js → use-usage-limits-G6-vCBcN.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/share.html +2 -2
- package/package.json +3 -2
- package/src/cli.js +11 -0
- package/src/commands/device-login.js +161 -0
- package/src/commands/status.js +199 -1
- package/src/commands/sync.js +85 -2
- package/src/commands/wrapped.js +150 -0
- package/src/lib/local-api.js +37 -2
- package/src/lib/passive-mode.js +185 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +913 -0
- package/src/lib/wrapped-aggregator.js +225 -0
- package/dashboard/dist/assets/DashboardPage-DsfcNgai.js +0 -1
- package/dashboard/dist/assets/SettingsPage-D2sqM9g_.js +0 -1
- package/dashboard/dist/assets/SkillsPage-B8K--edc.js +0 -1
- package/dashboard/dist/assets/main-DX38hz5f.css +0 -1
package/README.ja.md
ADDED
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Token Tracker
|
|
4
|
+
|
|
5
|
+
[English](./README.md) · [简体中文](./README.zh-CN.md) · **日本語** · [한국어](./README.ko.md)
|
|
6
|
+
|
|
7
|
+
### AI に使ったコストを正確に把握 — すべての CLI を横断して
|
|
8
|
+
|
|
9
|
+
**22 種類の AI コーディングツール**からトークン数を自動収集し、ローカルで集計、美しいダッシュボードで本当のコスト推移を可視化します。クラウドアカウント不要、API キー不要、セットアップ不要 — コマンド 1 つで完了です。
|
|
10
|
+
|
|
11
|
+
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
12
|
+
[](https://www.npmjs.com/package/tokentracker-cli)
|
|
13
|
+
[](https://github.com/mm7894215/homebrew-tokentracker)
|
|
14
|
+
[](https://opensource.org/licenses/MIT)
|
|
15
|
+
[](https://www.apple.com/macos/)
|
|
16
|
+
[](https://github.com/mm7894215/TokenTracker/stargazers)
|
|
17
|
+
[](https://www.tokentracker.cc/leaderboard/u/0652839f-d19f-4f67-af85-6b7675875443)
|
|
18
|
+
|
|
19
|
+
<br/>
|
|
20
|
+
|
|
21
|
+
<img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-dark.png" alt="Token Tracker Dashboard" width="820" />
|
|
22
|
+
|
|
23
|
+
<br/><br/>
|
|
24
|
+
|
|
25
|
+
⭐ **TokenTracker が時間の節約に役立ったら、ぜひ [GitHub でスターを付けてください](https://github.com/mm7894215/TokenTracker) — 他の開発者が見つけやすくなります。**
|
|
26
|
+
|
|
27
|
+
<br/>
|
|
28
|
+
|
|
29
|
+
[](https://ko-fi.com/M4M11XSNWD)
|
|
30
|
+
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## ⚡ クイックスタート
|
|
36
|
+
|
|
37
|
+
> **動作要件**: Node.js **20+**(CLI は macOS / Linux / Windows で動作します。メニューバーアプリは macOS 専用です。Cursor のトークン読み取りは、利用可能であればシステムの `sqlite3` CLI を使用し、対応する Node リリースでは `node:sqlite` にフォールバックします)。
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx tokentracker-cli
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
これだけです。初回実行で hook をインストールし、データを同期して、`http://localhost:7680` でダッシュボードを開きます。
|
|
44
|
+
|
|
45
|
+
**30 秒で手に入るもの:**
|
|
46
|
+
- 📊 `localhost:7680` のローカルダッシュボードで、使用トレンド、モデル別内訳、コスト分析が見える
|
|
47
|
+
- 🔌 インストール済みの対応 AI ツールすべてに対する hook を自動検出
|
|
48
|
+
- 🏠 100% ローカル — アカウント不要、API キー不要、ネットワーク通信なし(オプションのリーダーボードを除く)
|
|
49
|
+
- 🧩 *オプション:* 250+ の公開 Skill を閲覧して Claude · Codex · Gemini · OpenCode · Hermes 間で同期できる Skills タブ
|
|
50
|
+
|
|
51
|
+
> **ネイティブの macOS メニューバーアプリが欲しい?** [`TokenTrackerBar.dmg` をダウンロード](https://github.com/mm7894215/TokenTracker/releases/latest) → Applications にドラッグ。デスクトップウィジェット、メニューバーのステータスアイコン、そして WKWebView 上の同じダッシュボードを含みます。
|
|
52
|
+
|
|
53
|
+
短いコマンドで使うためグローバルインストール:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm i -g tokentracker-cli
|
|
57
|
+
|
|
58
|
+
tokentracker # ダッシュボードを開く
|
|
59
|
+
tokentracker sync # 手動同期
|
|
60
|
+
tokentracker status # hook の状態を確認
|
|
61
|
+
tokentracker doctor # ヘルスチェック
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 🍺 Homebrew (macOS)
|
|
65
|
+
|
|
66
|
+
`brew` 派なら、追加の tap 操作なしで直接インストールできます:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# macOS メニューバーアプリ (DMG)
|
|
70
|
+
brew install --cask mm7894215/tokentracker/tokentracker
|
|
71
|
+
|
|
72
|
+
# CLI のみ
|
|
73
|
+
brew install mm7894215/tokentracker/tokentracker
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
アップグレードは `brew upgrade --cask mm7894215/tokentracker/tokentracker`。tap は新リリースから 1 時間以内に自動更新されます。
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## ✨ 機能
|
|
82
|
+
|
|
83
|
+
- 🔌 **22 種類の AI ツールを標準対応** — Claude Code、Codex CLI、Cursor、Gemini CLI、Antigravity、Kiro、OpenCode、OpenClaw、Every Code、Hermes Agent、GitHub Copilot、Kimi Code、CodeBuddy、Grok Build、oh-my-pi、pi、Craft Agents、Kilo CLI、Kilo Code、Roo Code、Zed Agent、Goose
|
|
84
|
+
- 🏠 **100% ローカル** — トークンデータがマシンから外に出ることはありません。アカウント不要、API キー不要。
|
|
85
|
+
- 🚀 **ゼロコンフィグ** — Hook は初回実行で自動インストール。0 からダッシュボードまで 30 秒。
|
|
86
|
+
- 📊 **美しいダッシュボード** — 使用トレンド、モデル別コスト内訳、GitHub スタイルのアクティビティヒートマップ、プロジェクト別の帰属表示
|
|
87
|
+
- 🖥️ **ネイティブ macOS アプリ** — メニューバーのステータスアイコン、組み込みサーバー、WKWebView ダッシュボード
|
|
88
|
+
- 🎨 **4 種類のデスクトップウィジェット** — Pin Usage / Activity Heatmap / Top Models / Usage Limits をデスクトップに固定
|
|
89
|
+
- 📈 **リアルタイムのレート制限トラッキング** — Claude / Codex / Cursor / Gemini / Kiro / Copilot / Antigravity のクォータウィンドウとリセットまでのカウントダウン
|
|
90
|
+
- 💰 **コストエンジン** — [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 と表示されます。
|
|
91
|
+
- 🌐 **オプションのリーダーボード** — 世界中の開発者と比較。ドラッグで列を並び替えて、気になるプロバイダーに絞り込めます(オプトイン制、参加にはサインインが必要)
|
|
92
|
+
- 🧩 **オプションの Skills タブ** — `anthropics/skills`、`ComposioHQ/awesome-claude-skills`、`skills.sh`、そして自分で追加した任意の GitHub リポジトリから 250+ の公開 Skill をブラウズ。Claude / Codex / Gemini / OpenCode / Hermes にターゲット名を付けて同期し、ワンクリックで Undo
|
|
93
|
+
- 🔒 **プライバシー最優先** — トークン数とタイムスタンプのみ。プロンプト、レスポンス、ファイル内容を扱うことは一切ありません。
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 🖼️ ショーケース
|
|
98
|
+
|
|
99
|
+
<table>
|
|
100
|
+
<tr>
|
|
101
|
+
<td width="50%">
|
|
102
|
+
|
|
103
|
+
**ダッシュボード** — 使用トレンド、モデル別内訳、コスト分析
|
|
104
|
+
|
|
105
|
+
<img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-light.png" alt="Dashboard" />
|
|
106
|
+
|
|
107
|
+
</td>
|
|
108
|
+
<td width="50%">
|
|
109
|
+
|
|
110
|
+
**デスクトップウィジェット** — 使用状況をデスクトップに固定
|
|
111
|
+
|
|
112
|
+
<img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/widgets-overview.png" alt="Desktop Widgets" />
|
|
113
|
+
|
|
114
|
+
</td>
|
|
115
|
+
</tr>
|
|
116
|
+
<tr>
|
|
117
|
+
<td width="50%">
|
|
118
|
+
|
|
119
|
+
**メニューバーアプリ** — アニメーション付きの Clawd コンパニオン + ネイティブパネル
|
|
120
|
+
|
|
121
|
+
<img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/menubar.gif" alt="Menu Bar App" />
|
|
122
|
+
|
|
123
|
+
</td>
|
|
124
|
+
<td width="50%">
|
|
125
|
+
|
|
126
|
+
**グローバルリーダーボード** — 世界中の開発者と比較
|
|
127
|
+
|
|
128
|
+
<img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/leaderboard.png" alt="Leaderboard" />
|
|
129
|
+
|
|
130
|
+
</td>
|
|
131
|
+
</tr>
|
|
132
|
+
<tr>
|
|
133
|
+
<td colspan="2">
|
|
134
|
+
|
|
135
|
+
**Skills Manager** — GitHub と `skills.sh` から 250+ の公開 Skill をブラウズし、一度インストールするだけで Claude / Codex / Gemini / OpenCode / Hermes に同期。ターゲットごとのトグル、ワンクリック Undo、ファイルの手動コピー不要。
|
|
136
|
+
|
|
137
|
+
<img src="https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/skills.png" alt="Skills Manager" />
|
|
138
|
+
|
|
139
|
+
</td>
|
|
140
|
+
</tr>
|
|
141
|
+
</table>
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 🔌 対応 AI ツール
|
|
146
|
+
|
|
147
|
+
| ツール | 検出 | 方式 |
|
|
148
|
+
|---|---|---|
|
|
149
|
+
| **Claude Code** | ✅ 自動 | `settings.json` 内の SessionEnd hook |
|
|
150
|
+
| **Codex CLI** | ✅ 自動 | `config.toml` 内の TOML notify hook |
|
|
151
|
+
| **Cursor** | ✅ 自動 | API + SQLite の認証トークン |
|
|
152
|
+
| **Kiro** | ✅ 自動 | SQLite + JSONL のハイブリッド |
|
|
153
|
+
| **Gemini CLI** | ✅ 自動 | SessionEnd hook |
|
|
154
|
+
| **OpenCode** | ✅ 自動 | プラグインシステム + SQLite |
|
|
155
|
+
| **OpenClaw** | ✅ 自動 | セッションプラグイン |
|
|
156
|
+
| **Every Code** | ✅ 自動 | TOML notify hook |
|
|
157
|
+
| **Hermes Agent** | ✅ 自動 | SQLite の sessions テーブル (`~/.hermes/state.db`) |
|
|
158
|
+
| **GitHub Copilot** | ✅ 自動 | OpenTelemetry のファイルエクスポーター (`COPILOT_OTEL_FILE_EXPORTER_PATH`) |
|
|
159
|
+
| **Kimi Code** | ✅ 自動 | パッシブな `wire.jsonl` リーダー (`~/.kimi/sessions/**/wire.jsonl`) |
|
|
160
|
+
| **oh-my-pi (Pi Coding Agent)** | ✅ 自動 | パッシブリーダー (`~/.omp/agent/sessions/**/*.jsonl`) |
|
|
161
|
+
| **CodeBuddy** (Tencent) | ✅ 自動 | `~/.codebuddy/settings.json` 内の SessionEnd hook(Claude-Code fork) |
|
|
162
|
+
| **Grok Build** (xAI) | ✅ 自動 | SessionEnd hook + パッシブな `updates.jsonl` / `signals.json` スキャン (`~/.grok/sessions/**/`) |
|
|
163
|
+
| **Kilo CLI** (kilo.ai) | ✅ 自動 | パッシブな SQLite リーダー (`~/.local/share/kilo/kilo.db`、OpenCode-fork スキーマ) |
|
|
164
|
+
| **Kilo Code** (VS Code 拡張) | ✅ 自動 | パッシブな `ui_messages.json` リーダー (Cursor/Code/CodeBuddy/Windsurf の globalStorage) |
|
|
165
|
+
| **Antigravity** | ✅ 自動 | パッシブなトランスクリプトリーダー (`~/.gemini/{antigravity,antigravity-ide,antigravity-cli}/brain/**/transcript.jsonl`) |
|
|
166
|
+
| **pi** (`@mariozechner/pi-coding-agent`) | ✅ 自動 | パッシブリーダー (`~/.pi/agent/sessions/**/*.jsonl`) |
|
|
167
|
+
| **Craft Agents** | ✅ 自動 | パッシブなセッションリーダー (`~/.craft-agent` + workspace session logs) |
|
|
168
|
+
| **Roo Code** (VS Code 拡張) | ✅ 自動 | パッシブな `ui_messages.json` リーダー (`rooveterinaryinc.roo-cline`) |
|
|
169
|
+
| **Zed Agent** | ✅ 自動 | パッシブな SQLite リーダー (`threads.db`、hosted `zed.dev` models only) |
|
|
170
|
+
| **Goose** (Block) | ✅ 自動 | パッシブな SQLite リーダー (`sessions.db`、cumulative deltas) |
|
|
171
|
+
|
|
172
|
+
> **プラグインや hook を手動でインストールする必要はありますか?** いいえ。`tokentracker`(または `tokentracker init`)が初回実行ですべて処理します:
|
|
173
|
+
> - **Hook ベース**のツール (Claude Code、Codex、Gemini、Every Code、**CodeBuddy**、**Grok Build**) — ツール自身の設定に SessionEnd hook または TOML notify エントリーを書き込みます。
|
|
174
|
+
> - **プラグインベース**のツール (OpenCode、**OpenClaw**) — プラグインは npm パッケージ内に同梱されています (`~/.tokentracker/app/openclaw-plugin/`)。ツール自身の CLI でリンクします (`openclaw plugins install --link …` + `enable`)。ダウンロードもドラッグ&ドロップも不要です。
|
|
175
|
+
> - **パッシブリーダー** (Cursor、Kiro、Hermes、Kimi Code、Copilot、**Grok Build**、**oh-my-pi**、**pi**、**Craft Agents**、**Kilo CLI**、**Kilo Code**、**Roo Code**、**Antigravity**、**Zed Agent**、**Goose**) — これらのツールには何もインストールしません。ツールがすでに出力しているファイル (SQLite DB、JSONL、OTEL エクスポート、session logs) を読むだけです。
|
|
176
|
+
> - **Grok Build の推定** — 現在のローカルテレメトリは `updates.jsonl` の累積 `totalTokens` を公開していますが、安定したプロンプト/出力/キャッシュの内訳はありません。`signals.json` は `contextTokensUsed` のスナップショットを使ったフォールバックとして残っています。コールごとの利用詳細が利用可能になるまで、TokenTracker は Grok のコストを推定します。
|
|
177
|
+
>
|
|
178
|
+
> いつでも `tokentracker status` を実行すれば、各統合の状態を確認できます。`skipped` と表示されている場合、`detail` 列にその理由が示されます(例: ツール CLI が `PATH` にない、設定が読めない)。
|
|
179
|
+
>
|
|
180
|
+
> もっと深く知りたい方へ: [OpenClaw 統合とトラブルシューティング](docs/openclaw-integration.md)。
|
|
181
|
+
|
|
182
|
+
お使いのツールが見当たらない? [Issue を立ててください](https://github.com/mm7894215/TokenTracker/issues/new) — 新しいプロバイダーの追加は、たいていパーサーファイル 1 つで済みます。
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 🆚 なぜ TokenTracker?
|
|
187
|
+
|
|
188
|
+
| | **TokenTracker** | ccusage | Cursor stats |
|
|
189
|
+
|--------------------------|:---:|:---:|:---:|
|
|
190
|
+
| **対応 AI ツール数** | **22** | 1 (Claude) | 1 (Cursor) |
|
|
191
|
+
| **ローカルファースト、アカウント不要** | ✅ | ✅ | ❌ |
|
|
192
|
+
| **ネイティブメニューバーアプリ** | ✅ | ❌ | ❌ |
|
|
193
|
+
| **デスクトップウィジェット** | ✅ 4 種類 | ❌ | ❌ |
|
|
194
|
+
| **レート制限トラッキング** | ✅ 7 プロバイダー | ❌ | Cursor のみ |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 🏗️ 仕組み
|
|
199
|
+
|
|
200
|
+
```mermaid
|
|
201
|
+
flowchart LR
|
|
202
|
+
A["AI CLI Tools<br/>Claude · Codex · Cursor · Gemini · Kiro<br/>OpenCode · OpenClaw · Every Code · Hermes · Copilot · Kimi Code · CodeBuddy · Grok Build · oh-my-pi · pi · Craft · Roo Code · Zed · Goose"]
|
|
203
|
+
A -->|hooks trigger| B[Token Tracker]
|
|
204
|
+
B -->|parse logs<br/>30-min UTC buckets| C[(Local SQLite)]
|
|
205
|
+
C --> D[Web Dashboard]
|
|
206
|
+
C --> E[Menu Bar App]
|
|
207
|
+
C --> F[Desktop Widgets]
|
|
208
|
+
C -.->|opt-in| G[(Cloud Leaderboard)]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
1. AI CLI ツールが通常利用中にログを生成
|
|
212
|
+
2. 軽量な hook が変更を検出して同期をトリガー(Cursor は hook ではなく API を使用)
|
|
213
|
+
3. トークン数はローカルで解析 — プロンプトやレスポンスの内容には一切触れない
|
|
214
|
+
4. UTC の 30 分単位バケットに集計
|
|
215
|
+
5. ダッシュボード、メニューバーアプリ、ウィジェットはすべて同じローカルスナップショットから読み取る
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 🛡️ プライバシー
|
|
220
|
+
|
|
221
|
+
| 保護 | 説明 |
|
|
222
|
+
|---|---|
|
|
223
|
+
| **コンテンツをアップロードしない** | トークン数とタイムスタンプのみ。プロンプト、レスポンス、ファイル内容は扱いません。 |
|
|
224
|
+
| **デフォルトでローカル限定** | すべてのデータはマシン上に留まります。リーダーボードは完全にオプトインです。 |
|
|
225
|
+
| **監査可能** | オープンソース。[`src/lib/rollout.js`](src/lib/rollout.js) を読んでください — 数字とタイムスタンプだけです。 |
|
|
226
|
+
| **テレメトリなし** | 分析もクラッシュレポートもフォンホームもありません。 |
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 📦 設定
|
|
231
|
+
|
|
232
|
+
ほとんどのユーザーは触る必要がありません — デフォルトで十分に機能します。高度な設定向け:
|
|
233
|
+
|
|
234
|
+
| 変数 | 説明 | デフォルト |
|
|
235
|
+
|---|---|---|
|
|
236
|
+
| `TOKENTRACKER_DEBUG` | デバッグ出力を有効化(`1` で有効) | — |
|
|
237
|
+
| `TOKENTRACKER_HTTP_TIMEOUT_MS` | HTTP タイムアウト(ミリ秒) | `20000` |
|
|
238
|
+
| `CODEX_HOME` | Codex CLI ディレクトリの上書き | `~/.codex` |
|
|
239
|
+
| `GEMINI_HOME` | Gemini CLI ディレクトリの上書き | `~/.gemini` |
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 🛠️ 開発
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
git clone https://github.com/mm7894215/TokenTracker.git
|
|
247
|
+
cd TokenTracker
|
|
248
|
+
npm install
|
|
249
|
+
|
|
250
|
+
# ダッシュボードをビルドして CLI を実行
|
|
251
|
+
cd dashboard && npm install && npm run build && cd ..
|
|
252
|
+
node bin/tracker.js
|
|
253
|
+
|
|
254
|
+
# テスト
|
|
255
|
+
npm test
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### macOS アプリのビルド
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
cd TokenTrackerBar
|
|
262
|
+
npm run dashboard:build # ダッシュボードバンドルをビルド
|
|
263
|
+
./scripts/bundle-node.sh # Node.js + tokentracker ソースをバンドル
|
|
264
|
+
xcodegen generate # Xcode プロジェクトを生成
|
|
265
|
+
ruby scripts/patch-pbxproj-icon.rb # Icon Composer アセットをパッチ適用
|
|
266
|
+
xcodebuild -scheme TokenTrackerBar -configuration Release clean build
|
|
267
|
+
./scripts/create-dmg.sh # .app を DMG にパッケージ化
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Xcode 16+** と [XcodeGen](https://github.com/yonaskolb/XcodeGen) が必要です。
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## 🔧 トラブルシューティング
|
|
275
|
+
|
|
276
|
+
### CLI
|
|
277
|
+
|
|
278
|
+
<details>
|
|
279
|
+
<summary><b>「engines.node」または非対応バージョンのエラー</b></summary>
|
|
280
|
+
|
|
281
|
+
<br/>
|
|
282
|
+
|
|
283
|
+
TokenTracker は **Node 20+** を必要とします。バージョンを確認:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
node --version
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
低い場合は [nvm](https://github.com/nvm-sh/nvm)、[fnm](https://github.com/Schniz/fnm)、またはパッケージマネージャー (`brew upgrade node`、`apt install nodejs`) でアップグレードしてください。
|
|
290
|
+
|
|
291
|
+
</details>
|
|
292
|
+
|
|
293
|
+
<details>
|
|
294
|
+
<summary><b>ポート 7680 がすでに使用中</b></summary>
|
|
295
|
+
|
|
296
|
+
<br/>
|
|
297
|
+
|
|
298
|
+
ダッシュボードサーバーは `7680` が使われている場合、自動的に次の空きポート (`7681`、`7682`、…) を選びます。実際に使われているポートは起動時にログ出力されます。特定のポートを強制したい場合:
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
PORT=7700 tokentracker serve
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
`7680` を掴んでいるプロセスを探すには:
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
lsof -i :7680
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
</details>
|
|
311
|
+
|
|
312
|
+
<details>
|
|
313
|
+
<summary><b>プロバイダーが検出されない</b></summary>
|
|
314
|
+
|
|
315
|
+
<br/>
|
|
316
|
+
|
|
317
|
+
統合の状態を確認:
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
tokentracker status
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
次に doctor でより深いヘルスチェックを実行:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
tokentracker doctor
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
使っているはずなのに未設定と表示されるプロバイダーがある場合、`tokentracker activate-if-needed` で hook 検出を再実行してみてください。それでも見つからない場合は、`doctor` の出力を添えて [Issue を立ててください](https://github.com/mm7894215/TokenTracker/issues/new)。
|
|
330
|
+
|
|
331
|
+
</details>
|
|
332
|
+
|
|
333
|
+
<details>
|
|
334
|
+
<summary><b>hook をアンインストールして設定をすべて削除する方法</b></summary>
|
|
335
|
+
|
|
336
|
+
<br/>
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
tokentracker uninstall
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
これにより、検出されたすべての AI ツールに対して TokenTracker がインストールした hook を削除し、ローカルの設定とデータも消します。再実行しても安全です。
|
|
343
|
+
|
|
344
|
+
</details>
|
|
345
|
+
|
|
346
|
+
### macOS アプリ
|
|
347
|
+
|
|
348
|
+
<details>
|
|
349
|
+
<summary><b>「TokenTrackerBar を開けません」 — 未確認の開発元</b></summary>
|
|
350
|
+
|
|
351
|
+
<br/>
|
|
352
|
+
|
|
353
|
+
TokenTrackerBar は **アドホック署名**されています(Apple Developer ID による公証は行っていません — それには有料の Developer アカウントが必要です)。Gatekeeper が初回起動時にブロックします。
|
|
354
|
+
|
|
355
|
+
1. **システム設定 → プライバシーとセキュリティ**を開く
|
|
356
|
+
2. **セキュリティ** セクションまでスクロール — *「TokenTrackerBar は Mac を保護するためブロックされました。」* が表示されます
|
|
357
|
+
3. **このまま開く** をクリック
|
|
358
|
+
4. 続けて出るダイアログで **開く** を選んで確定(認証が必要です)
|
|
359
|
+
|
|
360
|
+
一度行えば OK です。古い macOS でのやり方: Finder でアプリを右クリック → **開く** → 確認ダイアログで **開く**。
|
|
361
|
+
|
|
362
|
+
</details>
|
|
363
|
+
|
|
364
|
+
<details>
|
|
365
|
+
<summary><b>「TokenTrackerBar は壊れているため開けません」</b></summary>
|
|
366
|
+
|
|
367
|
+
<br/>
|
|
368
|
+
|
|
369
|
+
これは macOS がダウンロードファイルに付与する `com.apple.quarantine` 属性に Gatekeeper が反応しているだけで、実際の問題ではありません。次のコマンドで一度クリアしてください:
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
xattr -cr /Applications/TokenTrackerBar.app
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
これでアプリは普通に開けます。
|
|
376
|
+
|
|
377
|
+
</details>
|
|
378
|
+
|
|
379
|
+
<details>
|
|
380
|
+
<summary><b>「TokenTrackerBar が他のアプリのデータにアクセスしようとしています」</b></summary>
|
|
381
|
+
|
|
382
|
+
<br/>
|
|
383
|
+
|
|
384
|
+
これは **Cursor** と **Kiro** 統合に必要です。これらは認証トークンや利用データを `~/Library/Application Support/` 配下の自分のフォルダーに保存しており、macOS は App Management 権限で保護しています。
|
|
385
|
+
|
|
386
|
+
- ✅ Cursor または Kiro を使っているなら **許可** をクリック
|
|
387
|
+
- ❌ 使っていないなら **許可しない** をクリック — それらのプロバイダーは黙ってスキップされ、それ以外はすべて動き続けます
|
|
388
|
+
|
|
389
|
+
一度許可すれば、その権限は記憶されます。アドホック署名のビルドは、アップグレードごとに署名アイデンティティが変わるため、再度プロンプトが出る点に注意してください。
|
|
390
|
+
|
|
391
|
+
</details>
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## 🪪 README バッジ
|
|
396
|
+
|
|
397
|
+
GitHub プロフィールやプロジェクトの README で自分のトークン使用量をアピールしましょう。
|
|
398
|
+
|
|
399
|
+
`YOUR_USER_ID` の取得方法:
|
|
400
|
+
1. `tokentracker` を実行してダッシュボードを開き、リーダーボードにサインインします。
|
|
401
|
+
2. **Settings → Account** に移動します。
|
|
402
|
+
3. そこに表示される **User ID** を使います。headless / SSH 環境では、`tokentracker device-login` も同じ `user_id` を `~/.tokentracker/tracker/config.json` に書き込みます。
|
|
403
|
+
|
|
404
|
+
以下のどれかを貼り付けてください:
|
|
405
|
+
|
|
406
|
+
```markdown
|
|
407
|
+

|
|
408
|
+

|
|
409
|
+

|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
現在の合計を反映した shields.io 互換バッジが描画されます(60 秒キャッシュ):
|
|
413
|
+
|
|
414
|
+
| パラメータ | 値 | デフォルト |
|
|
415
|
+
|---|---|---|
|
|
416
|
+
| `metric` | `tokens` / `cost` / `rank` | `tokens` |
|
|
417
|
+
| `period` | `week` / `month` / `total` | `total` |
|
|
418
|
+
| `style` | `flat` / `flat-square` | `flat` |
|
|
419
|
+
| `label` | 任意の短い文字列 | metric 名 |
|
|
420
|
+
| `color` | hex(例: `ff6b35`) | ブランドグリーン |
|
|
421
|
+
|
|
422
|
+
> **プライバシー**: バッジはリーダーボード共有が **オン** (`Settings → Account → Public profile`) のプロフィールに対してのみ解決されます。非公開プロフィールには「private」プレースホルダーが返ります。
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## ⭐ Star History
|
|
427
|
+
|
|
428
|
+
<a href="https://star-history.com/#mm7894215/TokenTracker&Date">
|
|
429
|
+
<img src="https://api.star-history.com/svg?repos=mm7894215/TokenTracker&type=Date" alt="Star History Chart" width="600" />
|
|
430
|
+
</a>
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## 🤝 コントリビューション & サポート
|
|
435
|
+
|
|
436
|
+
- **バグ / 機能リクエスト**: [Issue を立てる](https://github.com/mm7894215/TokenTracker/issues/new)
|
|
437
|
+
- **セキュリティ**: [SECURITY.md](SECURITY.md) を参照 — セキュリティ報告は公開 Issue として立てないでください
|
|
438
|
+
- **プルリクエスト**: セットアップ、テスト、新しい AI ツール統合の追加方法は [CONTRIBUTING.md](CONTRIBUTING.md) を参照
|
|
439
|
+
- **質問 / ショーケース**: [GitHub Discussions](https://github.com/mm7894215/TokenTracker/discussions)
|
|
440
|
+
|
|
441
|
+
## 🙏 クレジット
|
|
442
|
+
|
|
443
|
+
Clawd キャラクターのデザインは Anthropic に帰属します。本プロジェクトはコミュニティ主導のものであり、Anthropic との公式な提携関係はありません。
|
|
444
|
+
|
|
445
|
+
## ライセンス
|
|
446
|
+
|
|
447
|
+
[MIT](LICENSE)
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
<div align="center">
|
|
452
|
+
|
|
453
|
+
**Token Tracker** — あなたの AI アウトプットを定量化する。
|
|
454
|
+
|
|
455
|
+
<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>
|
|
456
|
+
|
|
457
|
+
</div>
|