{"id":47628844,"url":"https://github.com/mm7894215/tokentracker","last_synced_at":"2026-06-13T03:10:59.711Z","repository":{"id":349351784,"uuid":"1201960789","full_name":"mm7894215/TokenTracker","owner":"mm7894215","description":"Track token usage across 22 AI coding tools (Claude Code, Codex, Cursor, Gemini, Roo Code, Zed Agent, Goose, and more) — local-first, zero-config, with a beautiful dashboard, native macOS menu bar app, and 4 desktop widgets.","archived":false,"fork":false,"pushed_at":"2026-06-10T05:33:52.000Z","size":22744,"stargazers_count":676,"open_issues_count":9,"forks_count":71,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-10T07:25:49.970Z","etag":null,"topics":["ai","ai-agent","ai-tools","antigravity","claude-code","cli","codex-cli","cost-tracker","cursor","dashboard","developer-tools","gemini-cli","llm","local-first","macos","nodejs","npm-package","observability","privacy-first","token-tracker"],"latest_commit_sha":null,"homepage":"https://www.tokentracker.cc","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mm7894215.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-05T12:02:23.000Z","updated_at":"2026-06-10T06:27:58.000Z","dependencies_parsed_at":"2026-04-11T08:01:23.009Z","dependency_job_id":null,"html_url":"https://github.com/mm7894215/TokenTracker","commit_stats":null,"previous_names":["mm7894215/tokentracker"],"tags_count":189,"template":false,"template_full_name":null,"purl":"pkg:github/mm7894215/TokenTracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mm7894215","download_url":"https://codeload.github.com/mm7894215/TokenTracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mm7894215%2FTokenTracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34270483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agent","ai-tools","antigravity","claude-code","cli","codex-cli","cost-tracker","cursor","dashboard","developer-tools","gemini-cli","llm","local-first","macos","nodejs","npm-package","observability","privacy-first","token-tracker"],"created_at":"2026-04-01T23:04:02.688Z","updated_at":"2026-06-13T03:10:59.699Z","avatar_url":"https://github.com/mm7894215.png","language":"JavaScript","funding_links":["https://ko-fi.com/M4M11XSNWD"],"categories":[],"sub_categories":[],"readme":" \u003cdiv align=\"center\"\u003e\n\n# Token Tracker\n\n[English](./README.md) · [简体中文](./README.zh-CN.md) · **日本語** · [한국어](./README.ko.md)\n\n### AI に使ったコストを正確に把握 — すべての CLI を横断して\n\n**22 種類の AI コーディングツール**からトークン数を自動収集し、ローカルで集計、美しいダッシュボードで本当のコスト推移を可視化します。クラウドアカウント不要、API キー不要、セットアップ不要 — コマンド 1 つで完了です。\n\n[![npm version](https://img.shields.io/npm/v/tokentracker-cli.svg?color=blue)](https://www.npmjs.com/package/tokentracker-cli)\n[![npm downloads](https://img.shields.io/npm/dm/tokentracker-cli.svg?color=brightgreen)](https://www.npmjs.com/package/tokentracker-cli)\n[![Homebrew](https://img.shields.io/github/v/release/mm7894215/TokenTracker?label=brew\u0026color=F8B73E\u0026logo=homebrew\u0026logoColor=white)](https://github.com/mm7894215/homebrew-tokentracker)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![Platform](https://img.shields.io/badge/macOS-supported-lightgrey.svg)](https://www.apple.com/macos/)\n[![GitHub stars](https://img.shields.io/github/stars/mm7894215/TokenTracker?style=social)](https://github.com/mm7894215/TokenTracker/stargazers)\n[![Featured in 阮一峰周刊 #393](https://img.shields.io/badge/Featured%20in-%E9%98%AE%E4%B8%80%E5%B3%B0%E5%91%A8%E5%88%8A%20%23393-FF6B35?logo=rss\u0026logoColor=white)](https://github.com/ruanyf/weekly/blob/master/docs/issue-393.md)\n[![Author tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=0652839f-d19f-4f67-af85-6b7675875443\u0026metric=tokens\u0026compact=1\u0026label=author%20tokens)](https://github.com/mm7894215/TokenTracker)\n\n\u003cbr/\u003e\n\n\u003cvideo src=\"https://github.com/user-attachments/assets/5e709422-5af8-4e4c-8109-f5bb711eb3f8\" controls muted playsinline poster=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-dark.png\" width=\"820\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-dark.png\" alt=\"Token Tracker Dashboard\" width=\"820\" /\u003e\n\u003c/video\u003e\n\n\u003cvideo src=\"https://github.com/user-attachments/assets/3275979d-bbed-4639-83e2-8b7d83bed6af\" controls muted playsinline poster=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-light.png\" width=\"820\"\u003e\u003c/video\u003e\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n⭐ **TokenTracker が時間の節約に役立ったら、ぜひ [GitHub でスターを付けてください](https://github.com/mm7894215/TokenTracker) — 他の開発者が見つけやすくなります。**\n\n\u003cbr/\u003e\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M11XSNWD)\n\n\u003c/div\u003e\n\n---\n\n## ⚡ クイックスタート\n\n\u003e **動作要件**: Node.js **20+**（CLI は macOS / Linux / Windows で動作します。ネイティブデスクトップアプリは macOS（メニューバー）と Windows（システムトレイ）の両方を提供します。Cursor のトークン読み取りは、利用可能であればシステムの `sqlite3` CLI を使用し、対応する Node リリースでは `node:sqlite` にフォールバックします）。\n\n```bash\nnpx tokentracker-cli\n```\n\nこれだけです。初回実行で hook をインストールし、データを同期して、`http://localhost:7680` でダッシュボードを開きます。\n\n**30 秒で手に入るもの:**\n- 📊 `localhost:7680` のローカルダッシュボードで、使用トレンド、モデル別内訳、コスト分析が見える\n- 🔌 インストール済みの対応 AI ツールすべてに対する hook を自動検出\n- 🏠 100% ローカル — アカウント不要、API キー不要、ネットワーク通信なし（オプションのリーダーボードを除く）\n- 🧩 *オプション:* 250+ の公開 Skill を閲覧して Claude · Codex · Gemini · OpenCode · Hermes 間で同期できる Skills タブ\n\n\u003e **ネイティブのデスクトップアプリが欲しい?**\n\u003e - **macOS** — [`TokenTrackerBar.dmg` をダウンロード](https://github.com/mm7894215/TokenTracker/releases/latest/download/TokenTrackerBar.dmg) → Applications にドラッグ。デスクトップウィジェット、メニューバーのステータスアイコン、WKWebView 上の同じダッシュボードを含みます。\n\u003e - **Windows** — [`TokenTracker-Setup.exe` をダウンロード](https://github.com/mm7894215/TokenTracker/releases/latest/download/TokenTracker-Setup.exe) → 管理者権限不要のユーザー単位インストーラーを実行。WebView2 上にダッシュボードを表示するシステムトレイアプリです。ポータブル版 zip は[リリースページ](https://github.com/mm7894215/TokenTracker/releases/latest)にあります。\n\n短いコマンドで使うためグローバルインストール:\n\n```bash\nnpm i -g tokentracker-cli\n\ntokentracker              # ダッシュボードを開く\ntokentracker sync         # 手動同期\ntokentracker status       # hook の状態を確認\ntokentracker doctor       # ヘルスチェック\n```\n\n### 🍺 Homebrew (macOS)\n\n`brew` 派なら、追加の tap 操作なしで直接インストールできます:\n\n```bash\n# macOS メニューバーアプリ (DMG)\nbrew install --cask mm7894215/tokentracker/tokentracker\n\n# CLI のみ\nbrew install mm7894215/tokentracker/tokentracker\n```\n\nアップグレードは `brew upgrade --cask mm7894215/tokentracker/tokentracker`。tap は新リリースから 1 時間以内に自動更新されます。\n\n---\n\n\n## ✨ 機能\n\n- 🔌 **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\n- 🏠 **100% ローカル** — トークンデータがマシンから外に出ることはありません。アカウント不要、API キー不要。\n- 🚀 **ゼロコンフィグ** — Hook は初回実行で自動インストール。0 からダッシュボードまで 30 秒。\n- 📊 **美しいダッシュボード** — 使用トレンド、モデル別コスト内訳、GitHub スタイルのアクティビティヒートマップ、プロジェクト別の帰属表示\n- 🖥️ **ネイティブデスクトップアプリ** — macOS メニューバー（ウィジェット付き）と Windows システムトレイ。それぞれ組み込みサーバーとネイティブ WebView のダッシュボードを備えます\n- 🎨 **4 種類のデスクトップウィジェット** — Pin Usage / Activity Heatmap / Top Models / Usage Limits をデスクトップに固定\n- 📈 **リアルタイムのレート制限トラッキング** — Claude / Codex / Cursor / Gemini / Kiro / Copilot / Antigravity のクォータウィンドウとリセットまでのカウントダウン\n- 💰 **コストエンジン** — [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 と表示されます。\n- 🌐 **オプションのリーダーボード** — 世界中の開発者と比較。ドラッグで列を並び替えて、気になるプロバイダーに絞り込めます（オプトイン制、参加にはサインインが必要）\n- 🔄 **デバイス横断アカウントビュー** — クラウド同期をオンにすると、利用しているすべてのマシン（ノート + デスクトップ + サーバー）の使用量を 1 つのビューに統合 — 合計・トレンド・ヒートマップ・モデル内訳をすべてデバイス横断で集計（オプトイン制、サインインが必要。デフォルトのローカルのみの体験は高速かつオフラインのまま）\n- 🧩 **オプションの Skills タブ** — `anthropics/skills`、`ComposioHQ/awesome-claude-skills`、`skills.sh`、そして自分で追加した任意の GitHub リポジトリから 250+ の公開 Skill をブラウズ。Claude / Codex / Gemini / OpenCode / Hermes にターゲット名を付けて同期し、ワンクリックで Undo\n- 🔒 **プライバシー最優先** — トークン数とタイムスタンプのみ。プロンプト、レスポンス、ファイル内容を扱うことは一切ありません。\n\n---\n\n## 🖼️ ショーケース\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**ダッシュボード** — 使用トレンド、モデル別内訳、コスト分析\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/dashboard-light.png\" alt=\"Dashboard\" /\u003e\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**デスクトップウィジェット** — 使用状況をデスクトップに固定\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/widgets-overview.png\" alt=\"Desktop Widgets\" /\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**メニューバーアプリ** — アニメーション付きの Clawd コンパニオン + ネイティブパネル\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/menubar.gif\" alt=\"Menu Bar App\" /\u003e\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**グローバルリーダーボード** — 世界中の開発者と比較\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/leaderboard.png\" alt=\"Leaderboard\" /\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"2\"\u003e\n\n**Skills Manager** — GitHub と `skills.sh` から 250+ の公開 Skill をブラウズし、一度インストールするだけで Claude / Codex / Gemini / OpenCode / Hermes に同期。ターゲットごとのトグル、ワンクリック Undo、ファイルの手動コピー不要。\n\n\u003cimg src=\"https://raw.githubusercontent.com/mm7894215/tokentracker/main/docs/screenshots/skills.png\" alt=\"Skills Manager\" /\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🔌 対応 AI ツール\n\n| ツール | 検出 | 方式 |\n|---|---|---|\n| **Claude Code** | ✅ 自動 | `settings.json` 内の SessionEnd hook |\n| **Codex CLI** | ✅ 自動 | `config.toml` 内の TOML notify hook |\n| **Cursor** | ✅ 自動 | API + SQLite の認証トークン |\n| **Kiro** | ✅ 自動 | SQLite + JSONL のハイブリッド |\n| **Gemini CLI** | ✅ 自動 | SessionEnd hook |\n| **OpenCode** | ✅ 自動 | プラグインシステム + SQLite |\n| **OpenClaw** | ✅ 自動 | セッションプラグイン |\n| **Every Code** | ✅ 自動 | TOML notify hook |\n| **Hermes Agent** | ✅ 自動 | SQLite の sessions テーブル (`~/.hermes/state.db`) |\n| **GitHub Copilot** | ✅ 自動 | OpenTelemetry のファイルエクスポーター (`COPILOT_OTEL_FILE_EXPORTER_PATH`) |\n| **Kimi Code** | ✅ 自動 | パッシブな `wire.jsonl` リーダー (`~/.kimi/sessions/**/wire.jsonl`) |\n| **oh-my-pi (Pi Coding Agent)** | ✅ 自動 | パッシブリーダー (`~/.omp/agent/sessions/**/*.jsonl`) |\n| **CodeBuddy** (Tencent) | ✅ 自動 | `~/.codebuddy/settings.json` 内の SessionEnd hook（Claude-Code fork） |\n| **Grok Build** (xAI) | ✅ 自動 | SessionEnd hook + パッシブな `updates.jsonl` / `signals.json` スキャン (`~/.grok/sessions/**/`) |\n| **Kilo CLI** (kilo.ai) | ✅ 自動 | パッシブな SQLite リーダー (`~/.local/share/kilo/kilo.db`、OpenCode-fork スキーマ) |\n| **Kilo Code** (VS Code 拡張) | ✅ 自動 | パッシブな `ui_messages.json` リーダー (Cursor/Code/CodeBuddy/Windsurf の globalStorage) |\n| **Antigravity** | ✅ 自動 | パッシブなトランスクリプトリーダー (`~/.gemini/{antigravity,antigravity-ide,antigravity-cli}/brain/**/transcript.jsonl`) |\n| **pi** (`@mariozechner/pi-coding-agent`) | ✅ 自動 | パッシブリーダー (`~/.pi/agent/sessions/**/*.jsonl`) |\n| **Craft Agents** | ✅ 自動 | パッシブなセッションリーダー (`~/.craft-agent` + workspace session logs) |\n| **Roo Code** (VS Code 拡張) | ✅ 自動 | パッシブな `ui_messages.json` リーダー (`rooveterinaryinc.roo-cline`) |\n| **Zed Agent** | ✅ 自動 | パッシブな SQLite リーダー (`threads.db`、hosted `zed.dev` models only) |\n| **Goose** (Block) | ✅ 自動 | パッシブな SQLite リーダー (`sessions.db`、cumulative deltas) |\n\n\u003e **プラグインや hook を手動でインストールする必要はありますか?** いいえ。`tokentracker`（または `tokentracker init`）が初回実行ですべて処理します:\n\u003e - **Hook ベース**のツール (Claude Code、Codex、Gemini、Every Code、**CodeBuddy**、**Grok Build**) — ツール自身の設定に SessionEnd hook または TOML notify エントリーを書き込みます。\n\u003e - **プラグインベース**のツール (OpenCode、**OpenClaw**) — プラグインは npm パッケージ内に同梱されています (`~/.tokentracker/app/openclaw-plugin/`)。ツール自身の CLI でリンクします (`openclaw plugins install --link …` + `enable`)。ダウンロードもドラッグ＆ドロップも不要です。\n\u003e - **パッシブリーダー** (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) を読むだけです。\n\u003e - **Grok Build の推定** — 現在のローカルテレメトリは `updates.jsonl` の累積 `totalTokens` を公開していますが、安定したプロンプト/出力/キャッシュの内訳はありません。`signals.json` は `contextTokensUsed` のスナップショットを使ったフォールバックとして残っています。コールごとの利用詳細が利用可能になるまで、TokenTracker は Grok のコストを推定します。\n\u003e\n\u003e いつでも `tokentracker status` を実行すれば、各統合の状態を確認できます。`skipped` と表示されている場合、`detail` 列にその理由が示されます（例: ツール CLI が `PATH` にない、設定が読めない）。\n\u003e\n\u003e もっと深く知りたい方へ: [OpenClaw 統合とトラブルシューティング](docs/openclaw-integration.md)。\n\nお使いのツールが見当たらない? [Issue を立ててください](https://github.com/mm7894215/TokenTracker/issues/new) — 新しいプロバイダーの追加は、たいていパーサーファイル 1 つで済みます。\n\n---\n\n## 🆚 なぜ TokenTracker?\n\n|                          | **TokenTracker** | ccusage     | Cursor stats |\n|--------------------------|:---:|:---:|:---:|\n| **対応 AI ツール数**     | **22**           | 1 (Claude)  | 1 (Cursor)   |\n| **ローカルファースト、アカウント不要** | ✅            | ✅           | ❌            |\n| **ネイティブデスクトップアプリ** | ✅ macOS + Windows | ❌          | ❌            |\n| **デスクトップウィジェット** | ✅ 4 種類      | ❌           | ❌            |\n| **レート制限トラッキング** | ✅ 7 プロバイダー    | ❌           | Cursor のみ  |\n\n---\n\n## 🏗️ 仕組み\n\n```mermaid\nflowchart LR\n    A[\"AI CLI Tools\u003cbr/\u003eClaude Code · Codex · Cursor · Gemini · Kiro\u003cbr/\u003eOpenCode · OpenClaw · Every Code · Hermes · Copilot\u003cbr/\u003eKimi Code · CodeBuddy · Grok Build · Kilo CLI · Kilo Code · \u003cbr/\u003eAntigravity · oh-my-pi · pi · Craft Agents · Roo Code · Zed · Goose\"]\n    A --\u003e|hooks trigger| B[Token Tracker]\n    B --\u003e|parse logs\u003cbr/\u003e30-min UTC buckets| C[(Local SQLite)]\n    C --\u003e D[Web Dashboard]\n    C --\u003e E[Menu Bar App]\n    C --\u003e F[Desktop Widgets]\n    C -.-\u003e|opt-in| G[(Cloud Leaderboard)]\n```\n\n1. AI CLI ツールが通常利用中にログを生成\n2. 軽量な hook が変更を検出して同期をトリガー（Cursor は hook ではなく API を使用）\n3. トークン数はローカルで解析 — プロンプトやレスポンスの内容には一切触れない\n4. UTC の 30 分単位バケットに集計\n5. ダッシュボード、メニューバーアプリ、ウィジェットはすべて同じローカルスナップショットから読み取る\n\n---\n\n## 🛡️ プライバシー\n\n| 保護 | 説明 |\n|---|---|\n| **コンテンツをアップロードしない** | トークン数とタイムスタンプのみ。プロンプト、レスポンス、ファイル内容は扱いません。 |\n| **デフォルトでローカル限定** | すべてのデータはマシン上に留まります。リーダーボードは完全にオプトインです。 |\n| **監査可能** | オープンソース。[`src/lib/rollout.js`](src/lib/rollout.js) を読んでください — 数字とタイムスタンプだけです。 |\n| **テレメトリなし** | 分析もクラッシュレポートもフォンホームもありません。 |\n\n---\n\n## 📦 設定\n\nほとんどのユーザーは触る必要がありません — デフォルトで十分に機能します。高度な設定向け:\n\n| 変数 | 説明 | デフォルト |\n|---|---|---|\n| `TOKENTRACKER_DEBUG` | デバッグ出力を有効化（`1` で有効） | — |\n| `TOKENTRACKER_HTTP_TIMEOUT_MS` | HTTP タイムアウト（ミリ秒） | `20000` |\n| `CODEX_HOME` | Codex CLI ディレクトリの上書き | `~/.codex` |\n| `GEMINI_HOME` | Gemini CLI ディレクトリの上書き | `~/.gemini` |\n\n---\n\n## 🛠️ 開発\n\n```bash\ngit clone https://github.com/mm7894215/TokenTracker.git\ncd TokenTracker\nnpm install\n\n# ダッシュボードをビルドして CLI を実行\ncd dashboard \u0026\u0026 npm install \u0026\u0026 npm run build \u0026\u0026 cd ..\nnode bin/tracker.js\n\n# テスト\nnpm test\n```\n\n### macOS アプリのビルド\n\n```bash\ncd TokenTrackerBar\nnpm run dashboard:build              # ダッシュボードバンドルをビルド\n./scripts/bundle-node.sh             # Node.js + tokentracker ソースをバンドル\nxcodegen generate                    # Xcode プロジェクトを生成\nruby scripts/patch-pbxproj-icon.rb   # Icon Composer アセットをパッチ適用\nxcodebuild -scheme TokenTrackerBar -configuration Release clean build\n./scripts/create-dmg.sh              # .app を DMG にパッケージ化\n```\n\n**Xcode 16+** と [XcodeGen](https://github.com/yonaskolb/XcodeGen) が必要です。\n\n---\n\n## 🔧 トラブルシューティング\n\n### CLI\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e「engines.node」または非対応バージョンのエラー\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nTokenTracker は **Node 20+** を必要とします。バージョンを確認:\n\n```bash\nnode --version\n```\n\n低い場合は [nvm](https://github.com/nvm-sh/nvm)、[fnm](https://github.com/Schniz/fnm)、またはパッケージマネージャー (`brew upgrade node`、`apt install nodejs`) でアップグレードしてください。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eポート 7680 がすでに使用中\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nダッシュボードサーバーは `7680` が使われている場合、自動的に次の空きポート (`7681`、`7682`、…) を選びます。実際に使われているポートは起動時にログ出力されます。特定のポートを強制したい場合:\n\n```bash\nPORT=7700 tokentracker serve\n```\n\n`7680` を掴んでいるプロセスを探すには:\n\n```bash\nlsof -i :7680\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eプロバイダーが検出されない\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n統合の状態を確認:\n\n```bash\ntokentracker status\n```\n\n次に doctor でより深いヘルスチェックを実行:\n\n```bash\ntokentracker doctor\n```\n\n使っているはずなのに未設定と表示されるプロバイダーがある場合、`tokentracker activate-if-needed` で hook 検出を再実行してみてください。それでも見つからない場合は、`doctor` の出力を添えて [Issue を立ててください](https://github.com/mm7894215/TokenTracker/issues/new)。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003ehook をアンインストールして設定をすべて削除する方法\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n```bash\ntokentracker uninstall\n```\n\nこれにより、検出されたすべての AI ツールに対して TokenTracker がインストールした hook を削除し、ローカルの設定とデータも消します。再実行しても安全です。\n\n\u003c/details\u003e\n\n### macOS アプリ\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e「TokenTrackerBar を開けません」 — 未確認の開発元\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nTokenTrackerBar は **アドホック署名**されています（Apple Developer ID による公証は行っていません — それには有料の Developer アカウントが必要です）。Gatekeeper が初回起動時にブロックします。\n\n1. **システム設定 → プライバシーとセキュリティ**を開く\n2. **セキュリティ** セクションまでスクロール — *「TokenTrackerBar は Mac を保護するためブロックされました。」* が表示されます\n3. **このまま開く** をクリック\n4. 続けて出るダイアログで **開く** を選んで確定（認証が必要です）\n\n一度行えば OK です。古い macOS でのやり方: Finder でアプリを右クリック → **開く** → 確認ダイアログで **開く**。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e「TokenTrackerBar は壊れているため開けません」\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nこれは macOS がダウンロードファイルに付与する `com.apple.quarantine` 属性に Gatekeeper が反応しているだけで、実際の問題ではありません。次のコマンドで一度クリアしてください:\n\n```bash\nxattr -cr /Applications/TokenTrackerBar.app\n```\n\nこれでアプリは普通に開けます。\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e「TokenTrackerBar が他のアプリのデータにアクセスしようとしています」\u003c/b\u003e\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nこれは **Cursor** と **Kiro** 統合に必要です。これらは認証トークンや利用データを `~/Library/Application Support/` 配下の自分のフォルダーに保存しており、macOS は App Management 権限で保護しています。\n\n- ✅ Cursor または Kiro を使っているなら **許可** をクリック\n- ❌ 使っていないなら **許可しない** をクリック — それらのプロバイダーは黙ってスキップされ、それ以外はすべて動き続けます\n\n一度許可すれば、その権限は記憶されます。アドホック署名のビルドは、アップグレードごとに署名アイデンティティが変わるため、再度プロンプトが出る点に注意してください。\n\n\u003c/details\u003e\n\n---\n\n## 🪪 README バッジ\n\nGitHub プロフィールやプロジェクトの README で自分のトークン使用量をアピールしましょう。\n\n`YOUR_USER_ID` の取得方法:\n1. `tokentracker` を実行してダッシュボードを開き、リーダーボードにサインインします。\n2. **Settings → Account** に移動します。\n3. そこに表示される **User ID** を使います。headless / SSH 環境では、`tokentracker device-login` も同じ `user_id` を `~/.tokentracker/tracker/config.json` に書き込みます。\n\n以下のどれかを貼り付けてください:\n\n```markdown\n[![tokens](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=YOUR_USER_ID\u0026metric=tokens)](https://github.com/mm7894215/TokenTracker)\n[![cost](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=YOUR_USER_ID\u0026metric=cost)](https://github.com/mm7894215/TokenTracker)\n[![rank](https://srctyff5.us-east.insforge.app/functions/tokentracker-badge-svg?user_id=YOUR_USER_ID\u0026metric=rank)](https://github.com/mm7894215/TokenTracker)\n```\n\n\u003e リンク先はデフォルトで TokenTracker リポジトリに設定してあり、クリックがそのまま他の開発者の発見につながります。あなた自身の leaderboard プロフィール、個人サイト、または `https://www.tokentracker.cc` に飛ばしたい場合は URL を差し替えてください。\n\n現在の合計を反映した shields.io 互換バッジが描画されます（60 秒キャッシュ）:\n\n| パラメータ | 値 | デフォルト |\n|---|---|---|\n| `metric` | `tokens` / `cost` / `rank` | `tokens` |\n| `period` | `week` / `month` / `total` | `total` |\n| `style` | `flat` / `flat-square` | `flat` |\n| `label` | 任意の短い文字列 | metric 名 |\n| `color` | hex（例: `ff6b35`） | ブランドグリーン |\n\n\u003e **プライバシー**: バッジはリーダーボード共有が **オン** (`Settings → Account → Public profile`) のプロフィールに対してのみ解決されます。非公開プロフィールには「private」プレースホルダーが返ります。\n\n---\n\n## ⭐ Star History\n\n\u003ca href=\"https://star-history.com/#mm7894215/TokenTracker\u0026Date\"\u003e\n  \u003cimg src=\"https://api.star-history.com/svg?repos=mm7894215/TokenTracker\u0026type=Date\" alt=\"Star History Chart\" width=\"600\" /\u003e\n\u003c/a\u003e\n\n---\n\n## 🤝 コントリビューション \u0026 サポート\n\n- **バグ / 機能リクエスト**: [Issue を立てる](https://github.com/mm7894215/TokenTracker/issues/new)\n- **セキュリティ**: [SECURITY.md](SECURITY.md) を参照 — セキュリティ報告は公開 Issue として立てないでください\n- **プルリクエスト**: セットアップ、テスト、新しい AI ツール統合の追加方法は [CONTRIBUTING.md](CONTRIBUTING.md) を参照\n- **質問 / ショーケース**: [GitHub Discussions](https://github.com/mm7894215/TokenTracker/discussions)\n\n## 🙏 クレジット\n\nClawd キャラクターのデザインは Anthropic に帰属します。本プロジェクトはコミュニティ主導のものであり、Anthropic との公式な提携関係はありません。\n\n## ライセンス\n\n[MIT](LICENSE)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Token Tracker** — あなたの AI アウトプットを定量化する。\n\n\u003ca href=\"https://www.tokentracker.cc\"\u003etokentracker.cc\u003c/a\u003e  ·  \u003ca href=\"https://www.npmjs.com/package/tokentracker-cli\"\u003enpm\u003c/a\u003e  ·  \u003ca href=\"https://github.com/mm7894215/TokenTracker\"\u003eGitHub\u003c/a\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmm7894215%2Ftokentracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmm7894215%2Ftokentracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmm7894215%2Ftokentracker/lists"}