From 50a50009588785fc97e5872f17cc1c6c5557fdf3 Mon Sep 17 00:00:00 2001 From: kirillk Date: Tue, 17 Mar 2026 15:44:14 -0400 Subject: [PATCH 1/3] feat(vscode): filter kilo-auto/small from model picker by default Add isSmall() helper and KILO_AUTO_SMALL_IDS set to model-selector-utils. ModelSelectorBase gains includeAutoSmall prop (default false) that filters out small models. Only the small model setting in ProvidersTab passes includeAutoSmall to show them. --- .../src/components/settings/ProvidersTab.tsx | 1 + .../src/components/shared/ModelSelector.tsx | 12 +++++++++--- .../src/components/shared/model-selector-utils.ts | 5 +++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/ProvidersTab.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/ProvidersTab.tsx index d5e811892a3..cf7f642782a 100644 --- a/packages/kilo-vscode/webview-ui/src/components/settings/ProvidersTab.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/settings/ProvidersTab.tsx @@ -108,6 +108,7 @@ const ProvidersTab: Component = () => { placement="bottom-start" allowClear clearLabel={language.t("settings.providers.notSet")} + includeAutoSmall /> diff --git a/packages/kilo-vscode/webview-ui/src/components/shared/ModelSelector.tsx b/packages/kilo-vscode/webview-ui/src/components/shared/ModelSelector.tsx index 14db78e09d9..45a57ddf385 100644 --- a/packages/kilo-vscode/webview-ui/src/components/shared/ModelSelector.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/shared/ModelSelector.tsx @@ -15,7 +15,7 @@ import { useProvider, EnrichedModel } from "../../context/provider" import { useSession } from "../../context/session" import { useLanguage } from "../../context/language" import type { ModelSelection } from "../../types/messages" -import { KILO_GATEWAY_ID, providerSortKey, isFree, buildTriggerLabel } from "./model-selector-utils" +import { KILO_GATEWAY_ID, isSmall, providerSortKey, isFree, buildTriggerLabel } from "./model-selector-utils" interface ModelGroup { providerName: string @@ -37,6 +37,8 @@ export interface ModelSelectorBaseProps { allowClear?: boolean /** Label shown for the clear option */ clearLabel?: string + /** Include the kilo-auto/small model in the list — defaults to false */ + includeAutoSmall?: boolean } export const ModelSelectorBase: Component = (props) => { @@ -52,10 +54,14 @@ export const ModelSelectorBase: Component = (props) => { let searchRef: HTMLInputElement | undefined let listRef: HTMLDivElement | undefined - // Only show models from Kilo Gateway or connected providers + // Only show models from Kilo Gateway or connected providers. + // kilo-auto/small is excluded unless includeAutoSmall is explicitly true. const visibleModels = createMemo(() => { const c = connected() - return models().filter((m) => m.providerID === KILO_GATEWAY_ID || c.includes(m.providerID)) + return models().filter((m) => { + if (!props.includeAutoSmall && isSmall(m)) return false + return m.providerID === KILO_GATEWAY_ID || c.includes(m.providerID) + }) }) const hasProviders = () => visibleModels().length > 0 diff --git a/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts b/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts index c32309e2375..67833424a3b 100644 --- a/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts +++ b/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts @@ -2,6 +2,11 @@ import type { ModelSelection } from "../../types/messages" import type { EnrichedModel } from "../../context/provider" export const KILO_GATEWAY_ID = "kilo" +export const KILO_AUTO_SMALL_IDS = new Set(["kilo-auto/small", "kilo/auto-small"]) + +export function isSmall(model: Pick): boolean { + return model.providerID === KILO_GATEWAY_ID && KILO_AUTO_SMALL_IDS.has(model.id) +} export const PROVIDER_ORDER = [KILO_GATEWAY_ID, "anthropic", "openai", "google"] From 41ef589704f161a500240d55624121bb2bee3ef6 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 18 Mar 2026 08:59:40 -0400 Subject: [PATCH 2/3] Update packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com> --- .../webview-ui/src/components/shared/model-selector-utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts b/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts index 67833424a3b..0da86e58d88 100644 --- a/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts +++ b/packages/kilo-vscode/webview-ui/src/components/shared/model-selector-utils.ts @@ -2,7 +2,7 @@ import type { ModelSelection } from "../../types/messages" import type { EnrichedModel } from "../../context/provider" export const KILO_GATEWAY_ID = "kilo" -export const KILO_AUTO_SMALL_IDS = new Set(["kilo-auto/small", "kilo/auto-small"]) +export const KILO_AUTO_SMALL_IDS = new Set(["kilo-auto/small", "auto-small"]) export function isSmall(model: Pick): boolean { return model.providerID === KILO_GATEWAY_ID && KILO_AUTO_SMALL_IDS.has(model.id) From 8386494c22b01979c48d86c0ea0eb68b03233d34 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 18 Mar 2026 13:01:51 +0000 Subject: [PATCH 3/3] chore: update kilo-vscode visual regression baselines --- .../config-preloaded-expanded-chromium-linux.png | 4 ++-- .../permission-dock-config-preloaded-chromium-linux.png | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/kilo-vscode/tests/permission-dock-dropdown.spec.ts-snapshots/permission-dock-dropdown/config-preloaded-expanded-chromium-linux.png b/packages/kilo-vscode/tests/permission-dock-dropdown.spec.ts-snapshots/permission-dock-dropdown/config-preloaded-expanded-chromium-linux.png index 341c97f5262..8c1c3dd01fb 100644 --- a/packages/kilo-vscode/tests/permission-dock-dropdown.spec.ts-snapshots/permission-dock-dropdown/config-preloaded-expanded-chromium-linux.png +++ b/packages/kilo-vscode/tests/permission-dock-dropdown.spec.ts-snapshots/permission-dock-dropdown/config-preloaded-expanded-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc81b3e1762b6a8f2b1b9708ca548042ae019cd4fb0d34ccbe53b3ee204047e6 -size 18145 +oid sha256:976aadfcbbd73aa54848a99928bef7d8f52e45e83cf245a84f33f2556ece71d0 +size 18432 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-config-preloaded-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-config-preloaded-chromium-linux.png index f333bde8d1c..2ae1f21dab6 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-config-preloaded-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/composite-webview/permission-dock-config-preloaded-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cf3791372e3e69fd759f2596e72211c982e8694990103c178f1aed0c59229f1 -size 16139 +oid sha256:7701ac85943cc6d85964b26c4c575c17bd7a1dc6fc7a2714780bfb3f64e3b192 +size 16441