Tokenova — AIコーディングで使ったトークンが毎日ひとつの宇宙になるトレイアプリ
(github.com/jkapa0417)Tokenova — AIコーディングで使ったトークンが毎日ひとつの宇宙になるトレイアプリ
最近、Claude Code、Codex CLI、OpenCode のようなツールを毎日立ち上げてコーディングしていると、ふと気になることがあります。今日は実際どれくらい回したんだろう。ダッシュボードを別で開くのは重いし、課金ページを開くと作業の流れが途切れてしまいます。
そこで作ったのが Tokenova です。メニューバー(macOS)/システムトレイ(Windows・Linux)の片隅に、小さな惑星アイコンひとつで常駐する Tauri アプリです。バックグラウンドで上の 3 つのツールが残すローカルログを読み、その日のトークン使用量を星と惑星として描画します。日付が変わるとその宇宙は閉じ、新しいキャンバスが開きます。
動作の仕組み
- 星 — 累計トークン 20 万個ごとに 1 つ。最初の星が出ると別途実績が 1 つ付きます。星の形は 12 種からシードで決まります。
- 惑星 — 単一セッションが 100 万トークンを超えた状態で終了したとき、または 1 セッションが 2,000 万トークンを累積するたびに強制トリガーされます。31 種のカタログから等級ルーレット(Common 70 / Rare 20 / Epic 8 / Legendary 1.9 / Mythic 0.1 %)で抽選されます。
- 銀河レイアウト — 毎日、シードに応じて 6 種(渦巻・楕円・不規則・双子星団・散開・核中心)のいずれかを描きます。同じシードなら同じ形で再現されるので、過去の宇宙をギャラリーで開き直しても同じ見た目になります。
- 星座 — Today タブで星をクリックして直接つなげます。2 個から登録可能で、名前は自動生成することも自分で付けることもできます。コーデックスに永続保存されます。
- 眠る宇宙 — トークンを 1 つも使わなかった日は、星のキャンバスの代わりに穏やかな月と星が表示されます。「眠る宇宙」という実績も別にあります。
なぜこれが楽しいのか
3 つの要素が毎日違う動きをします。
第一に、同じ量だけ作業しても毎日形が違います。シード + レイアウト + ルーレット結果がその日の宇宙を決めます。昨日は渦巻だったのに、今日は核中心。同じ 5,000 行を書いても星の分布が毎回違うので、ギャラリーをめくる楽しさがあります。
第二に、等級確率の存在です。Mythic 0.1 % が引けたとき、画面いっぱいにスライドインするフルスクリーンオーバーレイは、正直ちょっとドーパミンです。ダイソン球やブラックホールが出ると、トレイ通知で OS が直接知らせてくれます。これを狙って働くわけではないけれど、思いがけず目に入ること自体が小さな報酬になります。
第三に、365 日のギャラリーが積み上がります。1 週/1 か月/1 年のヒートマップで、自分のコーディングのリズムを見ることができます。眠っていた日、暴走した日、巨大な銀河ができた日がすべてキャンバスとして保存されていて、クリックするとその日の宇宙が再生されます。
どう動くのか
- Claude Code —
~/.claude/projects/*.jsonlを notify で watch - Codex CLI —
~/.codex/sessions/YYYY/MM/DD/*.jsonlを watch - OpenCode —
opencode.dbSQLite を 5 秒間隔でポーリング
3 つのチャネルを同一の TokenEvent に正規化して、SQLite の 1 か所に保存します。UI はそこから読んで描画します。トークン使用量を外部へ送信することはありません。インターネット接続を使うのは、自動更新確認のために GitHub Releases を参照するときだけです。
技術スタックと制約
- Tauri 2・Rust・Vanilla TypeScript + Canvas(フレームワークなし)。メモリ使用量はトレイ popover 基準で 80MB 前後です。
- macOS・Windows・Linux をすべてサポートします。自動起動は OS 起動時のバックグラウンド実行として有効にでき、初回起動時はデフォルトで ON です。
- 自動更新は minisign 署名 + GitHub Releases マニフェスト。新しいバージョンが出るとアプリ内バナーで知らせます。
- すべてのデータはローカル SQLite(
~/Library/Application Support/com.tokenova.app/など)に保存されます。外部サーバーはありません。 - ライセンス: FSL-1.1-ALv2。個人利用・社内利用は自由で、2 年後に Apache 2.0 へ自動移行する Functional Source License です。
- 日本語/英語 UI を即時切り替え。惑星 30 種、星の形 14 種、すべての UI 文字列を両言語でローカライズ。
入手先
GitHub Releases に macOS DMG、Windows NSIS、Linux AppImage / deb をすべて公開しています。現在 Apple Developer Program の承認待ちのため、macOS DMG では「信頼できない開発元」の警告が表示されます。Gatekeeper の回避が一度必要です(アプリを右クリック → 開く、またはシステム設定 → プライバシーとセキュリティ → 「このまま開く」)。承認が完了すれば、この手順は不要になる予定です。Windows では SmartScreen で「詳細情報 → 実行」を選んでください。最初のインストール後は、アプリ内の自動更新機能が新しいバージョンを自動で知らせます。
リポジトリ: https://github.com/jkapa0417/tokenova
フィードバックとバグレポート
使っていて気になる点が出たり、アイデアが浮かんだりしたら、コメントでも GitHub Issue でもいつでも気軽に残してください。どんな意見でも歓迎です。今後の開発方針と予定機能は、GitHub リポジトリのロードマップで確認できます。
ひとこと
Tokenova がコーディング習慣を変えてくれるわけではありません。画面の端に小さな宇宙がひとつ浮かんでいるだけです。その宇宙が毎日違う形で育っていくのを見ることが、意外と仕事を続ける力になります。
まだコメントはありません。