feat(models): add MiniMax-M3 to native minimax providers + 1M context#36214
Merged
Conversation
Add MiniMax-M3 to the minimax, minimax-oauth, and minimax-cn curated lists (these are hardcoded — the native Anthropic-format endpoint has no /v1/models listing and the providers aren't in _MODELS_DEV_PREFERRED, so new models don't auto-pull). Add a DEFAULT_CONTEXT_LENGTHS key 'minimax-m3' -> 1,000,000 so M3 resolves to its 1M context on every surface (native ID + OpenRouter/Nous slug) via longest-key-first substring match, while the M2.x series stays at 204,800.
Contributor
🔎 Lint report:
|
CodyWangYaohui
added a commit
to CodyWangYaohui/hermes-agent
that referenced
this pull request
Jun 1, 2026
- agent/auxiliary_client.py:265: _API_KEY_PROVIDER_AUX_MODELS_FALLBACK minimax : M2.7 -> M3 minimax-oauth : M2.7-highspeed-> M3.0-Highspeed minimax-cn : M2.7 -> M3 - plugins/model-providers/minimax/__init__.py: 3 ProviderProfile.default_aux_model - plugins/memory/hindsight/__init__.py: _PROVIDER_DEFAULT_MODELS['minimax'] - tests/agent/test_minimax_provider.py: TestMinimaxAuxModel hardcoded M2.7 expectation updated to M3 (intent: 'aux is standard' is preserved) Context: cody-custom M3 fix re-applied after upstream sync 6c73e8f. PR NousResearch#36214 (MiniMax-M3 in providers) did NOT migrate the default_aux_model field on minimax/minimax-cn/minimax-oauth provider profiles, nor the auxiliary_client fallback dict, so the local patch is still required to keep the cheap aux path on M3 instead of M2.7. Patch re-apply notes: - 4 of 5 hunks applied cleanly via git apply - 1 hunk (auxiliary_client.py:265 FALLBACK dict) had context drift after the 603-commit sync (upstream added zai/kimi-coding/stepfun rows), so applied with a targeted sed replacement - Updated test_minimax_provider.py::test_minimax_aux_is_standard to expect M3; the underlying intent ('aux is standard, not highspeed') is preserved by test_minimax_aux_not_highspeed which still passes - Tests: 191/191 auxiliary_client, 28/28 minimax_oauth, 2/2 TestMinimaxAuxModel, 180/180 minimax+aux+fallback (1 flaky unrelated env-monkeypatch test)
JoeKowal
pushed a commit
to JoeKowal/hermes-agent
that referenced
this pull request
Jun 4, 2026
…NousResearch#36214) Add MiniMax-M3 to the minimax, minimax-oauth, and minimax-cn curated lists (these are hardcoded — the native Anthropic-format endpoint has no /v1/models listing and the providers aren't in _MODELS_DEV_PREFERRED, so new models don't auto-pull). Add a DEFAULT_CONTEXT_LENGTHS key 'minimax-m3' -> 1,000,000 so M3 resolves to its 1M context on every surface (native ID + OpenRouter/Nous slug) via longest-key-first substring match, while the M2.x series stays at 204,800.
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MiniMax-M3now appears in the native MiniMax provider model pickers (minimax,minimax-oauth,minimax-cn), and resolves to its correct 1M context length on every surface.Why this needed a manual edit
The native MiniMax provider lists are hardcoded in
_PROVIDER_MODELS— they are not in_MODELS_DEV_PREFERRED, have noproviders/profile, and the MiniMax inference endpoint is Anthropic-format (/anthropic) with no OpenAI-style/v1/modelslisting. So new models don't auto-pull; they fall through to the static curated list and must be added by hand. (OpenRouterminimax/minimax-m3and the Nous list were already updated in PR #36191.)Changes
hermes_cli/models.py: addMiniMax-M3to the top of theminimax,minimax-oauth, andminimax-cnlists.agent/model_metadata.py: addDEFAULT_CONTEXT_LENGTHSkey"minimax-m3": 1000000. Longest-key-first substring matching makes it win over the generic"minimax": 204800catch-all, so M3 resolves to 1M (native + OpenRouter/Nous slug) while the M2.x series stays at 204,800.Model facts (from MiniMax docs)
MiniMax-M3, 1M context, max output 524,288 (512K), multimodal (text + image + video).Validation
MiniMax-M3/minimax/minimax-m3MiniMax-M2.7/minimax/minimax-m2.7E2E-verified via live resolver test:
MiniMax-M3is first in all three native lists, and the longest-key-first substring match picksminimax-m3for M3 while M2.x still hits the genericminimaxkey.Infographic