Skip to content

feat(minimax): add MiniMax provider plugin - #78

Open
octo-patch wants to merge 2 commits into
CaddyGlow:mainfrom
octo-patch:octo/20260730-provider-add-recvqdd3lCbhDV
Open

feat(minimax): add MiniMax provider plugin#78
octo-patch wants to merge 2 commits into
CaddyGlow:mainfrom
octo-patch:octo/20260730-provider-add-recvqdd3lCbhDV

Conversation

@octo-patch

Copy link
Copy Markdown

Reason: Add a first-class MiniMax provider plugin so the proxy can serve the MiniMax global and regional endpoints and the MiniMax-M3 and MiniMax-M2.7 models.

What

Adds a new provider plugin under ccproxy/plugins/minimax/, mirroring the
existing provider plugin architecture (config subclass of ProviderConfig,
BaseHTTPAdapter subclass, FastAPI routes, model mappings, and model cards).

  • Authentication: static API key sent as a Bearer token; no OAuth
    credential manager or detection service, so the plugin declares no auth
    dependency.
  • Regions: a region option (global_en / cn_zh) resolves the OpenAI
    and Anthropic base URLs and the docs root. Explicitly configured URLs are
    preserved.
  • Endpoints (mounted under /minimax):
    • POST /v1/chat/completions — OpenAI-compatible.
    • POST /v1/messages — Anthropic-compatible, converted to the OpenAI chat
      protocol through the core format chain.
    • GET /v1/models — configured model metadata.
  • Models: default cards and case-insensitive aliases for MiniMax-M3
    and MiniMax-M2.7.
  • Registers the minimax entry point, adds a minimax pytest marker, and
    documents a [plugins.minimax] example in config.example.toml.

Tests / checks

  • ruff format --check ccproxy/plugins/minimax tests/plugins/minimax
  • ruff check ccproxy/plugins/minimax tests/plugins/minimax
  • pytest tests/plugins/minimax/unit (11 passed)

Add a first-class MiniMax provider plugin following the existing provider
plugin pattern (config, HTTP adapter, routes, model mappings, model cards).

- Static API-key (Bearer) authentication, no OAuth dependency
- Region selection (global_en / cn_zh) that resolves the OpenAI and
  Anthropic base URLs
- OpenAI-compatible /v1/chat/completions plus Anthropic-compatible
  /v1/messages via the core format chain, and /v1/models
- Default model cards and aliases for MiniMax-M3 and MiniMax-M2.7
- Register the plugin entry point and add unit tests
@octo-patch

Copy link
Copy Markdown
Author

I updated the MiniMax default model cards with the target context windows, per-million-token pricing, input modalities, and thinking modes, and pushed commit bc663e5. I ran the MiniMax unit tests (11 passed), Ruff checks and format checks, and targeted mypy.

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.

1 participant