Add MiniMax as an Anthropic-compatible AI provider

MiniMax-M3[1m] via api.minimaxi.com/anthropic per the official
Claude Code token-plan docs; the claude-code combo enters the
compatibility matrix as stable with mock regression coverage,
including the Haiku-slot fallback to the single model.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QKxGW1raAWaqeU8WdHsMsp
This commit is contained in:
2026-08-25 10:49:53 -04:00
co-authored by Claude Fable 5
parent e57d2a3424
commit 6b491d52be
3 changed files with 129 additions and 15 deletions
+5 -2
View File
@@ -34,7 +34,7 @@ export PATH="$TEST_HOME/stubs:$PATH"
for reg in ai-providers ai-harnesses ai-compatibility; do
jq -e . "$ROOT/cn/registry/$reg.json" > /dev/null || fail "$reg.json parses"
done
for p in deepseek kimi zai; do
for p in deepseek kimi zai minimax; do
jq -e --arg p "$p" '.providers[$p].endpoints.anthropic // .providers[$p].endpoints.openai' \
"$ROOT/cn/registry/ai-providers.json" > /dev/null || fail "provider $p has an endpoint"
done
@@ -67,13 +67,16 @@ declare -A bases=(
[deepseek]="https://api.deepseek.com/anthropic"
[kimi]="https://api.kimi.com/coding/"
[zai]="https://api.z.ai/api/anthropic"
[minimax]="https://api.minimaxi.com/anthropic"
)
for p in deepseek kimi zai; do
for p in deepseek kimi zai minimax; do
out=$(cn_ai_render_env claude-code "$p" test-model sk-x)
grep -qF "ANTHROPIC_BASE_URL=${bases[$p]}" <<<"$out" || fail "claude-code $p base url" "$out"
grep -q "ANTHROPIC_AUTH_TOKEN=sk-x" <<<"$out" || fail "claude-code $p auth token"
grep -q "ANTHROPIC_API_KEY=sk-x" <<<"$out" || fail "claude-code $p api key"
done
out=$(cn_ai_render_env claude-code minimax "MiniMax-M3[1m]" sk-x)
grep -qF "ANTHROPIC_DEFAULT_HAIKU_MODEL=MiniMax-M3" <<<"$out" || fail "minimax haiku slot falls back to default-coding"
out=$(cn_ai_render_env opencode deepseek test-model sk-x)
grep -q "DEEPSEEK_API_KEY=sk-x" <<<"$out" || fail "opencode deepseek env"
if cn_ai_render_env opencode zai m k > /dev/null 2>&1; then