Back to Codexbar

Moonshot / Kimi API provider

docs/moonshot.md

0.26.12.2 KB
Original Source

Moonshot / Kimi API provider

Moonshot / Kimi API is API-only. Balance is reported by GET /v1/users/me/balance, so CodexBar only needs a valid API key to show the current account balance.

Rationale

Kimi API docs use the Moonshot API surface for current Kimi models: examples read MOONSHOT_API_KEY and call https://api.moonshot.ai/v1, including the Kimi K2.6 quickstart. This provider is therefore named after the account and billing surface, not a specific Kimi model version.

The existing Kimi K2 provider remains separate because it targets the legacy kimi-k2.ai credit endpoint. Migrating or deprecating that provider should be a separate cleanup so existing user settings are not silently repointed.

Data sources

  1. API key stored in ~/.codexbar/config.json or supplied via MOONSHOT_API_KEY / MOONSHOT_KEY. CodexBar stores the key in config after you paste it in Settings → Providers → Moonshot / Kimi API.
  2. Region
    • International: https://api.moonshot.ai/v1/users/me/balance
    • China mainland: https://api.moonshot.cn/v1/users/me/balance
    • Configure with Settings → Providers → Moonshot → API region or MOONSHOT_REGION.
  3. Balance endpoint
    • Request headers: Authorization: Bearer <api key>, Accept: application/json
    • Response contains available_balance, voucher_balance, and cash_balance.

Usage details

  • The menu card shows the available balance.
  • If cash_balance is negative, the card also surfaces the deficit.
  • There is no session or weekly window — Moonshot / Kimi API does not expose per-window quota via API.
  • Settings config takes precedence over environment variables when both are present.

Key files

  • Sources/CodexBarCore/Providers/Moonshot/MoonshotProviderDescriptor.swift (descriptor + fetch strategy)
  • Sources/CodexBarCore/Providers/Moonshot/MoonshotUsageFetcher.swift (HTTP client + JSON parser)
  • Sources/CodexBarCore/Providers/Moonshot/MoonshotSettingsReader.swift (env var resolution)
  • Sources/CodexBar/Providers/Moonshot/MoonshotProviderImplementation.swift (settings field + activation logic)
  • Sources/CodexBar/Providers/Moonshot/MoonshotSettingsStore.swift (SettingsStore extension)