From d252168de5f2defc366bd003c3dd60b2bca63290 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Tue, 17 Mar 2026 21:11:18 -0400 Subject: [PATCH] fix: switch alibaba-coding-plan to OpenAI-compat endpoint with proper compat flags (#1003) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The alibaba-coding-plan provider was using the Anthropic-compatible endpoint (/apps/anthropic) with anthropic-messages API, which caused issues with thinking mode on several models (MiniMax-M2.5 thinking loop, missing thinkingFormat for Qwen/GLM models). Changes for all 8 models: - API: anthropic-messages → openai-completions - Endpoint: /apps/anthropic → /v1 (OpenAI-compatible) - Added per-model compat flags: - Qwen models: thinkingFormat: 'qwen', supportsDeveloperRole: false - GLM models: thinkingFormat: 'qwen', supportsDeveloperRole: false - MiniMax-M2.5: supportsReasoningEffort: true, maxTokensField: 'max_tokens' - Kimi K2.5: thinkingFormat: 'zai', supportsDeveloperRole: false - Enabled reasoning for qwen3-max (was incorrectly false) - Fixed context windows to match tested values - Fixed MiniMax-M2.5 maxTokens: 24576 → 65536 --- packages/pi-ai/src/models.generated.ts | 76 ++++++++++++++------------ 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/packages/pi-ai/src/models.generated.ts b/packages/pi-ai/src/models.generated.ts index 85eb1fa85..fe3112ede 100644 --- a/packages/pi-ai/src/models.generated.ts +++ b/packages/pi-ai/src/models.generated.ts @@ -13388,27 +13388,28 @@ export const MODELS = { "qwen3.5-plus": { id: "qwen3.5-plus", name: "Qwen3.5 Plus", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 1000000, + contextWindow: 983616, maxTokens: 65536, - } satisfies Model<"anthropic-messages">, + compat: { thinkingFormat: "qwen", supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, "qwen3-max-2026-01-23": { id: "qwen3-max-2026-01-23", name: "Qwen3 Max 2026-01-23", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", - reasoning: false, + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", + reasoning: true, input: ["text"], cost: { input: 0, @@ -13416,15 +13417,16 @@ export const MODELS = { cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, + contextWindow: 258048, maxTokens: 32768, - } satisfies Model<"anthropic-messages">, + compat: { thinkingFormat: "qwen", supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, "qwen3-coder-next": { id: "qwen3-coder-next", name: "Qwen3 Coder Next", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: false, input: ["text"], cost: { @@ -13433,15 +13435,16 @@ export const MODELS = { cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, + contextWindow: 204800, maxTokens: 65536, - } satisfies Model<"anthropic-messages">, + compat: { supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, "qwen3-coder-plus": { id: "qwen3-coder-plus", name: "Qwen3 Coder Plus", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: false, input: ["text"], cost: { @@ -13450,15 +13453,16 @@ export const MODELS = { cacheRead: 0, cacheWrite: 0, }, - contextWindow: 1000000, + contextWindow: 997952, maxTokens: 65536, - } satisfies Model<"anthropic-messages">, + compat: { supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, "MiniMax-M2.5": { id: "MiniMax-M2.5", name: "MiniMax M2.5", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: true, input: ["text"], cost: { @@ -13468,14 +13472,15 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 196608, - maxTokens: 24576, - } satisfies Model<"anthropic-messages">, + maxTokens: 65536, + compat: { supportsStore: false, supportsDeveloperRole: false, supportsReasoningEffort: true, maxTokensField: "max_tokens" }, + } satisfies Model<"openai-completions">, "glm-5": { id: "glm-5", name: "GLM-5", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: true, input: ["text"], cost: { @@ -13486,13 +13491,14 @@ export const MODELS = { }, contextWindow: 202752, maxTokens: 16384, - } satisfies Model<"anthropic-messages">, + compat: { thinkingFormat: "qwen", supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, "glm-4.7": { id: "glm-4.7", name: "GLM-4.7", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: true, input: ["text"], cost: { @@ -13501,26 +13507,28 @@ export const MODELS = { cacheRead: 0, cacheWrite: 0, }, - contextWindow: 202752, + contextWindow: 169984, maxTokens: 16384, - } satisfies Model<"anthropic-messages">, + compat: { thinkingFormat: "qwen", supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, "kimi-k2.5": { id: "kimi-k2.5", name: "Kimi K2.5", - api: "anthropic-messages", + api: "openai-completions", provider: "alibaba-coding-plan", - baseUrl: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1", reasoning: true, - input: ["text", "image"], + input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, + contextWindow: 258048, maxTokens: 32768, - } satisfies Model<"anthropic-messages">, + compat: { thinkingFormat: "zai", supportsDeveloperRole: false }, + } satisfies Model<"openai-completions">, }, "ollama-cloud": { "cogito-2.1:671b": {