From b52c0627ca7fa72365161b655cfaa12ba4f2fbc6 Mon Sep 17 00:00:00 2001 From: Simon Shi Date: Thu, 21 May 2026 20:33:34 +0800 Subject: [PATCH] feat(qoder): add model catalog entries for backend and UI Add Qoder provider models to both backend MODEL_CATALOG and UI MODEL_CATALOGS with 11 models (5 auto-routing tiers + 6 frontier models). Frontier models use unified preset mappings except DeepSeek which routes haiku to Flash. Co-Authored-By: Claude Opus 4.7 --- src/cliproxy/model-catalog.ts | 62 +++++++++++++++++ ui/src/lib/model-catalogs.ts | 122 ++++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+) diff --git a/src/cliproxy/model-catalog.ts b/src/cliproxy/model-catalog.ts index 29f6052e..e4144394 100644 --- a/src/cliproxy/model-catalog.ts +++ b/src/cliproxy/model-catalog.ts @@ -265,6 +265,68 @@ export const MODEL_CATALOG: Partial> = }, ], }, + qoder: { + provider: 'qoder', + displayName: 'Qoder', + defaultModel: 'qoder/auto', + models: [ + { + id: 'qoder/auto', + name: 'Qoder Auto', + description: 'Auto selects the best Qoder model for your prompt', + }, + { + id: 'qoder/ultimate', + name: 'Qoder Ultimate', + description: 'Highest quality Qoder tier', + }, + { + id: 'qoder/performance', + name: 'Qoder Performance', + description: 'Balanced quality and speed', + }, + { + id: 'qoder/efficient', + name: 'Qoder Efficient', + description: 'Cost-efficient Qoder tier', + }, + { + id: 'qoder/lite', + name: 'Qoder Lite', + description: 'Fastest and most affordable Qoder tier', + }, + { + id: 'qoder/qmodel', + name: 'Qwen 3.6 Plus (via Qoder)', + description: 'Qwen 3.6 Plus frontier model', + }, + { + id: 'qoder/dmodel', + name: 'DeepSeek V4 Pro (via Qoder)', + description: 'DeepSeek V4 Pro frontier model', + }, + { + id: 'qoder/dfmodel', + name: 'DeepSeek V4 Flash (via Qoder)', + description: 'DeepSeek V4 Flash frontier model', + }, + { + id: 'qoder/gm51model', + name: 'GLM 5.1 (via Qoder)', + description: 'GLM 5.1 frontier model', + }, + { + id: 'qoder/kmodel', + name: 'Kimi K2.6 (via Qoder)', + description: 'Kimi K2.6 frontier model', + }, + { + id: 'qoder/mmodel', + name: 'MiniMax M2.7 (via Qoder)', + description: 'MiniMax M2.7 frontier model', + }, + ], + }, kimi: { provider: 'kimi', displayName: 'Kimi (Moonshot)', diff --git a/ui/src/lib/model-catalogs.ts b/ui/src/lib/model-catalogs.ts index df7d35dd..805120af 100644 --- a/ui/src/lib/model-catalogs.ts +++ b/ui/src/lib/model-catalogs.ts @@ -454,6 +454,128 @@ export const MODEL_CATALOGS: Record = { }, ], }, + qoder: { + provider: 'qoder', + displayName: 'Qoder', + defaultModel: 'qoder/auto', + models: [ + { + id: 'qoder/auto', + name: 'Qoder Auto', + description: 'Auto selects the best Qoder model for your prompt', + presetMapping: { + default: 'qoder/auto', + opus: 'qoder/auto', + sonnet: 'qoder/auto', + haiku: 'qoder/auto', + }, + }, + { + id: 'qoder/ultimate', + name: 'Qoder Ultimate', + description: 'Highest quality Qoder tier', + presetMapping: { + default: 'qoder/ultimate', + opus: 'qoder/ultimate', + sonnet: 'qoder/ultimate', + haiku: 'qoder/ultimate', + }, + }, + { + id: 'qoder/performance', + name: 'Qoder Performance', + description: 'Balanced quality and speed', + presetMapping: { + default: 'qoder/performance', + opus: 'qoder/performance', + sonnet: 'qoder/performance', + haiku: 'qoder/performance', + }, + }, + { + id: 'qoder/efficient', + name: 'Qoder Efficient', + description: 'Cost-efficient Qoder tier', + presetMapping: { + default: 'qoder/efficient', + opus: 'qoder/efficient', + sonnet: 'qoder/efficient', + haiku: 'qoder/efficient', + }, + }, + { + id: 'qoder/lite', + name: 'Qoder Lite', + description: 'Fastest and most affordable Qoder tier', + presetMapping: { + default: 'qoder/lite', + opus: 'qoder/lite', + sonnet: 'qoder/lite', + haiku: 'qoder/lite', + }, + }, + { + id: 'qoder/qmodel', + name: 'Qwen 3.6 Plus (via Qoder)', + description: 'Qwen 3.6 Plus frontier model', + presetMapping: { + default: 'qoder/qmodel', + opus: 'qoder/qmodel', + sonnet: 'qoder/qmodel', + haiku: 'qoder/qmodel', + }, + }, + { + id: 'qoder/dmodel', + name: 'DeepSeek V4 Pro (via Qoder)', + description: 'DeepSeek V4 Pro frontier model', + presetMapping: { + default: 'qoder/dmodel', + opus: 'qoder/dmodel', + sonnet: 'qoder/dmodel', + haiku: 'qoder/dfmodel', + }, + }, + { + id: 'qoder/dfmodel', + name: 'DeepSeek V4 Flash (via Qoder)', + description: 'DeepSeek V4 Flash frontier model', + }, + { + id: 'qoder/gm51model', + name: 'GLM 5.1 (via Qoder)', + description: 'GLM 5.1 frontier model', + presetMapping: { + default: 'qoder/gm51model', + opus: 'qoder/gm51model', + sonnet: 'qoder/gm51model', + haiku: 'qoder/gm51model', + }, + }, + { + id: 'qoder/kmodel', + name: 'Kimi K2.6 (via Qoder)', + description: 'Kimi K2.6 frontier model', + presetMapping: { + default: 'qoder/kmodel', + opus: 'qoder/kmodel', + sonnet: 'qoder/kmodel', + haiku: 'qoder/kmodel', + }, + }, + { + id: 'qoder/mmodel', + name: 'MiniMax M2.7 (via Qoder)', + description: 'MiniMax M2.7 frontier model', + presetMapping: { + default: 'qoder/mmodel', + opus: 'qoder/mmodel', + sonnet: 'qoder/mmodel', + haiku: 'qoder/mmodel', + }, + }, + ], + }, kimi: { provider: 'kimi', displayName: 'Kimi (Moonshot)',