windowscursorwpf

CursorとCodexの使用率をタスクバーに出す「AI Usage Bar」を公開した

作業中、タスクバーの端で Cursor と Codex の使用率だけが見えるようにしました。アプリ名は AI Usage Bar です。リポジトリは GitHub で公開しています。

https://github.com/ham0806/ai-usage-bar

通知領域の左隣に、アイコンとパーセントだけを出します。左クリックで内訳、右クリックから更新・設定・終了です。

タスクバーの使用率

左クリックすると、課金周期やリセットまでの時間など、バーに載せていない情報を出します。

詳細フライアウト

スクリーンショットのアイコンは、手元で置いた PNG です。公式ロゴはリポジトリに入れていません。

バーには使用率だけ載せる

タスクバーは幅が限られるので、プロバイダ名や「5時間 / 7日」は置きません。いちばん厳しい使用率だけを色付きで出します。70% 未満は通常の色、70% 以上は警告色、90% 以上はさらに強くします。

詳細はフライアウト側です。Cursor なら Auto と API、Codex なら 5時間枠と 7日枠です。実装は WPF で、.NET 8 です。最初は Python で書いていました。

認証は手元のログインを使う

Cursor は、インストール済み Cursor の state.vscdb から accessToken を読みます。取れないときや 401 のときは、設定に貼った Cookie WorkosCursorSessionToken を Windows の資格情報マネージャーへ保存して使います。呼び出し先は公式 API ではなく、ダッシュボードと同じ GET https://cursor.com/api/usage-summary です。仕様変更やセッション期限切れで止まります。

Chrome の Cookie は自動では取りません。App-Bound Encryption があるためです。

Codex は %USERPROFILE%\.codex\auth.json の ChatGPT OAuth を使います。期限が近いときは、公式 CLI と同じ JSON でトークンを更新して書き戻します。まだ失敗するときは、入っている codex app-server に JSON-RPC で残量を聞きます。トークンの中身はログに書きません。

公式ロゴは各自で置く

Cursor と Codex の公式マークは同梱していません。使う人は PNG を次の場所に置きます。無いときは数字だけ出ます。

%LOCALAPPDATA%\ai-usage-bar\icons\

  • cursor-dark.png / cursor-light.png
  • codex-dark.png / codex-light.png

推奨は 64px 前後の正方形です。暗いタスクバーには -dark、明るいときは -light を使います。

起動と制限

リポジトリで次を実行します。

.\run.ps1

.NET 8 が無い PC 向けには .\build.ps1 で exe を作れます。出力は dist\AI Usage Bar\ で、フォルダごとコピーします。exe 単体では動きません。

Windows 起動時に始める場合は、ウィジェットを右クリックして設定を開き、「Windows 起動時に開始」をオンにします。

タスクバーへの重ね合わせは Windows の公式 API ではありません。大型アップデートのあとで位置がずれることがあります。通知領域と重なったら、設定のオフセットでずらします。対象は Windows 11 です。