Skip to content

feat: default MiniMax text choices to M3.1 Flash - #414

Open
octo-patch wants to merge 2 commits into
Narcooo:masterfrom
octo-patch:octo/20261021-minimax-m31-flash
Open

octo-patch wants to merge 2 commits into
Narcooo:masterfrom
octo-patch:octo/20261021-minimax-m31-flash

Conversation

@octo-patch

@octo-patch octo-patch commented Oct 21, 2026 •

Copy link
Copy Markdown

Reason: Make MiniMax-M3.1-Flash the default ordinary text choice and avoid sending its unsupported disabled-thinking setting.

Summary

  • Prefer MiniMax-M3.1-Flash, followed by MiniMax-M3, for ordinary direct text selection. Use the documented current China API endpoint for new configurations.
  • Keep legacy cards resolvable for saved selections, preserve explicit URLs and legacy implicit routes, and leave the legacy subscription contract unchanged.
  • Filter obsolete MiniMax text recommendations from static and live catalogs without changing other models or importing direct API token limits into gateway catalogs. On OpenRouter and OpenCode, place discovered Flash before M3 only within existing MiniMax text slots, preserving the positions of other models.

Type of change

  • Bug fix
  • New feature
  • Test

Motivation (optional)

The existing M3 family regex also matches MiniMax-M3.1-Flash and sends thinking: { type: "disabled" }, which Flash rejects. Flash requires adaptive thinking. The ordinary default and model picker also still recommend older MiniMax text models.

Official contracts:

Changes

File Change
packages/core/src/llm/providers/endpoints/minimax.ts Add Flash with 1,000,000 context and 524,288 maximum output; select it for new connection checks.
packages/core/src/llm/providers/model-choices.ts, providers/index.ts, service-presets.ts Filter ordinary recommendations while retaining saved-model lookup and gateway metadata provenance.
packages/core/src/llm/provider.ts, service-resolver.ts, utils/effective-llm-config.ts Keep Flash adaptive and preserve explicit URLs and legacy model routing.
packages/core/src/index.ts, packages/studio/src/api/server.ts Apply the same filter to Studio discovery and remove the obsolete generic MiniMax probe fallback.
Core regression tests Cover configuration-to-HTTP serialization, current and legacy catalog behavior, regional and explicit URLs, and schema assertions.

Test plan

  • 64 tests across minimax-config, minimax-model-choices, provider-minimax-thinking, providers-lookup, and providers-schema pass with cached Vitest 3.2.4 and Zod 3.25.76 in an environment without provider or maintenance credentials; maximum two workers.
  • TypeScript 5.9.3 syntax/transpilation checks pass for the 14 changed TypeScript files.
  • Registry comparison retains all 747 existing model IDs and all 717 non-MiniMax model cards unchanged; legacy subscription and cover provider source are unchanged.
  • pnpm typecheck passes: unavailable locally. The focused strict compiler attempt stops at missing @mariozechner/pi-ai declarations.
  • pnpm test passes (all existing + new tests): full suite not run. Existing service-listing suites cannot load the missing locked undici dependency.
  • pnpm build passes: not run. Dependency installation and full builds are paused because this worker has less than 1 GiB free disk; no dependency downloads were attempted.
  • Manual verification: no live inference or paid API requests were made. Request-boundary checks use mocked HTTP responses.

Breaking changes (optional)

Ordinary recommendations no longer include obsolete MiniMax text models. Saved model IDs and their lookup metadata remain available; explicitly selected legacy models retain the historical default route. Custom/local catalogs, the legacy MiniMax Coding Plan, and nontext providers remain available under their existing contracts.

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