- {/* Provider Select */}
-
-
-
- {/* Template provider form */}
- {isProviderSelected && currentTemplate && (
- <>
- {/* Model Select from template */}
-
-
-
-
- {/* API Key */}
-
-
- {
- resetRemoteModelDiscovery();
- setApiKey(e.target.value);
- setTestStatus('idle');
- setTestError('');
- setTestNotice('');
- }}
- />
- {currentTemplate.helpUrl && (
-
- )}
-
-
- {/* Base URL (pre-filled, editable) */}
-
-
- {currentTemplate.baseUrlOptions && currentTemplate.baseUrlOptions.length > 0 ? (
-
- >
- )}
-
- {/* Custom provider form */}
- {isProviderSelected && selectedProviderId === 'custom' && (
- <>
- {/* Base URL */}
-
-
- {
- resetRemoteModelDiscovery();
- setBaseUrl(e.target.value);
- setTestStatus('idle');
- setTestError('');
- setTestNotice('');
- }}
- />
-
-
- {/* Model Name (text input) */}
-
-
-
-
- {/* API Key */}
-
-
- {
- resetRemoteModelDiscovery();
- setApiKey(e.target.value);
- setTestStatus('idle');
- setTestError('');
- setTestNotice('');
- }}
- />
-
-
- {/* API Format */}
-
-
- >
- )}
-
- {/* Advanced Settings (collapsed by default, only for custom or moonshot) */}
- {isProviderSelected && (selectedProviderId === 'custom' || selectedProviderId === 'moonshot') && (
-
-
-
- {showAdvancedSettings && (
-
- {/* Skip SSL Verify (custom only) */}
- {selectedProviderId === 'custom' && (
-
-
setSkipSslVerify(e.target.checked)}
- />
- {skipSslVerify && (
-
-
-
{tAiModel('advancedSettings.skipSslVerify.warning')}
-
- )}
-
- )}
-
- {/* Custom Headers (custom only) */}
- {selectedProviderId === 'custom' && (
-
- )}
-
- {/* Custom Request Body */}
-
-
-
- {t('model.advanced.customRequestBodyHint')}
-
-
-
- )}
-
- )}
-
- {/* Test Connection Button */}
- {isProviderSelected && (
- <>
-
- {renderTestButton()}
-
-
- {/* Error message */}
- {testStatus === 'error' && testError && (
-
- {testError}
-
- )}
-
- {testStatus === 'success' && testNotice && (
-
- )}
- >
- )}
-
- {/* Skip for now */}
-
-