| summary |
DeepSeek provider data sources: API key + balance endpoint. |
| read_when |
Adding or tweaking DeepSeek balance parsing |
Updating API key handling |
Documenting new provider behavior |
|
DeepSeek is API-only. Balance is reported by GET https://api.deepseek.com/user/balance,
so CodexBar only needs a valid API key to show your remaining credit balance.
- API key supplied via
DEEPSEEK_API_KEY / DEEPSEEK_KEY, or selected from DeepSeek token accounts in ~/.codexbar/config.json.
- Balance endpoint
GET https://api.deepseek.com/user/balance
- Request headers:
Authorization: Bearer <api key>, Accept: application/json
- Response contains
is_available, and a balance_infos array with per-currency entries
(total_balance, granted_balance, topped_up_balance).
- The menu card shows total balance with the paid vs. granted breakdown:
e.g.
$50.00 (Paid: $40.00 / Granted: $10.00).
- The API separates granted balance from topped-up balance; CodexBar labels these as granted vs. paid credit.
- When multiple currencies are present, USD is shown preferentially.
- If total balance is zero, CodexBar shows an add-credits message. If balance is nonzero but
is_available is false, it shows "Balance unavailable for API calls".
- There is no session or weekly window — DeepSeek does not expose per-window quota via API.
- Token-account selection injects the selected key into the fetch environment; otherwise CodexBar reads
DEEPSEEK_API_KEY / DEEPSEEK_KEY.
Sources/CodexBarCore/Providers/DeepSeek/DeepSeekProviderDescriptor.swift (descriptor + fetch strategy)
Sources/CodexBarCore/Providers/DeepSeek/DeepSeekUsageFetcher.swift (HTTP client + JSON parser)
Sources/CodexBarCore/Providers/DeepSeek/DeepSeekSettingsReader.swift (env var resolution)
Sources/CodexBar/Providers/DeepSeek/DeepSeekProviderImplementation.swift (provider activation and token-account visibility)
Sources/CodexBarCore/TokenAccountSupportCatalog+Data.swift (DeepSeek token-account injection)