mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-29 09:37:37 +08:00
feat(opencode): add provider presets and fix preset selection handler
- Add 19 new provider presets for OpenCode (cn_official, aggregator, third_party) - Add OpenCode handling branch in handlePresetChange to properly populate form fields (baseURL, apiKey, npm, models) when selecting a preset - Add OpenCode reset logic in custom mode branch
This commit is contained in:
@@ -877,6 +877,13 @@ export function ProviderForm({
|
||||
if (appId === "gemini") {
|
||||
resetGeminiConfig({}, {});
|
||||
}
|
||||
// OpenCode 自定义模式:重置为空配置
|
||||
if (appId === "opencode") {
|
||||
setOpencodeNpm("@ai-sdk/openai-compatible");
|
||||
setOpencodeBaseUrl("");
|
||||
setOpencodeApiKey("");
|
||||
setOpencodeModels({});
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -930,6 +937,28 @@ export function ProviderForm({
|
||||
return;
|
||||
}
|
||||
|
||||
// OpenCode preset handling
|
||||
if (appId === "opencode") {
|
||||
const preset = entry.preset as OpenCodeProviderPreset;
|
||||
const config = preset.settingsConfig;
|
||||
|
||||
// Update OpenCode-specific states
|
||||
setOpencodeNpm(config.npm || "@ai-sdk/openai-compatible");
|
||||
setOpencodeBaseUrl(config.options?.baseURL || "");
|
||||
setOpencodeApiKey(config.options?.apiKey || "");
|
||||
setOpencodeModels(config.models || {});
|
||||
|
||||
// Update form fields
|
||||
form.reset({
|
||||
name: preset.name,
|
||||
websiteUrl: preset.websiteUrl ?? "",
|
||||
settingsConfig: JSON.stringify(config, null, 2),
|
||||
icon: preset.icon ?? "",
|
||||
iconColor: preset.iconColor ?? "",
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const preset = entry.preset as ProviderPreset;
|
||||
const config = applyTemplateValues(
|
||||
preset.settingsConfig,
|
||||
|
||||
Reference in New Issue
Block a user