feat(tools): add MiniMax as bundled web search provider

Add native MiniMax Search integration via their Coding Plan search API
(POST /v1/coding_plan/search). This brings MiniMax in line with Brave,
Kimi, Grok, Gemini, and other providers that already have bundled web
search support.

- Implement WebSearchProviderPlugin with caching, credential resolution,
  and trusted endpoint wrapping
- Support both global (api.minimax.io) and CN (api.minimaxi.com)
  endpoints, inferred from explicit region config, model provider base
  URL, or minimax-portal OAuth base URL
- Prefer MINIMAX_CODE_PLAN_KEY over MINIMAX_API_KEY in credential
  fallback, matching existing repo precedence
- Accept SecretRef objects for webSearch.apiKey (type: [string, object])
- Register in bundled registry, provider-id compat map, and fast-path
  plugin id list with full alignment test coverage
- Add unit tests for endpoint/region resolution and edge cases

Closes #47927
Related #11399

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jithendra
2026-03-25 18:41:35 -04:00
committed by Peter Steinberger
parent a722719720
commit d204be80af
18 changed files with 798 additions and 66 deletions

View File

@@ -10,6 +10,11 @@ title: "MiniMax"
OpenClaw's MiniMax provider defaults to **MiniMax M2.7**.
MiniMax also provides:
- bundled speech synthesis via T2A v2
- bundled `web_search` through the MiniMax Coding Plan search API
## Model lineup
- `MiniMax-M2.7`: default hosted reasoning model.
@@ -44,8 +49,24 @@ When onboarding or API-key setup writes explicit `models.providers.minimax`
entries, OpenClaw materializes `MiniMax-M2.7` and
`MiniMax-M2.7-highspeed` with `input: ["text", "image"]`.
The bundled MiniMax provider catalog itself currently advertises those chat
refs as text-only metadata until explicit provider config is materialized.
The bundled MiniMax provider catalog also advertises image input on those M2.7
chat refs, so image-capable routing can use MiniMax without requiring explicit
provider config first.
## Web search
The MiniMax plugin also registers `web_search` through the MiniMax Coding Plan
search API.
- Provider id: `minimax`
- Structured results: titles, URLs, snippets, related queries
- Preferred env var: `MINIMAX_CODE_PLAN_KEY`
- Accepted env alias: `MINIMAX_CODING_API_KEY`
- Compatibility fallback: `MINIMAX_API_KEY` when it already points at a coding-plan token
- Region reuse: `plugins.entries.minimax.config.webSearch.region`, then `MINIMAX_API_HOST`, then MiniMax provider base URLs
Config lives under `plugins.entries.minimax.config.webSearch.*`.
See [MiniMax Search](/tools/minimax-search).
## Choose a setup