0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CodexのUsageをMacのメニューバーに表示するアプリを作りました

0
Last updated at Posted at 2026-07-12

はじめに

Codexを使っていると、5時間枠や週次枠の残量が気になることがあります。
毎回画面を開いて確認するのが面倒だったので、Macのメニューバーに残量を表示するアプリを作りました。

ソースコードはGitHubで公開しています。

このアプリは非公式のコミュニティプロジェクトで、OpenAIが提供しているものではありません。

動作画面

メニューバーに5時間枠と週次枠の残量を表示

メニューバーには次のように表示されます。

  • 5h 70%:5時間枠が70%残っている
  • W 69%:週次枠が69%残っている

表示をクリックすると、リセット日時や契約プラン、最終更新時刻なども確認できます。Usageは2分ごとに更新されます。

Codex Usage Appの詳細画面

インストール

  1. Codex-Usage-App.dmgをダウンロードして開く
  2. DMGの中にある Codex Usage.app を開く
  3. 「移動して開く」をクリックする

これでアプリがApplicationsフォルダへ移動し、そのまま起動します。

初回起動時にブロックされた場合

現在配布しているDMGはAppleの公証を受けていないため、初回起動時に「Appleはマルウェアが含まれていないことを検証できませんでした」と表示される場合があります。

その場合は一度起動を試したあと、次の手順で開けます。

  1. 「システム設定」を開く
  2. 「プライバシーとセキュリティ」を開く
  3. 画面下部に表示される「このまま開く」をクリックする
  4. Macのパスワードを入力して、もう一度「開く」を選ぶ

仕組み

アプリからローカルにインストールされているCodex App Serverを起動し、account/rateLimits/read を呼び出してUsageを取得しています。

メニューバーへの表示にはAppKitの NSStatusItem、ログイン時の自動起動にはmacOS標準の SMAppService を利用しました。

日本語と英語に対応していて、Macのアプリ言語設定に合わせて自動で切り替わります。Apple SiliconとIntel Macのどちらでも動くUniversal Binaryで配布しています。

ログイン情報やトークンをアプリ側で直接読み取ったり、外部のサーバーへ送ったりする処理はありません。Usageの値もメモリ上にだけ保持しています。

ソースからビルドする

Xcode Command Line Toolsが入っていれば、次のコマンドでビルドできます。

git clone https://github.com/estay-inc/codex-usage-app.git
cd codex-usage-app
./scripts/build.sh
open "build/Codex Usage.app"

Universal BinaryのDMGを作成する場合は次のコマンドを使います。

ARCHS=universal DMG=1 ./scripts/build.sh

まとめ

普段Codexを使っていて、Usageをすぐ確認できるものが欲しかったので作りました。
ソースコードはMIT Licenseで公開しています。気になる点や改善案があれば、IssueやPull Requestをもらえるとうれしいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?