Pair each Kimi wire shape with a model its endpoint serves

Moonshot's Anthropic-compatible /anthropic surface only serves the
current coding flagship: requesting kimi-k2-thinking there returns
resource_not_found_error ('Not found the model kimi-k2-thinking or
Permission denied'), while kimi-k3 works — it's the model Moonshot's
own Claude Code guide configures. Swap the pairing: kimi-k3 rides the
Anthropic shape and kimi-k2-thinking the OpenAI shape (which serves
every platform model). Model strings stay distinct across the two
provider records, keeping routing unambiguous.
This commit is contained in:
Claude
2026-07-21 12:14:15 +00:00
parent 4d88973bb2
commit 014dcd4698

View File

@@ -45,9 +45,12 @@ func availableProviders() []providerCase {
// Messages API under the /anthropic path prefix (the endpoint
// Moonshot's Claude Code guide uses). One provider record per shape,
// with distinct model strings so model→provider routing stays
// unambiguous while both are enabled.
ps = append(ps, providerCase{name: "kimi-openai", catalogID: "kimi_api", upstream: "https://api.moonshot.ai", apiKey: k, model: "kimi-k3", kind: harness.WireChat})
ps = append(ps, providerCase{name: "kimi-anthropic", catalogID: "kimi_api", upstream: "https://api.moonshot.ai/anthropic", apiKey: k, model: "kimi-k2-thinking", kind: harness.WireMessages})
// unambiguous while both are enabled. The /anthropic surface only
// serves the current coding flagship (kimi-k3 — requesting
// kimi-k2-thinking there returns resource_not_found_error), so K3
// rides the Anthropic shape and K2 Thinking the OpenAI shape.
ps = append(ps, providerCase{name: "kimi-openai", catalogID: "kimi_api", upstream: "https://api.moonshot.ai", apiKey: k, model: "kimi-k2-thinking", kind: harness.WireChat})
ps = append(ps, providerCase{name: "kimi-anthropic", catalogID: "kimi_api", upstream: "https://api.moonshot.ai/anthropic", apiKey: k, model: "kimi-k3", kind: harness.WireMessages})
}
if k, u := os.Getenv("VERCEL_TOKEN"), os.Getenv("VERCEL_URL"); k != "" && u != "" {
ps = append(ps, providerCase{name: "vercel", catalogID: "vercel_ai_gateway", upstream: u, apiKey: k, model: "openai/gpt-4o-mini", kind: harness.WireChat})