From d13feabccdf2b141ef912fbef4d9bb267faa6d06 Mon Sep 17 00:00:00 2001 From: arimesser <6778759+arimesser@users.noreply.github.com> Date: Thu, 16 Jul 2026 15:25:32 +0000 Subject: [PATCH 1/2] feat(ai-gateway): add Kat Coder 3.5 Pro (free) to recommended models Adds the free kwaipilot/kat-coder-pro-v2.5 model to autoFreeModels, positioned directly after 'tencent/hy3:free', so it appears in the global preferredModels (recommended models) list right below Tencent: Hy3. Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com> --- apps/web/src/lib/ai-gateway/models.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/web/src/lib/ai-gateway/models.ts b/apps/web/src/lib/ai-gateway/models.ts index 60ddc6378c..3a72e09244 100644 --- a/apps/web/src/lib/ai-gateway/models.ts +++ b/apps/web/src/lib/ai-gateway/models.ts @@ -41,6 +41,9 @@ export const PRIMARY_DEFAULT_MODEL = CLAUDE_SONNET_CURRENT_MODEL_ID; export const autoFreeModels = [ 'tencent/hy3:free', + kat_coder_pro_v2_5_free_model.status === 'public' + ? kat_coder_pro_v2_5_free_model.public_id + : null, stepfun_37_flash_free_model.status === 'public' ? stepfun_37_flash_free_model.public_id : null, ].filter(m => m !== null); From 0d90bcc2127134cb5805af70875de602abd1a228 Mon Sep 17 00:00:00 2001 From: chrarnoldus <12196001+chrarnoldus@users.noreply.github.com> Date: Thu, 16 Jul 2026 15:36:11 +0000 Subject: [PATCH 2/2] fix(ai-gateway): move Kat Coder 3.5 Pro (free) to preferredModels only Previously the free Kat Coder 3.5 Pro model (kwaipilot/kat-coder-pro-v2.5) was added to autoFreeModels, which also affects the auto-routing free-tier behavior. Revert that and instead surface it only in the curated preferredModels list, positioned directly below tencent/hy3:free, matching the intended "recommended models" placement without changing auto-routing. Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com> --- apps/web/src/lib/ai-gateway/models.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/web/src/lib/ai-gateway/models.ts b/apps/web/src/lib/ai-gateway/models.ts index 3a72e09244..f29015c01a 100644 --- a/apps/web/src/lib/ai-gateway/models.ts +++ b/apps/web/src/lib/ai-gateway/models.ts @@ -41,9 +41,6 @@ export const PRIMARY_DEFAULT_MODEL = CLAUDE_SONNET_CURRENT_MODEL_ID; export const autoFreeModels = [ 'tencent/hy3:free', - kat_coder_pro_v2_5_free_model.status === 'public' - ? kat_coder_pro_v2_5_free_model.public_id - : null, stepfun_37_flash_free_model.status === 'public' ? stepfun_37_flash_free_model.public_id : null, ].filter(m => m !== null); @@ -53,7 +50,11 @@ export const preferredModels = [ KILO_AUTO_EFFICIENT_MODEL.id, KILO_AUTO_FREE_MODEL.id, - ...autoFreeModels, + 'tencent/hy3:free', + kat_coder_pro_v2_5_free_model.status === 'public' + ? kat_coder_pro_v2_5_free_model.public_id + : null, + ...autoFreeModels.filter(m => m !== 'tencent/hy3:free'), CLAUDE_SONNET_CURRENT_MODEL_ID, CLAUDE_OPUS_CURRENT_MODEL_ID, @@ -66,7 +67,7 @@ export const preferredModels = [ KIMI_CURRENT_MODEL_ID, MINIMAX_CURRENT_MODEL_ID, QWEN37_PLUS_MODEL_ID, -]; +].filter((m): m is string => m !== null); export function isPdfSupportingModel(model: string): boolean { return isClaudeModel(model) || isOpenAiModel(model) || isGrokModel(model) || isGeminiModel(model);