OpenAI API Usage
這是一個 VS Code 擴充套件,可直接在 VS Code 狀態列顯示 OpenAI Organization 的使用費用與文字模型使用量,滑鼠移到狀態列上即可查看各模型的詳細用量與估算費用。
使用需求
指令
| 指令 |
說明 |
| OpenAI API Usage: Show Menu |
開啟操作選單,可更新用量、選擇期間、開啟報表或管理 Admin API Key。 |
| OpenAI API Usage: Select Period |
選擇今天、本週、本月或自訂日期範圍;自訂日期依台灣日計算並包含起迄兩日,查詢至結束日隔日 00:00。選擇會套用至狀態列與報表並在重新啟動後保留。 |
| OpenAI API Usage: Show Organization Report |
查詢目前選定期間的費用與文字模型使用量,並將完整報表顯示於 OpenAI API Usage Output Channel。今天與自訂日期皆使用完整台灣自然日,本週與本月依 UTC 計算至查詢時間。第一次使用時會要求輸入 Admin API Key。 |
| OpenAI API Usage: Set Admin API Key |
設定或更換 Admin API Key。 |
| OpenAI API Usage: Clear Admin API Key |
清除目前儲存的 Admin API Key。 |
| OpenAI API Usage: Refresh Status Bar |
立即重新查詢並更新 VS Code 狀態列上的選定期間用量與費用。 |
從舊版切換
Jamesliu.openai-usage、local.openai-usage 與 Jamesliu.openai-api-usage 是不同的擴充套件。切換到新版前,請停用舊版以免重複顯示狀態列或命令。Admin API Key 與查詢期間不會自動移轉,請在新版重新設定。
狀態列
點擊用量狀態列可開啟操作選單,選擇立即更新、切換期間、顯示詳細報表或管理 Admin API Key。旁邊的期間按鈕也可直接切換「今天」、「本週」、「本月」或「自訂日期範圍」。自訂日期會開啟開始與結束日期欄位,可用原生月曆選日期;日期依台灣日計算並包含起迄兩日,查詢至結束日隔日 00:00(不含)。按「套用並查詢」才會變更期間,取消或關閉面板會保留原選擇。今天與自訂日期都使用完整台灣自然日;本週與本月使用 UTC 日期,本週從週一開始。預設為本月,選擇會保留於 VS Code 全域狀態。
有模型資料時,狀態列會顯示可計價模型的 Standard Token 費用估算與總 Token 數;仍有未計價模型時標示「部分」。若沒有可計價模型,狀態列改顯示 Costs API 回傳費用,多種幣別會分開列出,資料不完整時標示「部分」,沒有回傳金額時顯示 費用 n/a。所選期間沒有模型資料時,狀態列固定顯示 USD 0.0 0 tok,提示框顯示無資料訊息、期間與最後更新時間。有模型資料時,提示框會分開列出 Costs API 費用與模型估算明細,例如:
估算 USD 9.98(部分) · 54.9M tok
有模型資料時,將游標移至用量狀態列上會顯示:
- 所選期間的實際費用;
- 可計價模型的估算費用合計,以及未計價模型數量;
- Input、Cached Input、Output Token 總量;
- Request 數量;
- 各模型的使用量;
- 各模型的估算 Token 費用;
- 各模型每 1M Token 的 Input、Cached Input 與 Output 單價;
- 內建價格資料含 Cache Write 單價時,會顯示 30 分鐘與 12 小時價格;
- 查詢期間;
- 最後更新時間。
狀態列會在以下情況重新整理:
- VS Code 擴充套件啟動時;
- 預設每分鐘自動更新一次;
- 在用量狀態列操作選單選擇立即更新時;
- 選擇新的查詢期間時。
在用量狀態列選單選擇「設定更新頻率」,可開啟 VS Code 的 openaiUsage.refreshIntervalMinutes 設定。輸入 1 至 1440 分鐘可設定自動更新間隔,輸入 0 可停用自動更新。變更立即生效,手動更新仍可使用。
報表內容
- Costs:列出
GET /v1/organization/costs 回傳的費用分類與金額;每日明細依 API bucket.start_time 轉為 UTC 日期。
- Text completion usage:讀取
GET /v1/organization/usage/completions?group_by=model,包含:
- Input Tokens
- Cached Input Tokens
- Cache Write Tokens
- Output Tokens
- Request 數量
- Model 名稱
- 今日的台灣自然日尚未結束前,資料可能尚未完整。費用與用量依 API 回傳彙總,不依期間比例拆分。
- 各模型費用依擴充套件內建的 Standard 價格資料估算。
- 所選期間的實際費用以 Costs API 回傳金額為準。
Service Tier、長 Context 計價、未收錄於內建價格表的 Model Alias,以及 OpenAI 後續價格調整,都可能造成模型估算費用與最終帳單不同。
Token 與費用估算
API 回傳的 Completion Usage 包含 Input、Cached Input、Cache Write、Output Token 與 Request 數量。擴充套件使用內建 Standard 價格資料估算已收錄模型的費用;未收錄的模型仍顯示用量,估算費用為 n/a。Tooltip 會列出每 1M Token 的 Input、Cached Input 與 Output 價格;內建價格資料含 Cache Write 單價時,也會列出 30 分鐘與 12 小時價格。估算可能與 Costs API 回傳的實際費用不同,最終金額請以 Costs API 和帳單為準。
API Key 處理
Admin API Key 只會儲存在 VS Code 的 SecretStorage,不會寫入:
- VS Code Settings
- 專案檔案
- Log
- Output Channel
API 錯誤訊息中若包含 API Key,也會在顯示前進行遮蔽。
如果 OpenAI API 回傳 401 或 403:
- 擴充套件會自動清除目前儲存的 Admin API Key。
- 狀態列會回到可重新輸入 API Key 的狀態。
- 再次點擊
OpenAI API Usage,從選單設定新的 Admin API Key。
限制
- 本擴充套件不提供預付帳戶剩餘金額查詢,只顯示 Costs API 費用與 Usage API 用量。
- 目前 Costs 與 Usage 以每日 Bucket 彙總,對應 API 的
bucket_width=1d。
- 目前只整合 Completion Usage;Embeddings、Images、Audio 與其他 Usage API 尚未納入狀態列統計。
- 各模型估算費用使用擴充套件內建的價格快照,實際費用仍應以 OpenAI Costs API 與帳單為準。