diff --git a/src/components/providers/forms/ProviderForm.tsx b/src/components/providers/forms/ProviderForm.tsx index 6171bd0..930f40d 100644 --- a/src/components/providers/forms/ProviderForm.tsx +++ b/src/components/providers/forms/ProviderForm.tsx @@ -26,7 +26,7 @@ import { applyTemplateValues } from "@/utils/providerConfigUtils"; import ApiKeyInput from "@/components/ProviderForm/ApiKeyInput"; import EndpointSpeedTest from "@/components/ProviderForm/EndpointSpeedTest"; import { Zap } from "lucide-react"; -import { useProviderCategory, useApiKeyState, useBaseUrlState } from "./hooks"; +import { useProviderCategory, useApiKeyState, useBaseUrlState, useModelState } from "./hooks"; const CLAUDE_DEFAULT_CONFIG = JSON.stringify({ env: {}, config: {} }, null, 2); const CODEX_DEFAULT_CONFIG = JSON.stringify({ auth: {}, config: "" }, null, 2); @@ -123,6 +123,12 @@ export function ProviderForm({ }, }); + // 使用 Model hook + const { claudeModel, claudeSmallFastModel, handleModelChange } = useModelState({ + settingsConfig: form.watch("settingsConfig"), + onConfigChange: (config) => form.setValue("settingsConfig", config), + }); + useEffect(() => { form.reset(defaultValues); }, [defaultValues, form]); @@ -406,6 +412,54 @@ export function ProviderForm({ /> )} + {/* 模型选择器(仅 Claude 非官方供应商显示) */} + {appType === "claude" && category !== "official" && ( +
+ {t("providerForm.modelHelper", { + defaultValue: "可选:指定默认使用的 Claude 模型,留空则使用系统默认。", + })} +
+