mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-24 16:02:55 +08:00
Merge pull request #7197 from Kilo-Org/kirillk/no-small-model
feat(vscode): filter kilo-auto/small from model picker by default in the extension
This commit is contained in:
@@ -108,6 +108,7 @@ const ProvidersTab: Component = () => {
|
||||
placement="bottom-start"
|
||||
allowClear
|
||||
clearLabel={language.t("settings.providers.notSet")}
|
||||
includeAutoSmall
|
||||
/>
|
||||
</SettingsRow>
|
||||
</Card>
|
||||
|
||||
@@ -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<ModelSelectorBaseProps> = (props) => {
|
||||
@@ -52,10 +54,14 @@ export const ModelSelectorBase: Component<ModelSelectorBaseProps> = (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
|
||||
|
||||
@@ -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", "auto-small"])
|
||||
|
||||
export function isSmall(model: Pick<EnrichedModel, "providerID" | "id">): boolean {
|
||||
return model.providerID === KILO_GATEWAY_ID && KILO_AUTO_SMALL_IDS.has(model.id)
|
||||
}
|
||||
|
||||
export const PROVIDER_ORDER = [KILO_GATEWAY_ID, "anthropic", "openai", "google"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user