From 014dcd46987acd1f534d7237824e5639b14871a1 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 12:14:15 +0000 Subject: [PATCH] Pair each Kimi wire shape with a model its endpoint serves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- e2e/agentnetwork/chat_test.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/e2e/agentnetwork/chat_test.go b/e2e/agentnetwork/chat_test.go index cac670210..a18bc1616 100644 --- a/e2e/agentnetwork/chat_test.go +++ b/e2e/agentnetwork/chat_test.go @@ -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})