diff --git a/frontend/src/components/workspace/input-box.tsx b/frontend/src/components/workspace/input-box.tsx index 158f61a..0c28673 100644 --- a/frontend/src/components/workspace/input-box.tsx +++ b/frontend/src/components/workspace/input-box.tsx @@ -72,10 +72,18 @@ export function InputBox({ const { t } = useI18n(); const [modelDialogOpen, setModelDialogOpen] = useState(false); const { models } = useModels(); - const selectedModel = useMemo( - () => models.find((m) => m.name === context.model_name), - [context.model_name, models], - ); + const selectedModel = useMemo(() => { + if (!context.model_name && models.length > 0) { + setTimeout(() => { + onContextChange?.({ + ...context, + model_name: models[0]!.name, + }); + }, 0); + return models[0]!; + } + return models.find((m) => m.name === context.model_name); + }, [context, models, onContextChange]); const supportThinking = useMemo( () => selectedModel?.supports_thinking ?? false, [selectedModel], diff --git a/frontend/src/core/models/hooks.ts b/frontend/src/core/models/hooks.ts index 4c96946..0627593 100644 --- a/frontend/src/core/models/hooks.ts +++ b/frontend/src/core/models/hooks.ts @@ -2,10 +2,11 @@ import { useQuery } from "@tanstack/react-query"; import { loadModels } from "./api"; -export function useModels() { +export function useModels({ enabled = true }: { enabled?: boolean } = {}) { const { data, isLoading, error } = useQuery({ queryKey: ["models"], queryFn: () => loadModels(), + enabled, }); return { models: data ?? [], isLoading, error }; } diff --git a/frontend/src/core/settings/local.ts b/frontend/src/core/settings/local.ts index 34ed995..7f8af3d 100644 --- a/frontend/src/core/settings/local.ts +++ b/frontend/src/core/settings/local.ts @@ -2,9 +2,9 @@ import type { AgentThreadContext } from "../threads"; export const DEFAULT_LOCAL_SETTINGS: LocalSettings = { context: { - model_name: "deepseek-v3.2", + model_name: undefined, thinking_enabled: true, - is_plan_mode: false, + is_plan_mode: true, }, layout: { sidebar_collapsed: false, diff --git a/frontend/src/core/threads/types.ts b/frontend/src/core/threads/types.ts index 5d4bc43..90232ba 100644 --- a/frontend/src/core/threads/types.ts +++ b/frontend/src/core/threads/types.ts @@ -14,7 +14,7 @@ export interface AgentThread extends Thread {} export interface AgentThreadContext extends Record { thread_id: string; - model_name: string; + model_name: string | undefined; thinking_enabled: boolean; is_plan_mode: boolean; }