diff --git a/src/components/ModelPicker.tsx b/src/components/ModelPicker.tsx index 552fb26..51e63c4 100644 --- a/src/components/ModelPicker.tsx +++ b/src/components/ModelPicker.tsx @@ -26,6 +26,7 @@ import { useLanguageModelProviders } from "@/hooks/useLanguageModelProviders"; import { useSettings } from "@/hooks/useSettings"; import { PriceBadge } from "@/components/PriceBadge"; import { TURBO_MODELS } from "@/ipc/shared/language_model_constants"; +import { cn } from "@/lib/utils"; export function ModelPicker() { const { settings, updateSettings } = useSettings(); @@ -112,7 +113,7 @@ export function ModelPicker() { if ( settings && !isDyadProEnabled(settings) && - model.apiName === "turbo" + ["turbo", "value"].includes(model.apiName) ) { return false; } @@ -237,13 +238,19 @@ export function ModelPicker() {
- {isSmartAutoEnabled && ( - - Pro only - - )} + {isSmartAutoEnabled && + !model.displayName.includes("(Pro)") && ( + + Pro only + + )} {model.tag && ( - + {model.tag} )} diff --git a/src/ipc/ipc_types.ts b/src/ipc/ipc_types.ts index 2005eea..d603618 100644 --- a/src/ipc/ipc_types.ts +++ b/src/ipc/ipc_types.ts @@ -186,6 +186,7 @@ export type LanguageModel = displayName: string; description: string; tag?: string; + tagColor?: string; maxOutputTokens?: number; contextWindow?: number; temperature?: number; @@ -197,6 +198,7 @@ export type LanguageModel = displayName: string; description: string; tag?: string; + tagColor?: string; maxOutputTokens?: number; contextWindow?: number; temperature?: number; diff --git a/src/ipc/shared/language_model_constants.ts b/src/ipc/shared/language_model_constants.ts index be3945a..6ba80d5 100644 --- a/src/ipc/shared/language_model_constants.ts +++ b/src/ipc/shared/language_model_constants.ts @@ -13,6 +13,7 @@ export interface ModelOption { dollarSigns?: number; temperature?: number; tag?: string; + tagColor?: string; maxOutputTokens?: number; contextWindow?: number; } @@ -249,6 +250,18 @@ export const MODEL_OPTIONS: Record = { maxOutputTokens: 32_000, contextWindow: 256_000, temperature: 0, + tag: "Fast", + tagColor: "bg-rose-800 text-white", + }, + { + name: "value", + displayName: "Super Value (Pro)", + description: "Uses the most cost-effective models available", + maxOutputTokens: 32_000, + contextWindow: 256_000, + temperature: 0, + tag: "Budget", + tagColor: "bg-emerald-700 text-white", }, ], azure: [