Skip to content

feat: add MiniMax M3 provider - #1540

Closed
Octopus (octo-patch) wants to merge 4 commits into
browseros-ai:mainfrom
octo-patch:octo/minimax-m3-provider
Closed

Octopus (octo-patch) wants to merge 4 commits into
browseros-ai:mainfrom
octo-patch:octo/minimax-m3-provider

Conversation

@octo-patch

@octo-patch Octopus (octo-patch) commented Jul 3, 2026 •

Copy link
Copy Markdown

Summary

Add MiniMax as an LLM provider option, defaulting to MiniMax-M3 on the international OpenAI-compatible endpoint while supporting editable OpenAI-compatible and Anthropic-compatible endpoints.

Changes

  • Register minimax across the shared schema, provider UI, and server factories
  • Add MiniMax-M3 and MiniMax-M2.7 with their current context windows and supported capabilities
  • Support the global and China OpenAI-compatible and Anthropic-compatible endpoints through the editable base URL
  • Route /anthropic base URLs through the Anthropic SDK while keeping the documented base URL unchanged
  • Link the official API overview from the provider form
  • Add unit coverage for provider creation, templates, the model catalog, and endpoint request routing

Testing

  • bun test apps/app/screens/ai-settings/models.test.ts apps/app/lib/llm-providers/providerTemplates.test.ts apps/server/tests/lib/clients/llm/provider.test.ts
  • bun test scripts/generate-models.test.ts
  • bun run --filter @browseros/app test
  • bun run --filter @browseros/server test:lib
  • bun run --filter @browseros/server test:agent
  • bun run check

@greptile-apps

greptile-apps Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

PR author is not in the allowed authors list.

@github-actions

github-actions Bot commented Jul 3, 2026 •

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA. Thank you!
Posted by the CLA Assistant Lite bot.

@octo-patch

Copy link
Copy Markdown
Author

#1540

@octo-patch

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@octo-patch

Copy link
Copy Markdown
Author

Updated the MiniMax adapter to route /anthropic base URLs through the Anthropic SDK while preserving /anthropic as the user-facing base URL. I added request-capture coverage for the global and China OpenAI-compatible and Anthropic-compatible endpoints, and ran the app, server lib, server agent, model generation, and root check suites.

@octo-patch

Copy link
Copy Markdown
Author

Resolved the merge conflict against the latest main while preserving the MiniMax provider entry in the simplified shared schema. I ran the three MiniMax provider test files (13 tests) and the shared package typecheck.

@DaniAkash

Copy link
Copy Markdown
Contributor

I believe this can already be achieved with our open ai compatible provider

Screenshot 2026-09-02 at 5 17 41 PM

Vasilev Dmitrii (gHashTag) added a commit to gHashTag/BrowserOS that referenced this pull request Sep 5, 2026
…and stop advising a rebase that would destroy work (#369)

For four rounds `why` warned that all remaining accepted branches conflict, that
nothing can land and that the swarm will starve behind them. Mechanically true
and useless: those branches will never land. Their base has moved past them,
replaying one would delete work that landed since, and there was nothing in the
loop that could say so.

`salvage` has now measured what each still owes and filed it as a brief against
today's base - gHashTag/trios#1537, browseros-ai#1538, browseros-ai#1539, browseros-ai#1540. So the branches are
recorded as REPLACED, with the issue that replaces each:

  queen-1302 -> browseros-ai#1537   billing mode and quota authority
  queen-1303 -> browseros-ai#1538   the started_running state
  queen-1387 -> browseros-ai#1539   the heading-parity checker
  queen-1422 -> browseros-ai#1540   the noise filter that deleted its answer

Five conflicting branches become one, and the one that remains - queen-1484 - is
not debt either: it is an OPEN issue whose own criterion fails against the base
today, which the swarm can pick up as ordinary work.

RECORDED, NEVER INFERRED. Nothing here guesses that a branch is superseded.
Someone says so and says by what, in a file, with a timestamp. The branches
themselves are untouched: no deletion, no force, nothing irreversible. The
selftest fails if `--force`, `branch -D` or `push --delete` ever appear in this
file.

AND THE ADVICE CHANGED, because it was wrong. For four rounds this tool told a
reader that a conflicting branch "needs a rebase, or an honest closure as
superseded". Rebasing browseros-ai#1302 would have deleted browseros-ai#1308's landed code and
reintroduced a non-ASCII ellipsis into a redaction the base already performs in
ASCII. It now says what was learned:

  A rebase is usually the WRONG remedy once the base has moved: replaying an old
  branch can delete work that landed since, and applying cleanly proves nothing,
  because a semantic conflict carries no markers.
    tri salvage <N>   measures what the branch would still add, asks the issue
                      its own criterion against the base, and writes the
                      remainder as a brief

A tool that recommends the destructive option in one line, every round, for four
rounds, is worse than one that says nothing.

selftest 160 pass 0 fail.

Co-authored-by: Dmitrii Vasilev <trackgmedernj@hotmail.com>
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.

2 participants