AI

Codexのレートリミットを(技術者倫理に反さない方法で)取得する

Codex WebAPI

はじめに

みなさ〜〜ん!!!
技術者倫理、ちゃんと守ってますか〜〜〜?

…………。

CodexのレートリミットをアプリとかCLI以外で取得するには、たぶん以下の方法が挙げられると思います:

  • OpenAIの使用量ページを開く
  • Dev ToolsのNetworkを開いて、リクエストの中からレートリミットを取得しているものを探す
  • リクエストヘッダのAuthorizationヘッダをコピーする
  • そして、任意の場所でAPIを叩く

ダメ〜〜〜〜〜! やってることサイゼリヤCLIと変わらんやんけ!!!

というわけで、上記の方法よりも技術者倫理に配慮した方法を紹介します。

技術者倫理に配慮した方法とは?

Codex App Serverというものが存在します。

これはOpenAIが提供するCodex CLIの統合サーバで、

  • VSCodeの拡張機能
  • WEBエディタ
  • CI/CDパイプライン

などなど、複数のクライアントからCodexのエージェント機能を利用できるようにする基盤アプリケーションです。

そして、なんとこのApp Serverは、Codexのレートリミットを取得するAPIを提供しています。 このAPIは、Codex CLIの認証情報を使用して、Codexのレートリミットを取得することができます。

Codex App Serverでレートリミットを取得してみる

Codex App Serverは通信プロトコルとしてJSON-RPC 2.0を採用しており、標準入力・Unix Socket・WebSocket(実験的) を用いて通信できます。

手順としては、

  1. Codex CLIがインストールされている環境下で、Codex App Serverを起動する
  2. イニシャライズコマンドを送信する
  3. レートリミットを取得するコマンドを送信する

です。やってみよう!

① Codex App Serverを起動する

Terminal window
$ codex app-server

で起動します。デフォルトは標準入出力でコマンドをやり取りします。

② イニシャライズコマンドを送信する

最初に、Codex App Serverにイニシャライズコマンドを必ず送信する必要があります。これをしないと、Not Initializedというエラーが返ってきます。

このようなJSONメッセージを送信します:

{
"method": "initialize",
"id": 0,
"params": {
"clientInfo": {
"name": "app_name",
"title": "アプリのタイトル",
"version": "アプリのバージョン"
}
}
}

③ レートリミットを取得するコマンドを送信する

以下のようなリクエストを送信します(IDは連番で指定してください):

{
"method": "account/rateLimits/read",
"id": 1
}

すると、以下のようなレスポンスが返ってきます:

{
"rateLimits":{
"limitId":"codex",
"limitName":null,
"primary":{
"usedPercent":15,
"windowDurationMins":300,
"resetsAt":1700000000
},
"secondary":{
"usedPercent":60,
"windowDurationMins":10080,
"resetsAt":1700000000
},
"credits":{
"hasCredits":false,
"unlimited":false,
"balance":"0"
},
"planType":"plus",
"rateLimitReachedType":null
},
"rateLimitsByLimitId":{
"codex":{
...
}
}
}

primarysecondaryは、Codexのレートリミットを表しています。primaryが5時間制限、secondaryが週次制限です。

WebAPIとしてレートリミットを取得できるようにする

このままだとマイコンやブラウザでレートリミットを取得することが難しいので、WebAPIとして何処からでもアクセスできるようにします。

完成したものがこちらになります。 codex-rate-limits-api

Cloudflare Tunnelとかで公開するなり、ローカル内でこっそり使用するなり、いろいろやってみてください。

参考サイト

© 2026 Chimonakiko