From b987ad946511cd1c42962065bd5e4ed8d6da2aaf Mon Sep 17 00:00:00 2001 From: Yufeng He <40085740+he-yufeng@users.noreply.github.com> Date: Thu, 18 Jun 2026 20:09:59 +0800 Subject: [PATCH] fix(core): keep qwen3.6-flash and kimi-k2.6 presets text-only modalityDefaults only marks the multimodal variants (qwen3.6-plus, kimi-k2.5) as image/video capable; qwen3.6-flash and kimi-k2.6 fall through to the text-only default. The Token Plan and Idealab presets still declared image/video for them, overstating what the models accept. Drop the stray modalities so they match the defaults, as a follow-up to the DeepSeek cleanup in #5268. --- .../__tests__/presets/alibaba-token-plan.test.ts | 16 +++++++++++++++- .../providers/__tests__/presets/idealab.test.ts | 14 ++++++++++++++ .../src/providers/presets/alibaba-token-plan.ts | 2 -- packages/core/src/providers/presets/idealab.ts | 1 - 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/core/src/providers/__tests__/presets/alibaba-token-plan.test.ts b/packages/core/src/providers/__tests__/presets/alibaba-token-plan.test.ts index 6472f5b03d7..298f504460e 100644 --- a/packages/core/src/providers/__tests__/presets/alibaba-token-plan.test.ts +++ b/packages/core/src/providers/__tests__/presets/alibaba-token-plan.test.ts @@ -52,8 +52,22 @@ describe('token plan provider', () => { ).toEqual({ extra_body: { enable_thinking: true }, contextWindowSize: 1000000, - modalities: { image: true, video: true }, }); + expect( + template.find((model) => model.id === 'kimi-k2.6')?.generationConfig, + ).toEqual({ + extra_body: { enable_thinking: true }, + contextWindowSize: 262144, + }); + // Plus/2.5 variants are genuinely multimodal and stay that way. + expect( + template.find((model) => model.id === 'qwen3.6-plus')?.generationConfig + ?.modalities, + ).toEqual({ image: true, video: true }); + expect( + template.find((model) => model.id === 'kimi-k2.5')?.generationConfig + ?.modalities, + ).toEqual({ image: true, video: true }); expect(plan.providerId).toBe('token-plan'); expect(plan.authType).toBe(AuthType.USE_OPENAI); expect(plan.env).toEqual({ [TOKEN_PLAN_ENV_KEY]: 'sk-token' }); diff --git a/packages/core/src/providers/__tests__/presets/idealab.test.ts b/packages/core/src/providers/__tests__/presets/idealab.test.ts index 5151a1b9b45..6dae252198e 100644 --- a/packages/core/src/providers/__tests__/presets/idealab.test.ts +++ b/packages/core/src/providers/__tests__/presets/idealab.test.ts @@ -63,6 +63,20 @@ describe('idealabProvider', () => { }); }); + it('does not mark kimi-k2.6 as multimodal', () => { + const plan = buildInstallPlan(idealabProvider, { + baseUrl: 'https://idealab.alibaba-inc.com/api/openai/v1', + apiKey: 'sk-idealab', + modelIds: ['bailian/kimi-k2.6'], + }); + + const models = plan.modelProviders?.[0]?.models; + expect(models?.[0]?.generationConfig).toEqual({ + extra_body: { enable_thinking: true }, + contextWindowSize: 262144, + }); + }); + it('falls back gracefully for unknown model IDs', () => { const plan = buildInstallPlan(idealabProvider, { baseUrl: 'https://idealab.alibaba-inc.com/api/openai/v1', diff --git a/packages/core/src/providers/presets/alibaba-token-plan.ts b/packages/core/src/providers/presets/alibaba-token-plan.ts index 4f798634af8..82b47e6bdcf 100644 --- a/packages/core/src/providers/presets/alibaba-token-plan.ts +++ b/packages/core/src/providers/presets/alibaba-token-plan.ts @@ -27,7 +27,6 @@ const TOKEN_PLAN_MODELS: ModelSpec[] = [ id: 'qwen3.6-flash', contextWindowSize: 1000000, enableThinking: true, - modalities: { image: true, video: true }, }, { id: 'deepseek-v4-pro', contextWindowSize: 1000000 }, { id: 'deepseek-v4-flash', contextWindowSize: 1000000 }, @@ -36,7 +35,6 @@ const TOKEN_PLAN_MODELS: ModelSpec[] = [ id: 'kimi-k2.6', contextWindowSize: 262144, enableThinking: true, - modalities: { image: true, video: true }, }, { id: 'kimi-k2.5', diff --git a/packages/core/src/providers/presets/idealab.ts b/packages/core/src/providers/presets/idealab.ts index aeabd1ab6a5..df310f6a97b 100644 --- a/packages/core/src/providers/presets/idealab.ts +++ b/packages/core/src/providers/presets/idealab.ts @@ -36,7 +36,6 @@ export const idealabProvider: ProviderConfig = { id: 'bailian/kimi-k2.6', contextWindowSize: 262144, enableThinking: true, - modalities: { image: true, video: true }, }, ], modelsEditable: true,