Skip to content

feat(models): prefer current MiniMax text choices - #283

Open
octo-patch wants to merge 1 commit into
grinev:mainfrom
octo-patch:feat/minimax-m31-model-choices
Open

octo-patch wants to merge 1 commit into
grinev:mainfrom
octo-patch:feat/minimax-m31-model-choices

Conversation

@octo-patch

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

Copy link
Copy Markdown

Reason: OpenCode can return older MiniMax text models alongside the current models, and alphabetical ordering places M3 before M3.1 Flash. Prefer the current text choices in provider browsing and search without invalidating saved model selections.

Description of changes

  • Show MiniMax M3.1 Flash first and M3 second when returned by the server, filtering standard older MiniMax text IDs from ordinary browsing/search on the minimax, minimax-cn, opencode, and openrouter routes. The bot does not add models absent from the server catalog.
  • Keep the complete availability set for favorites, recent models, configured defaults, reconciliation, and explicit legacy/custom requests. Preserve custom provider aliases, providers marked custom, non-text entries, attachments, and request variants. Other providers retain their existing sort order.
  • Add regression tests using the pinned real OpenCode v1 and v2 SDKs with offline HTTP transport: catalog discovery, selected/saved/custom/legacy model IDs, v2 model-switch requests, and attachment prompt serialization.

The gateway IDs are independently documented: OpenCode Zen uses minimax-m3.1-flash-free and minimax-m3; OpenRouter's public catalog uses minimax/minimax-m3.1-flash:free and minimax/minimax-m3. No model limits, prices, endpoints, or subscription support are inferred or changed.

Closes issue (optional)

None.

How it was tested

Using the repository lockfile and existing dependencies, in an environment without provider/GitHub credentials:

  • Repository-wide ESLint (src tests): passed.
  • Test TypeScript check (tsc -p tsconfig.test.json --noEmit): passed.
  • Complete Vitest suite, max 2 workers: 203 files passed; 2822 tests passed, 7 skipped.
  • Focused model, prompt, and v2 regressions: 194 tests passed, including 20 added real-SDK HTTP tests.
  • Prettier on changed files and git diff --check: passed.

No paid inference or live Telegram/OpenCode server was used. Local build is not run because the shared host's low-disk resource gate pauses builds. On head 88248e4bb0a02772110b2130582f0bebfa7045dc, CI and Container image are action_required, awaiting maintainer approval; remote build results are not yet available.

Checklist

  • PR title follows Conventional Commits: <type>(<scope>)?: <description>
  • This PR contains one logically complete change
  • Branch is based on the latest main (b6f0314f1fb0087ad74198cbc47cde39c4d22ace at submission)
  • I ran npm run lint, npm run build, and npm test — equivalent installed lint/test binaries passed; build is resource-paused
  • If this PR is OS-sensitive, behavior/limitations for Linux/macOS/Windows are described — no OS-specific behavior changed; validated on Linux

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