GitHub Copilot が従量課金 (GitHub AI Credits) になり、今月の課金額がすぐに把握できずに困っている・震えている方向けの記事です。
その悩み・不安を GitHub Copilot CLI のステータスラインに 今月の累積課金額 を常時表示させることで解決しましょう。
ゴール
GitHub Copilot CLI のステータスラインに、こんな感じで今月の累積課金額が常に表示されるようにします。
AICs $12.34
($12.34 は表示例です)
「今月もう $12 使ってるのか」が一目で分かるようになります。
既存のコスト表示は「このセッションでいくら使ったか」だけしか表示してくれない
GitHub Copilot CLI 向けのコスト表示ツールはすでにいくつかあります (例: copilot-hud、copilot-cli-cost)。
ただ、これらが出力するのは基本的に 「この対話セッションでいくら使ったか」 です。
セッションを閉じればリセットされてしまいます。
知りたいのは 「今月トータルでいくら使ったのか?」 だと思います。
そのセッションでいくら使ったのかも大事ですが、結局知りたいのは今月いくら使っているのか。
なので、この記事では 今月の累積課金額 を表示する方法をご紹介します。
GitHub AI Credits を計算する仕組み
- GitHub AI Credits は 1 AIU = $0.01 (GitHub 公式ドキュメントに明記されてます)
-
gh api copilot_internal/userのレスポンス中のquota_snapshotsに、当月のentitlement(付与量) とremaining(残量) が書かれてます-
entitlementは当月に付与された量です。「個人予算」だと思っていただければOKです -
remainingはその当月に付与された量のうち、まだ残っている量です (% ではなく実数) - つまり
entitlement - remainingが「今月すでに消費した量」になります
-
- 結果
(entitlement - remaining) * 0.01= 今月の概算課金額
これをステータスライン用スクリプトにして、ステータスラインに表示させればOK。
GitHub AI Credits をステータスラインに表示させる再現プロンプト
スクリプトをご自身で書かなくても、以下を GitHub Copilot CLI にそのまま渡せば作ってくれます。
以下のステータスラインを GitHub Copilot CLI 用に作って。
- 目的: ステータスラインに「今月の AI Credits 累積課金額」を `AICs $12.34` の形式で常時表示する。
- 計算の前提 (公開情報): GitHub AI Credits は 1 AIU = $0.01。
`gh api copilot_internal/user` のレスポンス中 `quota_snapshots` (premium_interactions など) に
当月の `entitlement` と `remaining` が入っている。
`(entitlement - remaining) * 0.01` が当月の概算課金額。
- 実装: gh と jq を使うシェルスクリプトを作り、
~/.copilot/settings.json の statusLine (type: command) に登録する。
statusLine は experimental 機能 (STATUS_LINE) なので、その有効化手順も教えて。
ステータスラインは 10 秒以内に終わる必要があるので、数十秒の短時間キャッシュを付けて。
- 出力: ステータスラインに出す 1 行だけ。
取得に失敗したら直近のキャッシュ値を出し、それも無ければ何も出さず正常終了する。
注意事項
-
copilot_internal/userは 公式に文書化された API ではなく準内部的なもの です- IDE 拡張などが利用しているのでコミュニティ的には既知なもの
- 仕様が変わると動かなくなる可能性があります
- Business / Enterprise はクレジットが 請求エンティティ単位でプール されるため、個人の見積もり額が実際の請求額と一致しないことがあります
- あくまで「使いすぎ防止の目安」として使うのがおすすめです
以上、何かありましたら、コメントいただければ幸いです。