diff --git a/src/components/providers/forms/ProviderForm.tsx b/src/components/providers/forms/ProviderForm.tsx index e2258e8ff..c05dd38b3 100644 --- a/src/components/providers/forms/ProviderForm.tsx +++ b/src/components/providers/forms/ProviderForm.tsx @@ -1139,6 +1139,14 @@ export function ProviderForm({ preset.templateValues, ); + // Sync preset's apiFormat to local state (for Claude providers) + if (preset.apiFormat) { + setLocalApiFormat(preset.apiFormat); + } else { + // Reset to default if preset doesn't specify apiFormat + setLocalApiFormat("anthropic"); + } + form.reset({ name: preset.name, websiteUrl: preset.websiteUrl ?? "", diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index bb6abc479..0b117c4ac 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -43,6 +43,11 @@ export interface ProviderPreset { // 图标配置 icon?: string; // 图标名称 iconColor?: string; // 图标颜色 + + // Claude API 格式(仅 Claude 供应商使用) + // - "anthropic" (默认): Anthropic Messages API 格式,直接透传 + // - "openai_chat": OpenAI Chat Completions 格式,需要格式转换 + apiFormat?: "anthropic" | "openai_chat"; } export const providerPresets: ProviderPreset[] = [