Files
openclaw/extensions/minimax/openclaw.plugin.json
Jithendra d204be80af 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>
2026-04-04 19:56:04 +09:00

101 lines
3.2 KiB
JSON

{
"id": "minimax",
"enabledByDefault": true,
"legacyPluginIds": ["minimax-portal-auth"],
"providers": ["minimax", "minimax-portal"],
"autoEnableWhenConfiguredProviders": ["minimax", "minimax-portal"],
"providerAuthEnvVars": {
"minimax": ["MINIMAX_API_KEY"],
"minimax-portal": ["MINIMAX_OAUTH_TOKEN", "MINIMAX_API_KEY"]
},
"providerAuthChoices": [
{
"provider": "minimax-portal",
"method": "oauth",
"choiceId": "minimax-global-oauth",
"choiceLabel": "MiniMax OAuth (Global)",
"choiceHint": "Global endpoint - api.minimax.io",
"groupId": "minimax",
"groupLabel": "MiniMax",
"groupHint": "M2.7 (recommended)"
},
{
"provider": "minimax",
"method": "api-global",
"choiceId": "minimax-global-api",
"deprecatedChoiceIds": ["minimax", "minimax-api", "minimax-cloud", "minimax-api-lightning"],
"choiceLabel": "MiniMax API key (Global)",
"choiceHint": "Global endpoint - api.minimax.io",
"groupId": "minimax",
"groupLabel": "MiniMax",
"groupHint": "M2.7 (recommended)",
"optionKey": "minimaxApiKey",
"cliFlag": "--minimax-api-key",
"cliOption": "--minimax-api-key <key>",
"cliDescription": "MiniMax API key"
},
{
"provider": "minimax-portal",
"method": "oauth-cn",
"choiceId": "minimax-cn-oauth",
"choiceLabel": "MiniMax OAuth (CN)",
"choiceHint": "CN endpoint - api.minimaxi.com",
"groupId": "minimax",
"groupLabel": "MiniMax",
"groupHint": "M2.7 (recommended)"
},
{
"provider": "minimax",
"method": "api-cn",
"choiceId": "minimax-cn-api",
"deprecatedChoiceIds": ["minimax-api-key-cn"],
"choiceLabel": "MiniMax API key (CN)",
"choiceHint": "CN endpoint - api.minimaxi.com",
"groupId": "minimax",
"groupLabel": "MiniMax",
"groupHint": "M2.7 (recommended)",
"optionKey": "minimaxApiKey",
"cliFlag": "--minimax-api-key",
"cliOption": "--minimax-api-key <key>",
"cliDescription": "MiniMax API key"
}
],
"contracts": {
"speechProviders": ["minimax"],
"mediaUnderstandingProviders": ["minimax", "minimax-portal"],
"imageGenerationProviders": ["minimax", "minimax-portal"],
"webSearchProviders": ["minimax"]
},
"uiHints": {
"webSearch.apiKey": {
"label": "MiniMax Coding Plan key",
"help": "MiniMax Coding Plan key (fallback: MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY, or MINIMAX_API_KEY if it already points at a coding-plan token).",
"sensitive": true,
"placeholder": "sk-cp-..."
},
"webSearch.region": {
"label": "MiniMax Search Region",
"help": "Search endpoint region override. Leave unset to reuse your configured MiniMax host or MINIMAX_API_HOST."
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"webSearch": {
"type": "object",
"additionalProperties": false,
"properties": {
"apiKey": {
"type": ["string", "object"]
},
"region": {
"type": "string",
"enum": ["global", "cn"]
}
}
}
}
}
}