Skip to main content

ADR-200: MiniMax Provider Integration

Status: Accepted Date: 2026-02-15 Author: Hal Casteel Track: H.3.9

Context

CODITECT currently supports 4 LLM providers:

  1. Claude (Anthropic) — primary, via anthropic SDK
  2. Codex (OpenAI) — via openai SDK
  3. Gemini (Google) — via google-generativeai SDK
  4. Kimi (Moonshot AI) — via process monitoring only

MiniMax (a Chinese AI company) now offers an Anthropic Messages API-compatible endpoint, making integration straightforward — the existing anthropic Python/Node SDK works with only a base URL change.

Decision

Add MiniMax as the 5th LLM provider in coditect-core's multi-provider architecture.

Provider Details

PropertyValue
Provider NameMiniMax
API Base URLhttps://api.minimax.io/anthropic
API CompatibilityAnthropic Messages API (drop-in)
AuthenticationAPI key via MINIMAX_API_KEY env var
SDKStandard anthropic Python/Node SDK
Documentationhttps://platform.minimax.io/docs/api-reference/text-anthropic-api

Available Models

ModelContext WindowSpeedUse Case
MiniMax-M2.5204,800 tokens~60 tpsFlagship
MiniMax-M2.5-highspeed204,800 tokens~100 tpsFast flagship
MiniMax-M2.1204,800 tokens~60 tpsBalanced
MiniMax-M2.1-highspeed204,800 tokens~100 tpsFast balanced
MiniMax-M2204,800 tokensVariableCost-effective

Supported Features

FeatureSupported
Text messagesYes
Tool use (function calling)Yes
Thinking/extended thinkingYes
StreamingYes
System promptsYes
Temperature (0.0-1.0]Yes
top_pYes
Image/document inputsNo
top_k, stop_sequencesIgnored

Integration Points

MiniMax touches these coditect-core files:

FileChange
config/model-pricing.jsonAdd 5 MiniMax models with pricing
config/judge-model-routing.jsonAdd minimax to supported_providers, add fallback entries
config/llm-tools.jsonAdd minimax CLI tool entry
config/llm-watchers.jsonAdd minimax watcher config
scripts/moe_classifier/core/multi_model_client.pyAdd MINIMAX enum, MiniMaxClient class, model mappings
scripts/moe_classifier/core/provider_detector.pyAdd MINIMAX provider with config and tier mappings
minimax/README.mdPer-LLM directory (ADR-122 pattern)

Implementation Pattern

MiniMax uses the Anthropic SDK with a custom base URL. The client implementation follows the same pattern as DeepSeekClient (OpenAI-compatible with custom base URL), but uses the anthropic SDK instead:

class MiniMaxClient(BaseProviderClient):
"""MiniMax API client (Anthropic Messages API-compatible)."""

BASE_URL = "https://api.minimax.io/anthropic"

async def complete(self, request: CompletionRequest) -> CompletionResponse:
import anthropic
client = anthropic.Anthropic(
api_key=self.api_key,
base_url=self.BASE_URL
)
response = client.messages.create(
model=request.model,
max_tokens=request.max_tokens,
temperature=request.temperature,
system=request.system_prompt or "",
messages=[{"role": "user", "content": request.prompt}]
)
# ... standard response mapping

Claude Code Integration

MiniMax can also be used as the backing provider for Claude Code itself via environment variables:

export ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
export ANTHROPIC_API_KEY=<minimax-api-key>
claude --model MiniMax-M2.5

Or via .claude/settings.local.json (gitignored):

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.minimax.io/anthropic",
"ANTHROPIC_API_KEY": "<minimax-api-key>"
}
}

Note: This replaces Anthropic entirely for that Claude Code session — it does not run both simultaneously. For simultaneous multi-provider use, use the MoE system.

Provider Tier Classification

ProviderTierNotes
AnthropicflagshipPrimary provider
OpenAIflagshipStrong reasoning (o3)
Googleflagship1M context, multimodal
MiniMaxcost_effectiveAnthropic-compatible, 204K context, high throughput
DeepSeekcost_effectiveThinking mode, budget option
AlibabaspecializedMultilingual, domain expertise
Metaopen_sourceSelf-hostable via Together/Groq

Important Limitations

  1. No image/document inputs — text-only; cannot be used for vision tasks
  2. Multi-turn tool use — full assistant response (all content blocks) must be appended to conversation history to maintain reasoning chain continuity
  3. Temperature range — exclusive of 0.0: use (0.0, 1.0], not [0.0, 1.0]
  4. Ignored parameterstop_k, stop_sequences, service_tier, mcp_servers silently ignored

Consequences

Positive

  • 5th provider increases MoE diversity — more perspectives for Constitutional Court panels
  • Anthropic SDK compatible — minimal new code; reuses existing anthropic SDK dependency
  • High throughput — highspeed variants at ~100 tps useful for batch classification
  • 204K context — matches Anthropic's context window size
  • Cost-effective tier — provides budget option with Anthropic API compatibility

Negative

  • No vision — cannot serve as judge for image-related reviews
  • Chinese provider — may have data residency considerations for some customers
  • Temperature quirk — 0.0 not allowed, requires guard in client code

Neutral

  • Follows established ADR-122 (Unified LLM Component Architecture) and ADR-073 (MoE Provider Flexibility) patterns
  • No new SDK dependency — uses existing anthropic package
ADRRelationship
ADR-073MoE Provider Flexibility — framework this extends
ADR-122Unified LLM Component Architecture — per-LLM directory pattern
ADR-194Codi-Watcher v3.0 — session monitoring (if MiniMax gets a CLI)