Skip to content

feat: add Kimi and MiniMax providers with status-bar icons - #38

Merged
deviffyy merged 11 commits into
deviffyy:mainfrom
lamchun1110:feat/kimi-minimax-providers
Aug 10, 2026
Merged

feat: add Kimi and MiniMax providers with status-bar icons#38
deviffyy merged 11 commits into
deviffyy:mainfrom
lamchun1110:feat/kimi-minimax-providers

Conversation

@lamchun1110

@lamchun1110 lamchun1110 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Kimi Code and MiniMax global providers, including provider docs, registry integration, settings links, and status-bar marks. This branch is rebased on the current main.

Review fixes

  • Kimi uses the Kimi Code endpoint and console links; MiniMax uses the global endpoint and console links.
  • Kimi independently maps its five-hour and weekly quotas, and selects the five-hour quota by duration and unit.
  • Kimi maps 401 to authentication and 403 to permission errors.
  • MiniMax works when optional status fields are absent, presents status: 3 quota windows as Unlimited, uses weekly_boost_permille as a multiplier, and selects only the general model.
  • MiniMax treats unavailable quota fields as unavailable rather than conflating them with Unlimited.
  • Removed the undocumented MINIMAXI_API_KEY alias and restricted no-plan detection to the explicit MiniMax no-token-plan response.
  • The MiniMax asset uses renderer-supported SVG path commands; no custom arc parser is included.
  • Removed captured Kimi user data, added README/provider documentation, and formatted Rust sources.

Validation

  • cargo fmt --check
  • cargo test --all-targets — 518 passed
  • cargo clippy --all-targets -- -D warnings
  • pnpm verify:contracts
  • pnpm check
  • pnpm lint

The floating-window width work is intentionally separate in #39.

@deviffyy deviffyy left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates. This is much closer now, but there are a few provider behavior issues left:

  • MiniMax status fields are optional, so valid quota data should still work when they are missing.
  • weekly_boost_permille should use MiniMax’s multiplier semantics (1500 means 1.5x).
  • Unlimited and unavailable MiniMax quotas should be distinguished instead of appearing as no data.
  • Kimi’s weekly and five-hour quotas should be parsed independently, so one invalid section does not discard the other.
  • Please remove the undocumented MINIMAXI_API_KEY alias and tighten the missing-plan error detection.

Please keep the changes focused and consistent with the existing OpenQuota design and provider structure. Once these are addressed, please sync the branch with the latest main so we can run the cross-platform checks.

@deviffyy
deviffyy dismissed CilginImamm’s stale review August 9, 2026 14:47

Superseded by maintainer review.

lamchun1110 and others added 9 commits August 10, 2026 00:26
Adds a Kimi provider reporting Session (5-hour rolling window) and Weekly
(main usage) quotas from GET https://api.kimi.com/coding/v1/usages using a
Bearer API key. Modeled on providers/zai: client + mapper + auth, keychain-
backed key (zeroized), with unit tests for the captured payload, error
states, and plan detection. Registered in the runtime list and covered by
the provider-registry contract and links test.
Adds a MiniMax provider reporting Session (per-interval) and Weekly
remaining quotas from GET https://www.minimax.io/v1/token_plan/remains
using a Bearer API key. Modeled on providers/zai: client + mapper + auth,
keychain-backed key (zeroized), success checked via base_resp.status_code,
with a 'no token plan' -> permission error. Registered + contract/links
covered, with unit tests.
…centage

- Wire kimi + minimax SVG icons into the tray status-bar renderer's
  provider map so their logos show instead of the fallback circle.
- Add elliptical-arc (A/a) support to the SVG path parser so the
  MiniMax logo, which uses arc commands, parses correctly.
- Switch Kimi's session and weekly quotas from QuotaFormat::Count to
  QuotaFormat::Percent so the status bar shows 'NN%' like the other
  percentage-based providers (Moonshot's API still returns absolute
  counts internally; used_percent was already computed).
@lamchun1110
lamchun1110 force-pushed the feat/kimi-minimax-providers branch from a784149 to b43dbd6 Compare August 9, 2026 16:29
@deviffyy

deviffyy commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Thanks, the provider changes look good and CI is green. There’s just one final docs-only cleanup before we merge: could you add the short 'What it tracks' table used in the other provider guides to both Kimi and MiniMax, and wrap the MiniMax paragraphs to match the existing Markdown style? No other changes are needed.

@deviffyy deviffyy left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this now fits the existing provider structure and documentation style, and all cross-platform checks are green. Ready to merge.

@deviffyy
deviffyy merged commit 9611abc into deviffyy:main Aug 10, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants